|
C++ mpi module for stochmagnet_main Package
|
This class is describes a Zeman operator with applied field time dependant on each particle of the network. More...
#include <SM_PermanentZeemanOperator.h>


Public Member Functions | |
| virtual CORE_UniquePointer< SM_SliceOperator > | NewInstance () const override |
| create a New instance of this More... | |
| virtual tMemSize | getMemorySize () const |
| return the memory size of the class and the memory size of all its attributes/associations More... | |
| virtual void | discretize (const SM_Network &network, const SM_Material &material) override |
| discretize the operator on the network More... | |
Public Member Functions inherited from SM_ZeemanOperator | |
| virtual tMemSize | getContentsMemorySize () const |
| return nthe memory size of the included associations More... | |
| virtual void | copy (const SM_SliceOperator &op) |
| copy More... | |
| const tIndex & | getParticlesNumber () const |
| return the number of particles for the zeeman operatpr More... | |
| const tIndex & | getTimeStepsNumber () const |
| return the number of time steps for the zeeman operatpr More... | |
| const tReal * | getHextAtTimeIndex (const tIndex &timeIndex) const |
| return Hext at time step index t More... | |
| tReal * | getHextAtTimeIndex (const tIndex &timeIndex) |
| return Hext at time step index t More... | |
| const tReal * | getHextValues () const |
| return Hext at time 0 More... | |
| tReal * | getHexValues () |
| return Hext More... | |
| void | setHext (std::initializer_list< tReal > &&values) |
| set the Hext value More... | |
| void | setHext (const std::vector< tReal > &values) |
| set the Hext value More... | |
| void | setHext (const std::array< tReal, SM_Constants::DIM > &values) |
| set the Hext value More... | |
| virtual void | adimensionize (const tReal &cH) override |
| adimensionize the operator More... | |
| virtual void | computeMagneticFieldSlice (const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const tIndex &startIndex, const tIndex &endIndex, const tReal *S, const tBoolean &alpha, const tIndex &nH, tReal *H) const |
| compute the anisotropy magnetic field by virtual method More... | |
| virtual tReal | computeSpinEnergy (const tIndex &i, const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) const override |
| compute the spin energy by virtual method More... | |
| virtual tReal | computeEnergySlice (const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const tIndex &startIndex, const tIndex &endIndex, const tReal *S) const |
| compute the energy at time t by virtual method for all particles in [startIndex,endIndex[ More... | |
| virtual tString | toString () const override |
| return the string representation of the class | |
Public Member Functions inherited from SM_SliceOperator | |
| const tString & | getName () const |
| return the operator name More... | |
| virtual void | updateState (const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) |
| update the stae of the operator at time index More... | |
Public Member Functions inherited from SM_Object | |
| SM_Object (void) | |
| create | |
| virtual | ~SM_Object (void) |
| destroy | |
Public Member Functions inherited from CORE_Object | |
| template<class T > | |
| std::shared_ptr< T > | getSharedPointer () |
| return the shared pointer for this More... | |
| template<class T > | |
| std::shared_ptr< const T > | getConstSharedPointer () const |
| return a const shared pointer for this More... | |
| template<class T > | |
| tBoolean | isInstanceOf () const |
| test if the clas T is an instance of this class More... | |
| tString | getClassName () const |
| return the name of the class More... | |
| tString | getPointerString () const |
| retrun the pointer of the class as a string More... | |
| tString | getIdentityString () const |
| retrun the string identification of the class More... | |
Static Public Member Functions | |
| static CORE_UniquePointer< SM_PermanentZeemanOperator > | New () |
| build a new instance of the operator More... | |
Static Public Member Functions inherited from SM_ZeemanOperator | |
| static CORE_UniquePointer< SM_ZeemanOperator > | New () |
| build a new instance of the operator More... | |
| static void | ComputeSpinEnergy (const tReal &mu_s, const tReal *Hext, const tReal *iS, const tReal *eSi, tReal &E) |
| compute spin energy More... | |
Static Public Member Functions inherited from CORE_Object | |
| static tBoolean | EnableMemoryStack (const tBoolean &isMemoryChecked) |
| enable the memory stack More... | |
| static void | EnableMemoryStack () |
| enable the memory stack | |
| static void | DisableMemoryStack () |
| disable the memory stack | |
| static tBoolean | IsMemoryStackEnabled () |
| return trur if the memory stack is enabled | |
| static tString | MemoryStackToString () |
| get the memory stack in string More... | |
| static tIndex | GetRegisteredClassesNumber () |
| get the memory stack in string More... | |
Protected Member Functions | |
| SM_PermanentZeemanOperator (void) | |
| create a network class | |
| virtual | ~SM_PermanentZeemanOperator (void) |
| destroy | |
Protected Member Functions inherited from SM_ZeemanOperator | |
| SM_ZeemanOperator (void) | |
| create a zeeman operator interface | |
| virtual | ~SM_ZeemanOperator (void) |
| destroy | |
| void | setParticlesNumber (const tIndex &p) |
| set zeeman particlules number More... | |
| void | setTimeStepsNumber (const tIndex &n) |
| set zeeman time steps More... | |
| const std::valarray< tReal > & | getHext () const |
| return Hext as an array More... | |
| std::valarray< tReal > & | getHext () |
| return Hext as an array More... | |
Protected Member Functions inherited from SM_SliceOperator | |
| SM_SliceOperator (void) | |
| create a network class | |
| virtual | ~SM_SliceOperator (void) |
| destroy | |
| void | setName (const tString &name) |
| set the name More... | |
Protected Member Functions inherited from CORE_Object | |
| CORE_Object () | |
| build an instance of the object | |
| virtual | ~CORE_Object () |
| destroy the instance of object std | |
Additional Inherited Members | |
Static Protected Member Functions inherited from SM_ZeemanOperator | |
| static void | ComputeUnscaledSpinEnergy (const tReal *Hext, const tReal *iS, const tReal *eS, tReal &E) |
| compute the unscaled spin energy More... | |
This class is describes a Zeman operator with applied field time dependant on each particle of the network.
It implements the virtual methods of the base classes SM_SliceOperator :
The magnetic field of a particle \(i \) verifies \(H^i_{z}=H_{ext}(i) \).
The spin energy of a particle \( i \) is \( E^i_{z}=- \ds \mu_s (S_i,H_{ext}(i)) \).
The total energy of the network is \( E_{z}=- \ds \sum_i \mu_s S_i \cdot H_{ext}(i) \)
The UML organization of the Zeeman operator package is as follow:
|
inlineoverridevirtual |
discretize the operator on the network
| [in] | network | : network on which the operator is applied |
| [in] | material | : material of the network |
Reimplemented from SM_ZeemanOperator.
|
inlinevirtual |
return the memory size of the class and the memory size of all its attributes/associations
Reimplemented from SM_ZeemanOperator.
|
inlinestatic |
build a new instance of the operator
|
inlineoverridevirtual |
create a New instance of this
Reimplemented from SM_ZeemanOperator.