OGS
ReflectionForExtrapolation.h
Go to the documentation of this file.
1
11#pragma once
12
14#include "ReflectionIPData.h"
15
17{
20template <int Dim, typename LocAsmIF, typename ReflData>
22 ReflData const& reflection_data,
23 SecondaryVariableCollection& secondary_variables,
24 NumLib::Extrapolator& extrapolator,
25 std::vector<std::unique_ptr<LocAsmIF>> const& local_assemblers)
26{
27 forEachReflectedFlattenedIPDataAccessor<Dim, LocAsmIF>(
28 reflection_data,
29 [&secondary_variables, &local_assemblers, &extrapolator](
30 std::string const& name,
31 unsigned const num_comp,
32 auto&& flattened_ip_data_accessor)
33 {
34 secondary_variables.addSecondaryVariable(
35 name,
36 makeExtrapolator2(num_comp, extrapolator, local_assemblers,
37 flattened_ip_data_accessor));
38 });
39}
40} // namespace ProcessLib::Reflection
Handles configuration of several secondary variables from the project file.
void addSecondaryVariable(std::string const &internal_name, SecondaryVariableFunctions &&fcts)
void addReflectedSecondaryVariables(ReflData const &reflection_data, SecondaryVariableCollection &secondary_variables, NumLib::Extrapolator &extrapolator, std::vector< std::unique_ptr< LocAsmIF > > const &local_assemblers)
SecondaryVariableFunctions makeExtrapolator2(const unsigned num_components, NumLib::Extrapolator &extrapolator, LocalAssemblerCollection const &local_assemblers, IPDataAccessor &&accessor)