1 #ifndef EMMG_DisplacementFVM_VTEGROperator_H 2 #define EMMG_DisplacementFVM_VTEGROperator_H 55 inline static SP::EMMG_DisplacementFVM_VTEGROperator
New() {
87 if (gU==
null)
throw EMM_Exception(
"generic",
"EMMG_DisplacementFVM_VTEGROperator::computeElasticStress(..)",
88 "U is an incompatible real field");
94 if (gS==
null)
throw EMM_Exception(
"generic",
"EMMG_DisplacementFVM_VTEGROperator::computeElasticStress(..)",
95 "S is an incompatible real field");
119 if (gM==
null)
throw EMM_Exception(
"generic",
"EMMG_DisplacementFVM_VTEGROperator::computeMagneticStress(..)",
120 "M is an incompatible real field");
125 if (gS==
null)
throw EMM_Exception(
"generic",
"EMMG_DisplacementFVM_VTEGROperator::computeMagneticStress(..)",
126 "S is an incompatible real field");
130 throw EMM_Exception(
"generic",
"EMMG_DisplacementFVM_VTEGROperator::computeMagneticStress(sigma,M,S)",
131 "M & S has incompatible size");
virtual void computeElasticStress(const EMM_RealField &U, EMM_RealField &S) const
compute the elastic stress for all cells
Definition: EMMG_DisplacementFVM_VTEGROperator.h:81
virtual tUIndex getSize() const =0
return the size of the field
This class describes a generic real field.
Definition: EMMG_RealField.h:17
This class describes the displacement operator based on Finite Differences Method EMM_DisplacementFVM...
Definition: EMMG_DisplacementFVM_VTEGROperator.h:16
SP_OBJECT(EMMG_DisplacementFVM_VTEGROperator)
EMMG_DisplacementFVM_VTEGROperator(void)
create
Definition: EMMG_DisplacementFVM_VTEGROperator.h:40
#define null
Definition: types.h:144
#define tDimension
Definition: EMM_Types.h:10
virtual void computeMagneticStress(const tReal &alpha, const tReal &beta, const EMM_RealArray &sigma, const EMM_RealField &M, EMM_RealField &S) const
compute the magnetic stress for all cells
Definition: EMMG_DisplacementFVM_VTEGROperator.h:113
virtual void computeMagneticStress(const tReal &alpha, const tReal &beta, const tUIndex &nCells, const tDimension &dim, const EMM_RealArray &sigma, const tReal *M, const tUIndex &nData, tReal *D) const
compute the magnetic stress to elastic stress S
Definition: EMM_DisplacementFVMOperator.cpp:1427
static SP::EMMG_DisplacementFVM_VTEGROperator New()
create a cubic anisotropy operator
Definition: EMMG_DisplacementFVM_VTEGROperator.h:55
virtual void computeElasticStress(const tBoolean &withConstraints, const tReal &beta, const tUIndex &nData, const tDimension &dim, const tReal *U, tReal *S) const
compute the elastic stress
Definition: EMM_DisplacementFVMOperator.cpp:1067
#define tUIndex
Definition: types.h:126
This class describes a real array.
Definition: EMM_RealArray.h:16
const tDimension & getDimension() const
get the dimension
Definition: EMM_RealField.h:553
This class describes the displacement operator defined on the cells of the mesh with Volume Gradient ...
Definition: EMM_DisplacementFVM_VTEGROperator.h:49
this class describes the exceptions raised for E-MicromM package
Definition: EMM_Exception.h:14
virtual ~EMMG_DisplacementFVM_VTEGROperator(void)
destroy
Definition: EMMG_DisplacementFVM_VTEGROperator.h:47
void setDimension(const tDimension &d)
set the dimension
Definition: EMM_RealField.h:158
DEFINE_SPTR(EMMG_DisplacementFVM_VTEGROperator)
This class describes a real field.
Definition: EMM_RealField.h:21
virtual void setSize(const tUIndex &n)=0
set the size
#define tReal
Definition: types.h:118
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:141