MoReFEM
|
Namespace that enclose global variational operator instances (and few helper functions). More...
Namespaces | |
namespace | SecondPiolaKirchhoffStressTensorNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | TyingPointsNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
Data Structures | |
class | Ale |
Operator description. More... | |
class | Bidomain |
Operator description. More... | |
class | DifferentCauchyGreenMixedSolidIncompressibility |
DifferentCauchyGreenMixedSolidIncompressibility description. More... | |
class | FollowingPressure |
FollowingPressure operator. More... | |
class | GradOnGradientBasedElasticityTensor |
Instantiation of the Operator related to elastic matrix. More... | |
class | GradPhiGradPhi |
Implementation of global grad-grad operator. More... | |
class | GradPhiTauOrthoTauGradPhi |
Operator description. More... | |
class | GradPhiTauTauGradPhi |
Operator description. More... | |
class | Mass |
Implementation of global mass operator. More... | |
class | NonlinearMembrane |
Operator description. More... | |
class | NonlinearShell |
NonLinearShell operator. More... | |
class | NonLinearSource |
Implementation of a non-linear source f(u,w), u the solution of the EDP and w a parameter. f is the reaction law. w depends of a reaction law dw/dt = g(u,w), g is the gate law. u is the potential and w is the gate. More... | |
class | QuasiIncompressibleSecondPiolaKirchhoffStressTensor |
Quasi-incompressible second Piola-Kirchhoff stress tensor operator. More... | |
class | SameCauchyGreenMixedSolidIncompressibility |
SameCauchyGreenMixedSolidIncompressibility description. More... | |
class | ScalarDivVectorial |
Implementation of global Stokes operator. More... | |
class | SecondPiolaKirchhoffStressTensor |
Instantiation of the SecondPiolaKirchhoffStressTensor related to hyperelastic matrix. More... | |
class | Stokes |
Operator description. More... | |
class | SurfacicBidomain |
Operator description. More... | |
class | TransientSource |
Implementation of global TransientSource operator. More... | |
class | VariableMass |
Implementation of global mass operator for poromechanics. More... | |
Typedefs | |
template<class DerivedT , Advanced::OperatorNS::Nature NatureT, class LocalVariationalOperatorT > | |
using | SameForAllRefGeomElt |
Most common base class for a GlobalVariationalOperator. | |
template<class DerivedT , Advanced::OperatorNS::Nature NatureT, class LocalVariationalOperatorTupleT > | |
using | DependsOnRefGeomElt |
Advanced base class for a GlobalVariationalOperator, when a specific implementation is required for each RefGeomElt. | |
Enumerations | |
enum class | elementary_mode { full = 0 , just_init = 1 } |
Convenient alias to perform only part of the elementary computation. | |
Functions | |
void | ExtractLocalDofValues (const LocalFEltSpace &local_felt_space, const ExtendedUnknown &unknown, const GlobalVector &vector, std::vector< double > &result) |
Extract from a global vector the values required at a local level. | |
Namespace that enclose global variational operator instances (and few helper functions).
using MoReFEM::GlobalVariationalOperatorNS::SameForAllRefGeomElt |
Most common base class for a GlobalVariationalOperator.
This base class is used when a unique LocalVariationalOperator implementation may be used to cover all the RefGeomElt cases. This is by far the most common case; currently there are two cases not covered by this scheme:
DerivedT | Name of the actual GlobalVariationalOperator implemented (current template class is a curiously recurrent template pattern (CRTP)). |
NatureT | Whether an operator is bilinear, linear or non linear (in the latter case, it might be assembled into a matrix and a vector). |
LocalVariationalOperatorT | Type of the LocalVariationalOperator used for all kinds of RefGeomElt. |
MoReFEM::GlobalVariationalOperatorNS::DependsOnRefGeomElt |
Advanced base class for a GlobalVariationalOperator, when a specific implementation is required for each RefGeomElt.
Currently there are two cases to be covered by this scheme:
One might add the case of operators such as GradOnGradientBasedElasticityTensor which provides a single implementation but is irrelevant for some of the RefGeomElt such as Point1 or Segment2. In this case, set the second item of MOREFEM_GVO_LOCAL_TUPLE_ITEM_SAME for this RefGeomElt as std::nullptr_t.
DerivedT | Name of the actual GlobalVariationalOperator implemented (current template class is a curiously recurrent template pattern (CRTP)). |
NatureT | Whether an operator is bilinear, linear or non linear (in the latter case, it might be assembled into a matrix and a vector). |
LocalOperatorTupleT | Tuple which includes a LocalOperatorForRefGeomElt for each RefGeomElt defined in MoReFEM. The content of this tuple is very constrained (and checked at compile time): the RefGeomElt must be sort in exactly the same way they are in Advanced::GeometricEltEnum enum. |
void MoReFEM::GlobalVariationalOperatorNS::ExtractLocalDofValues | ( | const LocalFEltSpace & | local_felt_space, |
const ExtendedUnknown & | unknown, | ||
const GlobalVector & | vector, | ||
std::vector< double > & | result ) |
Extract from a global vector the values required at a local level.
[in] | local_felt_space | The pendant of GeometricElt for finite element analysis, which includes all finite elements related to the given geometric element. |
[in] | unknown | Unknown to consider, that must belong to the local_felt_space. Processor-wise local to global array must have been computed for this unknown. |
[in] | vector | Global vector from which we seek to extract relevant local values. |
[out] | result | Vector into which result of the function is written. This vector is assumed to be properly allocated before the call to this function. This vector follows the ordering convention of local vectors (i.e. dofs are grouped by component: vx1 vx2 vx3 vy1 vy2 vy3...) |