1 #ifndef SM_MacroCellsMagnetizationField_H
2 #define SM_MacroCellsMagnetizationField_H
8 #include "SM_MacroCellsNetwork.h"
11 #include "SM_PackedBlockSymmetricMatrix.h"
59 mMStepIndex=functions_numeric::getMax<tIndex>();
112 virtual CORE_UniquePointer<SM_MacroCellsMagnetizationField>
newInstance()
const=0;
205 const tInteger* iMacroCellsList,
218 const tInteger* iParticlesMCList,
219 const tInteger *iParticlesMCListOffset,
232 std::stringstream ret;
virtual tMemSize getContentsMemorySize() const override
return the memory size of the included associations
Definition: CORE_Field.h:102
tIndex getElementsNumber() const
return the number values of the container
Definition: CORE_Field.h:135
void setElementsNumber(const tInteger &n)
set the number of element of the container
Definition: CORE_Field.h:121
virtual tMemSize getContentsMemorySize() const
return nthe memory size of the included associations
Definition: CORE_Object.h:278
virtual tString toString() const
return the string representation of the object node
Definition: CORE_Object.h:333
static constexpr tDimension DIM
space dimension
Definition: SM_Constants.h:80
This class is describes a Magnetization field.
Definition: SM_MacroCellsMagnetizationField.h:23
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_MacroCellsMagnetizationField.h:101
const tIndex & getStepIndex() const
return the step of the last magnetization field computed
Definition: SM_MacroCellsMagnetizationField.h:155
virtual ~SM_MacroCellsMagnetizationField(void)
destroy
Definition: SM_MacroCellsMagnetizationField.h:66
SM_MacroCellsMagnetizationField(void)
create a network class
Definition: SM_MacroCellsMagnetizationField.h:58
virtual void discretize(const SM_Material &material, const SM_MacroCellsNetwork &network)
discretize the field It does :
Definition: SM_MacroCellsMagnetizationField.h:124
void setStepIndex(const tIndex &index)
set the step of the last magnetization field computed
Definition: SM_MacroCellsMagnetizationField.h:161
void computeField(const tIndex &stepIndex, const SM_Material &material, const SM_MacroCellsNetwork &network, const SM_RealField &S)
compute the magnetization field from S
Definition: SM_MacroCellsMagnetizationField.h:173
virtual tString toString() const override
return string representaton of the operator
Definition: SM_MacroCellsMagnetizationField.h:231
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_MacroCellsMagnetizationField.h:89
const SM_RealField & getField() const
get magnetization field on macro cells
Definition: SM_MacroCellsMagnetizationField.h:141
void computeFieldSlice(const tReal &mu_s, const tIndex &n, const tInteger *iMacroCellsList, const tReal *iS, tReal *vM) const
computes the magnetization field M[0,nMCCells[ from S defined on network
Definition: SM_MacroCellsMagnetizationField.cpp:47
virtual CORE_UniquePointer< SM_MacroCellsMagnetizationField > newInstance() const =0
create a New instance of this
SM_RealField & getField()
get the magnetization field for writing
Definition: SM_MacroCellsMagnetizationField.h:148
This class is describes a macro cell network.
Definition: SM_MacroCellsNetwork.h:25
const tInteger & getMacroCellsNumber() const
get the number of macro cells
Definition: SM_MacroCellsNetwork.h:188
This class describes a materials defined by state attributes:
Definition: SM_Material.h:61
This class is a base class for Stoch Microm package.
Definition: SM_Object.h:36