1 #ifndef SM_MacroCellsExternalDemagnetizedOperator_H
2 #define SM_MacroCellsExternalDemagnetizedOperator_H
5 #include "SM_MacroCellsDemagnetizedOperator.h"
36 tInteger mUpdateDemagnetizedSteps;
105 return CORE_UniquePointer<SelfClass>(
new SelfClass(arguments),
111 inline static CORE_UniquePointer<SelfClass>
New() {
113 return New(arguments);
121 virtual CORE_UniquePointer<SM_SliceOperator>
NewInstance()
const override {
122 CORE_UniquePointer<SelfClass> op=
New();
126 return std::move(op);
135 mUpdateDemagnetizedSteps=n;
140 return mUpdateDemagnetizedSteps;
173 if (timeIndex%mUpdateDemagnetizedSteps==0) {
191 const tIndex& timeIndex,
211 const tIndex& startIndex,
212 const tIndex& endIndex,
213 const tReal *S)
const final;
219 std::stringstream ret;
221 ret<<
"Hdem update steps:"<< mUpdateDemagnetizedSteps<<
"\n";
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
This class is an list of options.
Definition: CORE_OptionsList.h:36
This class is describes a demagnetized operator.
Definition: SM_MacroCellsDemagnetizedOperator.h:46
SM_MacroCellsMagnetizationField & getMacroCellsMagnetizationField()
get the macro cells Magnetization field
Definition: SM_MacroCellsDemagnetizedOperator.h:155
SM_MacroCellsDemagnetizedField & getMacroCellsDemagnetizedField()
get the macro cells demagnetized field
Definition: SM_MacroCellsDemagnetizedOperator.h:172
SM_MacroCellsNetwork & getMacroCellsNetwork()
get the macro cell network
Definition: SM_MacroCellsDemagnetizedOperator.h:138
virtual void updateState(const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) override
uodate the state of the operator at time index
Definition: SM_MacroCellsDemagnetizedOperator.cpp:55
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_MacroCellsDemagnetizedOperator.h:117
virtual void discretize(const SM_Network &network, const SM_Material &material) override
discretize the operator on the netowek
Definition: SM_MacroCellsDemagnetizedOperator.cpp:37
virtual tString toString() const override
return string representaton of the operator
Definition: SM_MacroCellsDemagnetizedOperator.h:276
This class describes a demagnetized operator consided as external applied field.
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:20
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:81
virtual tString toString() const final
return string representaton of the operator
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:218
virtual ~SM_MacroCellsExternalDemagnetizedOperator(void)
destroy
Definition: SM_MacroCellsExternalDemagnetizedOperator.cpp:14
virtual CORE_UniquePointer< SM_SliceOperator > NewInstance() const override
create a New instance of this
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:121
void setDemagnetizedUpdatingStepsNumber(const tInteger &n)
set the number of steps to update demagnetized field
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:134
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:93
static CORE_UniquePointer< SelfClass > New(const CORE_OptionsList &arguments)
build a new instance of the operator
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:104
virtual void updateState(const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) final
uopdate the state of the operator at time index
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:168
const tInteger & getDemagnetizedUpdatingStepsNumber() const
get the number of steps to update demagnetized field
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:139
virtual tReal computeEnergySlice(const tIndex &stepIndex, const SM_Network &network, const SM_Material &material, const tIndex &startIndex, const tIndex &endIndex, const tReal *S) const final
compute the energy by virtual method
Definition: SM_MacroCellsExternalDemagnetizedOperator.cpp:60
virtual void discretize(const SM_Network &network, const SM_Material &material) final
discretize the operator on the netowek
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:152
static CORE_UniquePointer< SelfClass > New()
build a new instance of the operator
Definition: SM_MacroCellsExternalDemagnetizedOperator.h:111
virtual tReal computeSpinEnergy(const tIndex &i, const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) const final
compute the spin energy by virtual method
Definition: SM_MacroCellsExternalDemagnetizedOperator.cpp:17
SM_MacroCellsExternalDemagnetizedOperator(const CORE_OptionsList &arguments)
create a network class
Definition: SM_MacroCellsExternalDemagnetizedOperator.cpp:8
This class describes a materials defined by state attributes:
Definition: SM_Material.h:61
This class is describes a network composed by.
Definition: SM_Network.h:66
This class is describes an operator operating on slice of particles of a network SM_Network.
Definition: SM_SliceOperator.h:32