MGIS
Loading...
Searching...
No Matches
MaterialFunctionManager.hxx File Reference
#include <memory>
#include <optional>
#include <string_view>
#include "MGIS/Config.hxx"
#include "MGIS/Contract.hxx"
#include "MGIS/Function/SpaceConcept.hxx"
#include "MGIS/Function/SharedSpace.hxx"
#include "MGIS/Function/Function.hxx"
#include "MGIS/Behaviour/MaterialDataManager.hxx"
#include "MGIS/Behaviour/MaterialFunctionManager.ixx"

Classes

struct  mgis::behaviour::MaterialFunctionManager< SpaceType >
 a simple wrapper around the MaterialDataManager class More...
 

Namespaces

namespace  mgis
 the namespace mgis encloses all the MGIS project.
 

Enumerations

enum  TimeStepStage { BEGINNING_OF_TIME_STEP , END_OF_TIME_STEP }
 

Functions

template<mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType > > > mgis::behaviour::getGradient (AbstractErrorHandler &, MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the gradient associated with the given name
 
template<mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, mgis::function::FunctionDataLayoutDescription{}, false > > mgis::behaviour::getGradient (AbstractErrorHandler &, const MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the gradient associated with the given name
 
template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N > > > mgis::behaviour::getGradient (AbstractErrorHandler &, MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the gradient associated with the given name
 
template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N >, false > > mgis::behaviour::getGradient (AbstractErrorHandler &, const MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the gradient associated with the given name
 
template<mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType > > > mgis::behaviour::getThermodynamicForce (AbstractErrorHandler &, MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the thermodynamic force associated with the given name
 
template<mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, mgis::function::FunctionDataLayoutDescription{}, false > > mgis::behaviour::getThermodynamicForce (AbstractErrorHandler &, const MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the thermodynamic force associated with the given name
 
template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N > > > mgis::behaviour::getThermodynamicForce (AbstractErrorHandler &, MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the thermodynamic force associated with the given name
 
template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N >, false > > mgis::behaviour::getThermodynamicForce (AbstractErrorHandler &, const MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the thermodynamic force associated with the given name
 
template<mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType > > > mgis::behaviour::getInternalStateVariable (AbstractErrorHandler &, MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the internal state variable associated with the given name
 
template<mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, mgis::function::FunctionDataLayoutDescription{}, false > > mgis::behaviour::getInternalStateVariable (AbstractErrorHandler &, const MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the internal state variable associated with the given name
 
template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N > > > mgis::behaviour::getInternalStateVariable (AbstractErrorHandler &, MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the internal state variable associated with the given name
 
template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N >, false > > mgis::behaviour::getInternalStateVariable (AbstractErrorHandler &, const MaterialFunctionManager< SpaceType > &, std::string_view, const TimeStepStage=ets)
 return the internal state variable associated with the given name
 

Variables

constexpr auto mgis::behaviour::bts = TimeStepStage::BEGINNING_OF_TIME_STEP
 
constexpr auto mgis::behaviour::ets = TimeStepStage::END_OF_TIME_STEP
 
template<size_type N>
constexpr auto mgis::behaviour::fixed_size_dynamic_stride_data_layout_description
 

Detailed Description

Author
Thomas Helfer
Date
02/07/2025

Function Documentation

◆ getGradient() [1/4]

std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, mgis::function::FunctionDataLayoutDescription{}, false > > mgis::behaviour::getGradient ( AbstractErrorHandler eh,
const MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the gradient associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the gradient
[in]tstime step stage

◆ getGradient() [2/4]

template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N >, false > > mgis::behaviour::getGradient ( AbstractErrorHandler eh,
const MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the gradient associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the gradient
[in]tstime step stage

◆ getGradient() [3/4]

std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType > > > mgis::behaviour::getGradient ( AbstractErrorHandler eh,
MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the gradient associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the gradient
[in]tstime step stage

◆ getGradient() [4/4]

template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N > > > mgis::behaviour::getGradient ( AbstractErrorHandler eh,
MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the gradient associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the gradient
[in]tstime step stage

◆ getInternalStateVariable() [1/4]

std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, mgis::function::FunctionDataLayoutDescription{}, false > > mgis::behaviour::getInternalStateVariable ( AbstractErrorHandler eh,
const MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the internal state variable associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the internal state variable
[in]tstime step stage

◆ getInternalStateVariable() [2/4]

template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N >, false > > mgis::behaviour::getInternalStateVariable ( AbstractErrorHandler eh,
const MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the internal state variable associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the internal state variable
[in]tstime step stage

◆ getInternalStateVariable() [3/4]

std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType > > > mgis::behaviour::getInternalStateVariable ( AbstractErrorHandler eh,
MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the internal state variable associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the internal state variable
[in]tstime step stage

◆ getInternalStateVariable() [4/4]

template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N > > > mgis::behaviour::getInternalStateVariable ( AbstractErrorHandler eh,
MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the internal state variable associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the internal state variable
[in]tstime step stage

◆ getThermodynamicForce() [1/4]

std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, mgis::function::FunctionDataLayoutDescription{}, false > > mgis::behaviour::getThermodynamicForce ( AbstractErrorHandler eh,
const MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the thermodynamic force associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the thermodynamic force
[in]tstime step stage

◆ getThermodynamicForce() [2/4]

template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N >, false > > mgis::behaviour::getThermodynamicForce ( AbstractErrorHandler eh,
const MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the thermodynamic force associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the thermodynamic force
[in]tstime step stage

◆ getThermodynamicForce() [3/4]

std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType > > > mgis::behaviour::getThermodynamicForce ( AbstractErrorHandler eh,
MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the thermodynamic force associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the thermodynamic force
[in]tstime step stage

◆ getThermodynamicForce() [4/4]

template<size_type N, mgis::function::LinearElementSpaceConcept SpaceType>
std::optional< mgis::function::FunctionView< mgis::function::SharedSpace< SpaceType >, fixed_size_dynamic_stride_data_layout_description< N > > > mgis::behaviour::getThermodynamicForce ( AbstractErrorHandler eh,
MaterialFunctionManager< SpaceType > &  m,
std::string_view  n,
const TimeStepStage  ts = ets 
)

return the thermodynamic force associated with the given name

Parameters
[in]eherror handler
[in]mmaterial function manager
[in]nname of the thermodynamic force
[in]tstime step stage

Variable Documentation

◆ fixed_size_dynamic_stride_data_layout_description

template<size_type N>
constexpr auto mgis::behaviour::fixed_size_dynamic_stride_data_layout_description
inlineconstexpr
Initial value:
=
.data_size = N, .data_stride = dynamic_extent}
constexpr size_type dynamic_extent
a constant whose role is similar to std::dynamic_extent
Definition Config.hxx:118