MoReFEM
|
Contains all the Parameter that are related to the properties of a InputMicrosphere. More...
#include <InputMicrosphere.hpp>
Public Types | |
using | self = InputMicrosphere<TimeManagerT> |
Alias to the type of the class. | |
using | unique_ptr = std::unique_ptr<self> |
Alias to unique pointer to const object. | |
template<std::size_t N> | |
using | array_unique_ptr = std::array<unique_ptr, N> |
Alias to array of unique pointer to const object. | |
using | scalar_parameter_type = ScalarParameter<TimeManagerT> |
Alias to the type of scalar parameter used along with current operator. | |
Public Member Functions | |
void | Print (std::ostream &stream) const |
Print the content of InputMicrosphere assuming all parameters are spatially constant. | |
const scalar_parameter_type & | GetInPlaneFiberDispersionI4 () const |
Constant accessor to the in-plane fiber dispersion associated to the 4th invariant. | |
const scalar_parameter_type & | GetOutOfPlaneFiberDispersionI4 () const |
Constant accessor to the out-of-plane fiber dispersion associated to the 4th invariant. | |
const scalar_parameter_type & | GetFiberStiffnessDensityI4 () const |
Constant accessor to stiffness of the fibers associated with the 4th invariant. | |
const scalar_parameter_type & | GetInPlaneFiberDispersionI6 () const |
Constant accessor to the in-plane fiber dispersion associated to the 6th invariant. | |
const scalar_parameter_type & | GetOutOfPlaneFiberDispersionI6 () const |
Constant accessor to the out-of-plane fiber dispersion associated to the 6th invariant. | |
const scalar_parameter_type & | GetFiberStiffnessDensityI6 () const |
Constant accessor to stiffness of the fibers associated with the 6th invariant. | |
bool | IsInPlaneFiberDispersionI4 () const noexcept |
Whether the parameter is relevant for the Model considered. | |
bool | IsOutOfPlaneFiberDispersionI4 () const noexcept |
Whether the parameter is relevant for the Model considered. | |
bool | IsFiberStiffnessDensityI4 () const noexcept |
Whether the parameter is relevant for the Model considered. | |
bool | IsInPlaneFiberDispersionI6 () const noexcept |
Whether the parameter is relevant for the Model considered. | |
bool | IsOutOfPlaneFiberDispersionI6 () const noexcept |
Whether the parameter is relevant for the Model considered. | |
bool | IsFiberStiffnessDensityI6 () const noexcept |
Whether the parameter is relevant for the Model considered. | |
Special members. | |
template<::MoReFEM::Advanced::Concept::MoReFEMDataType MoReFEMDataT> | |
InputMicrosphere (const MoReFEMDataT &morefem_data, const Domain &domain, const QuadratureRulePerTopology &quadrature_rule_per_topology) | |
Constructor. | |
~InputMicrosphere ()=default | |
Destructor. | |
InputMicrosphere (const InputMicrosphere &rhs)=delete | |
The copy constructor. | |
InputMicrosphere (InputMicrosphere &&rhs)=delete | |
The move constructor. | |
InputMicrosphere & | operator= (const InputMicrosphere &rhs)=delete |
The (copy) operator=. | |
InputMicrosphere & | operator= (InputMicrosphere &&rhs)=delete |
The (move) operator=. | |
Private Member Functions | |
const Domain & | GetDomain () const noexcept |
Domain upon which the InputMicrosphere is described. | |
const QuadratureRulePerTopology & | GetQuadratureRulePerTopology () const noexcept |
Quadrature rule to use for each type of topology. | |
Private Attributes | |
const Domain & | domain_ |
Domain upon which the InputMicrosphere is described. | |
const QuadratureRulePerTopology & | quadrature_rule_per_topology_ |
Quadrature rule to use for each type of topology. | |
scalar_parameter_type::template array_unique_ptr< 6 > | input_microsphere_ |
All six parameters to define the fiber dispersions (in and out of plane) and the stiffness related to I4 and I6. | |
Contains all the Parameter that are related to the properties of a InputMicrosphere.
Some of them might be deactivated if not used, with a properly placed "ignore" in the input data file given as constructor argument.
using MoReFEM::InputMicrosphere< TimeManagerT >::self = InputMicrosphere<TimeManagerT> |
Alias to the type of the class.
using MoReFEM::InputMicrosphere< TimeManagerT >::scalar_parameter_type = ScalarParameter<TimeManagerT> |
Alias to the type of scalar parameter used along with current operator.
|
explicit |
Constructor.
[in] | morefem_data | The object which encapsulates some stuff that acts as global data, such as:
|
[in] | domain | Domain upon which the Parameter is defined; this Domain MUST be associated with a Mesh (more often than not domain encompasses all the Coords of its associated Mesh). The reason it is a Domain and not a Mesh is that in some cases (fibers for instance) we might want to define it only on a subset of a Mesh. |
[in] | quadrature_rule_per_topology | Quadrature rule for each relevant topology (if one useful in the Model is not specified there an exception will be thrown when usage is attempted). Do not deallocate this raw pointer: it is assumed the actual object is stored in an object such as VariationalFormulation or a Model, probably under a const_unique_ptr to avoid bothering with manual deallocation. |
|
delete |
The copy constructor.
[in] | rhs | The object from which the construction occurs. |
|
delete |
The move constructor.
[in] | rhs | The object from which the construction occurs. |
|
delete |
The (copy) operator=.
[in] | rhs | The object from which the affectation occurs. |
|
delete |
The (move) operator=.
[in] | rhs | The object from which the affectation occurs. |
void MoReFEM::InputMicrosphere< TimeManagerT >::Print | ( | std::ostream & | stream | ) | const |
Print the content of InputMicrosphere assuming all parameters are spatially constant.
[in,out] | stream | Stream upon which object information are written. |
const scalar_parameter_type & MoReFEM::InputMicrosphere< TimeManagerT >::GetInPlaneFiberDispersionI4 | ( | ) | const |
Constant accessor to the in-plane fiber dispersion associated to the 4th invariant.
You may check existence priori to the call with IsXXX() methods, for instance:
const scalar_parameter_type & MoReFEM::InputMicrosphere< TimeManagerT >::GetOutOfPlaneFiberDispersionI4 | ( | ) | const |
Constant accessor to the out-of-plane fiber dispersion associated to the 4th invariant.
You may check existence priori to the call with IsXXX() methods, for instance:
const scalar_parameter_type & MoReFEM::InputMicrosphere< TimeManagerT >::GetFiberStiffnessDensityI4 | ( | ) | const |
Constant accessor to stiffness of the fibers associated with the 4th invariant.
You may check existence priori to the call with IsXXX() methods, for instance:
const scalar_parameter_type & MoReFEM::InputMicrosphere< TimeManagerT >::GetInPlaneFiberDispersionI6 | ( | ) | const |
Constant accessor to the in-plane fiber dispersion associated to the 6th invariant.
You may check existence priori to the call with IsXXX() methods, for instance:
const scalar_parameter_type & MoReFEM::InputMicrosphere< TimeManagerT >::GetOutOfPlaneFiberDispersionI6 | ( | ) | const |
Constant accessor to the out-of-plane fiber dispersion associated to the 6th invariant.
You may check existence priori to the call with IsXXX() methods, for instance:
const scalar_parameter_type & MoReFEM::InputMicrosphere< TimeManagerT >::GetFiberStiffnessDensityI6 | ( | ) | const |
Constant accessor to stiffness of the fibers associated with the 6th invariant.
You may check existence priori to the call with IsXXX() methods, for instance:
|
noexcept |
Whether the parameter is relevant for the Model considered.
It might be irrelevant in two ways:
|
noexcept |
Whether the parameter is relevant for the Model considered.
It might be irrelevant in two ways:
|
noexcept |
Whether the parameter is relevant for the Model considered.
It might be irrelevant in two ways:
|
noexcept |
Whether the parameter is relevant for the Model considered.
It might be irrelevant in two ways:
|
noexcept |
Whether the parameter is relevant for the Model considered.
It might be irrelevant in two ways:
|
noexcept |
Whether the parameter is relevant for the Model considered.
It might be irrelevant in two ways:
|
private |
All six parameters to define the fiber dispersions (in and out of plane) and the stiffness related to I4 and I6.
Might stay nullptr if these InputMicrosphere parameters are not relevant for the current Model (i.e. it is not entries in the input data file).