1 #ifndef SM_UniaxialAnisotropyOperator_H
2 #define SM_UniaxialAnisotropyOperator_H
5 #include "SM_AnisotropyOperator.h"
6 #include "SM_LinearSliceOperator.h"
9 #include "SM_Network.h"
68 inline static CORE_UniquePointer<SM_UniaxialAnisotropyOperator>
New() {
76 virtual CORE_UniquePointer<SM_SliceOperator>
NewInstance()
const override {
125 const tReal*S,
const tReal *eS,
126 tReal& phi,tReal& W)
const {
152 const tReal*S,
const tReal* eS,
153 tReal& phi,std::array<tReal,SM_Constants::DIM>& gradPhi,
154 tReal& W,tReal& W3)
const {
167 for(
auto& gradPhi_k:gradPhi) {
168 gradPhi_k=-2*(*U)*phi;
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: CORE_Object.h:278
This class is describes the general anisotropy operatoor.
Definition: SM_AnisotropyOperator.h:32
static constexpr tDimension DIM
space dimension
Definition: SM_Constants.h:80
This class is describes a linear operator interface in a slice of particles of a network.
Definition: SM_LinearSliceOperator.h:17
void setName(const tString &name)
set the name
Definition: SM_SliceOperator.h:112
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: SM_SliceOperator.h:97
This class is describes the uniaxial anisotropy.
Definition: SM_UniaxialAnisotropyOperator.h:40
static CORE_UniquePointer< SM_UniaxialAnisotropyOperator > New()
build a new instance of the operator
Definition: SM_UniaxialAnisotropyOperator.h:68
virtual ~SM_UniaxialAnisotropyOperator(void)
destroy
Definition: SM_UniaxialAnisotropyOperator.h:57
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_UniaxialAnisotropyOperator.h:96
void computePhi(const tReal *U, const tReal *eU, const tReal *S, const tReal *eS, tReal &phi, tReal &W) const
compute the function
Definition: SM_UniaxialAnisotropyOperator.h:124
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_UniaxialAnisotropyOperator.h:109
virtual CORE_UniquePointer< SM_SliceOperator > NewInstance() const override
create a New instance of this
Definition: SM_UniaxialAnisotropyOperator.h:76
void computePhiDerivatives(const tReal *U, const tReal *eU, const tReal *S, const tReal *eS, tReal &phi, std::array< tReal, SM_Constants::DIM > &gradPhi, tReal &W, tReal &W3) const
compute the function
Definition: SM_UniaxialAnisotropyOperator.h:151
SM_UniaxialAnisotropyOperator(void)
create a network class
Definition: SM_UniaxialAnisotropyOperator.h:50