OGS
|
Namespaces | |
namespace | detail |
Classes | |
struct | ReflectionData |
Functions | |
template<typename Class , typename Accessor > | |
auto | makeReflectionData (Accessor &&accessor) |
template<typename Class , typename Accessor > | |
auto | makeReflectionData (std::string name, Accessor &&accessor) |
template<typename Class , typename Member > | |
auto | makeReflectionData (Member Class::*member) |
template<typename Class , typename Member > | |
auto | makeReflectionData (std::string name, Member Class::*member) |
template<typename Class , typename Member > | |
auto | reflectWithName (std::string name, Member Class::*member) |
template<typename Class , typename... Accessors> | |
auto | reflectWithoutName (Accessors &&... accessors) |
template<typename Class , typename... Members> | |
auto | reflectWithoutName (Members Class::*... members) |
template<int Dim, typename LocAsmIF , typename ReflData > | |
void | addReflectedSecondaryVariables (ReflData const &reflection_data, SecondaryVariableCollection &secondary_variables, NumLib::Extrapolator &extrapolator, std::vector< std::unique_ptr< LocAsmIF > > const &local_assemblers) |
template<int Dim, typename LocAsmIF , typename ReflData > | |
void | addReflectedIntegrationPointWriters (ReflData const &reflection_data, std::vector< std::unique_ptr< MeshLib::IntegrationPointWriter > > &integration_point_writers, unsigned const integration_order, std::vector< std::unique_ptr< LocAsmIF > > const &local_assemblers) |
template<int Dim, typename LocAsmIF , typename Callback , typename ReflData > | |
void | forEachReflectedFlattenedIPDataAccessor (ReflData const &reflection_data, Callback const &callback) |
template<int dim, typename IPData > | |
std::size_t | reflectSetIPData (std::string_view const name, double const *values, std::vector< IPData > &ip_data_vector) |
void ProcessLib::Reflection::addReflectedIntegrationPointWriters | ( | ReflData const & | reflection_data, |
std::vector< std::unique_ptr< MeshLib::IntegrationPointWriter > > & | integration_point_writers, | ||
unsigned const | integration_order, | ||
std::vector< std::unique_ptr< LocAsmIF > > const & | local_assemblers ) |
Adds IP data writers for all IP data obtained recursively from the given reflection_data
to the given IP writer vector.
Definition at line 21 of file ReflectionForIPWriters.h.
References forEachReflectedFlattenedIPDataAccessor().
Referenced by ProcessLib::LargeDeformation::LargeDeformationProcess< DisplacementDim >::LargeDeformationProcess(), ProcessLib::RichardsMechanics::RichardsMechanicsProcess< DisplacementDim >::RichardsMechanicsProcess(), and ProcessLib::SmallDeformation::SmallDeformationProcess< DisplacementDim >::SmallDeformationProcess().
void ProcessLib::Reflection::addReflectedSecondaryVariables | ( | ReflData const & | reflection_data, |
SecondaryVariableCollection & | secondary_variables, | ||
NumLib::Extrapolator & | extrapolator, | ||
std::vector< std::unique_ptr< LocAsmIF > > const & | local_assemblers ) |
Adds secondary variables for all IP data obtained recursively from the given reflection_data
to the given secondary variable collection.
Definition at line 21 of file ReflectionForExtrapolation.h.
References ProcessLib::SecondaryVariableCollection::addSecondaryVariable(), forEachReflectedFlattenedIPDataAccessor(), and ProcessLib::makeExtrapolator2().
Referenced by ProcessLib::LargeDeformation::LargeDeformationProcess< DisplacementDim >::initializeConcreteProcess(), ProcessLib::RichardsMechanics::RichardsMechanicsProcess< DisplacementDim >::initializeConcreteProcess(), ProcessLib::SmallDeformation::SmallDeformationProcess< DisplacementDim >::initializeConcreteProcess(), ProcessLib::TH2M::TH2MProcess< DisplacementDim >::initializeConcreteProcess(), and ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsProcess< DisplacementDim, ConstitutiveTraits >::initializeConcreteProcess().
void ProcessLib::Reflection::forEachReflectedFlattenedIPDataAccessor | ( | ReflData const & | reflection_data, |
Callback const & | callback ) |
Calls the passed callback
for each IP data accessor for the given LocAsmIF
class.
The IP data accessors are obtained via reflection (i.e., via the static reflect()
method.
The IP data accessors provide IP data as a flat std::vector<double>
.
The callback
must accept name, number of components and a function object with signature LocAsmIF const& -> std::vector<double>
as its arguments.
Definition at line 456 of file ReflectionIPData.h.
References ProcessLib::Reflection::ReflectionData< Class, Accessor >::accessor, ProcessLib::Reflection::detail::forEachReflectedFlattenedIPDataAccessor(), ProcessLib::Reflection::detail::getFlattenedIPDataFromLocAsm(), ProcessLib::Reflection::detail::is_raw_data_v, ProcessLib::Reflection::ReflectionData< Class, Accessor >::name, and ProcessLib::Reflection::detail::reflect().
Referenced by addReflectedIntegrationPointWriters(), addReflectedSecondaryVariables(), and ProcessLib::computeCellAverages().
auto ProcessLib::Reflection::makeReflectionData | ( | Accessor && | accessor | ) |
Definition at line 51 of file ReflectionData.h.
Referenced by makeReflectionData(), makeReflectionData(), ProcessLib::LargeDeformation::DeformationGradientData< DisplacementDim >::reflect(), ProcessLib::Reflection::detail::reflect(), reflectWithName(), reflectWithoutName(), and reflectWithoutName().
auto ProcessLib::Reflection::makeReflectionData | ( | Member Class::* | member | ) |
Definition at line 65 of file ReflectionData.h.
References makeReflectionData().
auto ProcessLib::Reflection::makeReflectionData | ( | std::string | name, |
Accessor && | accessor ) |
Definition at line 58 of file ReflectionData.h.
auto ProcessLib::Reflection::makeReflectionData | ( | std::string | name, |
Member Class::* | member ) |
Definition at line 72 of file ReflectionData.h.
References makeReflectionData().
std::size_t ProcessLib::Reflection::reflectSetIPData | ( | std::string_view const | name, |
double const * | values, | ||
std::vector< IPData > & | ip_data_vector ) |
Sets integration point data for the property with the given name
to the passed values
.
Possible candidate properties are obtained from IPData
via some sort of reflection.
Definition at line 170 of file ReflectionSetIPData.h.
References ProcessLib::Reflection::detail::reflect(), and ProcessLib::Reflection::detail::reflectSetIPData().
Referenced by ProcessLib::LargeDeformation::LargeDeformationLocalAssemblerInterface< DisplacementDim >::setIPDataInitialConditions(), ProcessLib::RichardsMechanics::LocalAssemblerInterface< DisplacementDim >::setIPDataInitialConditions(), ProcessLib::SmallDeformation::SmallDeformationLocalAssemblerInterface< DisplacementDim >::setIPDataInitialConditions(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::setIPDataInitialConditions(), and ProcessLib::ThermoRichardsMechanics::LocalAssemblerInterface< DisplacementDim, ConstitutiveTraits >::setIPDataInitialConditions().
auto ProcessLib::Reflection::reflectWithName | ( | std::string | name, |
Member Class::* | member ) |
Definition at line 79 of file ReflectionData.h.
References makeReflectionData().
Referenced by ProcessLib::ConstitutiveRelations::StrainData< DisplacementDim >::reflect(), ProcessLib::ConstitutiveRelations::StressData< DisplacementDim >::reflect(), ProcessLib::SmallDeformation::FreeEnergyDensityData::reflect(), ProcessLib::TH2M::ConstitutiveRelations::SaturationData::reflect(), ProcessLib::TH2M::ConstitutiveRelations::SwellingDataStateful< DisplacementDim >::reflect(), ProcessLib::TH2M::ConstitutiveRelations::TotalStressData< DisplacementDim >::reflect(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::EffectiveStressData< DisplacementDim >::reflect(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::MechanicalStrainData< DisplacementDim >::reflect(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::SwellingDataStateful< DisplacementDim >::reflect(), ProcessLib::ThermoRichardsMechanics::LiquidDensityData::reflect(), ProcessLib::ThermoRichardsMechanics::PorosityData::reflect(), ProcessLib::ThermoRichardsMechanics::SaturationData::reflect(), ProcessLib::ThermoRichardsMechanics::SolidDensityData::reflect(), ProcessLib::ThermoRichardsMechanics::TotalStressData< DisplacementDim >::reflect(), and ProcessLib::ThermoRichardsMechanics::TransportPorosityData::reflect().
auto ProcessLib::Reflection::reflectWithoutName | ( | Accessors &&... | accessors | ) |
Definition at line 85 of file ReflectionData.h.
References makeReflectionData().
Referenced by ProcessLib::LargeDeformation::LargeDeformationLocalAssemblerInterface< DisplacementDim >::getReflectionDataForOutput(), ProcessLib::RichardsMechanics::LocalAssemblerInterface< DisplacementDim >::getReflectionDataForOutput(), ProcessLib::SmallDeformation::SmallDeformationLocalAssemblerInterface< DisplacementDim >::getReflectionDataForOutput(), ProcessLib::TH2M::LocalAssemblerInterface< DisplacementDim >::getReflectionDataForOutput(), ProcessLib::ThermoRichardsMechanics::LocalAssemblerInterface< DisplacementDim, ConstitutiveTraits >::getReflectionDataForOutput(), ProcessLib::LargeDeformation::ConstitutiveRelations::OutputData< DisplacementDim >::reflect(), ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulData< DisplacementDim >::reflect(), ProcessLib::Reflection::detail::reflect(), ProcessLib::SmallDeformation::ConstitutiveRelations::OutputData< DisplacementDim >::reflect(), ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulData< DisplacementDim >::reflect(), ProcessLib::TH2M::ConstitutiveRelations::OutputData< DisplacementDim >::reflect(), and ProcessLib::TH2M::ConstitutiveRelations::StatefulData< DisplacementDim >::reflect().
auto ProcessLib::Reflection::reflectWithoutName | ( | Members Class::*... | members | ) |
Definition at line 92 of file ReflectionData.h.
References makeReflectionData().