1 #ifndef SM_PlanarAnisotropyOperator_H
2 #define SM_PlanarAnisotropyOperator_H
5 #include "SM_AnisotropyOperator.h"
6 #include "SM_LinearSliceOperator.h"
9 #include "SM_Network.h"
60 inline static CORE_UniquePointer<SM_PlanarAnisotropyOperator>
New() {
68 virtual CORE_UniquePointer<SM_SliceOperator>
NewInstance()
const override {
116 const tReal *S,
const tReal * eS,
117 tReal& phi,tReal& W)
const {
144 const tReal*S,
const tReal* eS,
145 tReal& phi,std::array<tReal,SM_Constants::DIM>& gradPhi,
146 tReal& W,tReal& W3)
const {
162 for(
auto& gradPhi_k:gradPhi) {
163 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
This class is describes the uniaxial anisotropy.
Definition: SM_PlanarAnisotropyOperator.h:32
SM_PlanarAnisotropyOperator(void)
create a network class
Definition: SM_PlanarAnisotropyOperator.h:42
virtual ~SM_PlanarAnisotropyOperator(void)
destroy
Definition: SM_PlanarAnisotropyOperator.h:49
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_PlanarAnisotropyOperator.h:143
static CORE_UniquePointer< SM_PlanarAnisotropyOperator > New()
build a new instance of the operator
Definition: SM_PlanarAnisotropyOperator.h:60
void computePhi(const tReal *U, const tReal *eU, const tReal *S, const tReal *eS, tReal &phi, tReal &W) const
compute the function
Definition: SM_PlanarAnisotropyOperator.h:115
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_PlanarAnisotropyOperator.h:100
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_PlanarAnisotropyOperator.h:88
virtual CORE_UniquePointer< SM_SliceOperator > NewInstance() const override
create a New instance of this
Definition: SM_PlanarAnisotropyOperator.h:68
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