Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MappingFEField: Remove update_JxW_values for Piola transform #15287

Merged
merged 2 commits into from Jun 1, 2023

Conversation

bergbauer
Copy link
Contributor

The comment seems outdated, see

case mapping_piola:
{
Assert(
data.update_each & update_contravariant_transformation,
typename FEValuesBase<dim>::ExcAccessToUninitializedField(
"update_contravariant_transformation"));
Assert(
data.update_each & update_volume_elements,
typename FEValuesBase<dim>::ExcAccessToUninitializedField(
"update_volume_elements"));
Assert(rank == 1, ExcMessage("Only for rank 1"));
for (unsigned int i = 0; i < output.size(); ++i)
{
output[i] =
apply_transformation(data.contravariant[i], input[i]);
output[i] /= data.volume_elements[i];
}
return;
}
where update_volume_elements is used and the contravariant transformation
if (update_flags & update_contravariant_transformation)
{
const unsigned int n_q_points = data.contravariant.size();
Assert(data.n_shape_functions > 0, ExcInternalError());
for (unsigned int point = 0; point < n_q_points; ++point)
{
const Tensor<1, dim> *data_derv =
&data.derivative(point + data_set, 0);
Tensor<1, dim> result[spacedim];
for (unsigned int k = 0; k < data.n_shape_functions; ++k)
{
const unsigned int comp_k =
fe.system_to_component_index(k).first;
if (fe_mask[comp_k])
result[fe_to_real[comp_k]] +=
data.local_dof_values[k] * data_derv[k];
}
// write result into contravariant data
for (unsigned int i = 0; i < spacedim; ++i)
{
data.contravariant[point][i] = result[i];
}
}
}

We should not set update_JxW_values when not necessary. Preparation for #15281

@kronbichler
Copy link
Member

/rebuild

@kronbichler kronbichler merged commit d987402 into dealii:master Jun 1, 2023
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants