1 #ifndef SM_CubicAnisotropyOperator_H
2 #define SM_CubicAnisotropyOperator_H
5 #include "SM_AnisotropyOperator.h"
8 #include "SM_Network.h"
56 inline static CORE_UniquePointer<SM_CubicAnisotropyOperator>
New() {
64 virtual CORE_UniquePointer<SM_SliceOperator>
NewInstance()
const override {
110 const tReal*S,
const tReal *eS,
111 tReal& phi,tReal& W)
const {
169 const tReal*S,
const tReal *eS,
170 tReal& phi,std::array<tReal,SM_Constants::DIM>& gradPhi,
171 tReal& W,tReal& W3)
const {
199 for(
auto& gradPhi_k:gradPhi) {
200 gradPhi_k+=2*W3*(*U);
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
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 the uniaxial anisotropy.
Definition: SM_CubicAnisotropyOperator.h:31
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_CubicAnisotropyOperator.h:84
void computePhi(const tReal *U, const tReal *eU, const tReal *S, const tReal *eS, tReal &phi, tReal &W) const
compute the function
Definition: SM_CubicAnisotropyOperator.h:109
virtual ~SM_CubicAnisotropyOperator(void)
destroy
Definition: SM_CubicAnisotropyOperator.cpp:7
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_CubicAnisotropyOperator.h:96
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_CubicAnisotropyOperator.h:168
static CORE_UniquePointer< SM_CubicAnisotropyOperator > New()
build a new instance of the operator
Definition: SM_CubicAnisotropyOperator.h:56
SM_CubicAnisotropyOperator(void)
create a network class
Definition: SM_CubicAnisotropyOperator.cpp:3
virtual CORE_UniquePointer< SM_SliceOperator > NewInstance() const override
create a New instance of this
Definition: SM_CubicAnisotropyOperator.h:64
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: SM_SliceOperator.h:97