Skip to content
Snippets Groups Projects
Commit 83ea939e authored by Christoph Lehmann's avatar Christoph Lehmann
Browse files

Changed dimension from argument to template parameter

parent 1eec8516
No related branches found
No related tags found
No related merge requests found
......@@ -209,7 +209,7 @@ void LargeDeformationProcess<DisplacementDim>::computeSecondaryVariableConcrete(
&LocalAssemblerInterface::computeSecondaryVariable, _local_assemblers,
pv.getActiveElementIDs(), dof_tables, t, dt, x, x_prev, process_id);
computeCellAverages(cell_average_data_, DisplacementDim, _local_assemblers);
computeCellAverages<DisplacementDim>(cell_average_data_, _local_assemblers);
}
template class LargeDeformationProcess<2>;
template class LargeDeformationProcess<3>;
......
......@@ -41,10 +41,9 @@ void computeCellAverages(CellAverageData& cell_average_data,
}
} // namespace detail
template <typename LAIntf>
template <int dim, typename LAIntf>
void computeCellAverages(
CellAverageData& cell_average_data,
int const dim,
std::vector<std::unique_ptr<LAIntf>> const& local_assemblers)
{
auto const callback = [&cell_average_data, &local_assemblers](
......@@ -57,24 +56,8 @@ void computeCellAverages(
local_assemblers);
};
if (dim == 2)
{
ProcessLib::Reflection::forEachReflectedFlattenedIPDataAccessor<2,
LAIntf>(
LAIntf::getReflectionDataForOutput(), callback);
}
else if (dim == 3)
{
ProcessLib::Reflection::forEachReflectedFlattenedIPDataAccessor<3,
LAIntf>(
LAIntf::getReflectionDataForOutput(), callback);
}
else
{
OGS_FATAL(
"Generic averaged output is only implemented for dimensions 2 "
"and 3 ATM. You requested dim = {}.",
dim);
}
ProcessLib::Reflection::forEachReflectedFlattenedIPDataAccessor<dim,
LAIntf>(
LAIntf::getReflectionDataForOutput(), callback);
}
} // namespace ProcessLib
......@@ -218,7 +218,7 @@ void SmallDeformationProcess<DisplacementDim>::computeSecondaryVariableConcrete(
&LocalAssemblerInterface::computeSecondaryVariable, _local_assemblers,
pv.getActiveElementIDs(), dof_tables, t, dt, x, x_prev, process_id);
computeCellAverages(cell_average_data_, DisplacementDim, _local_assemblers);
computeCellAverages<DisplacementDim>(cell_average_data_, _local_assemblers);
}
template class SmallDeformationProcess<2>;
template class SmallDeformationProcess<3>;
......
......@@ -318,7 +318,7 @@ void TH2MProcess<DisplacementDim>::computeSecondaryVariableConcrete(
local_assemblers_, pv.getActiveElementIDs(), getDOFTables(x.size()), t,
dt, x, x_prev, process_id);
computeCellAverages(cell_average_data_, DisplacementDim, local_assemblers_);
computeCellAverages<DisplacementDim>(cell_average_data_, local_assemblers_);
}
template <int DisplacementDim>
......
......@@ -288,7 +288,7 @@ void ThermoRichardsMechanicsProcess<DisplacementDim, ConstitutiveTraits>::
pv.getActiveElementIDs(), getDOFTables(x.size()), t, dt, x, x_prev,
process_id);
computeCellAverages(cell_average_data_, DisplacementDim, local_assemblers_);
computeCellAverages<DisplacementDim>(cell_average_data_, local_assemblers_);
}
template <int DisplacementDim, typename ConstitutiveTraits>
......
......@@ -818,7 +818,7 @@ TYPED_TEST(ProcessLib_ReflectIPData, CellAverageTest)
// function under test /////////////////////////////////////////////////////
ProcessLib::CellAverageData cell_average_data{*mesh};
computeCellAverages(cell_average_data, dim, loc_asms);
computeCellAverages<dim>(cell_average_data, loc_asms);
// checks //////////////////////////////////////////////////////////////////
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment