This class is a simulation of one Monte carlo trajectory class for Stoch Magnet package. The magnetic moment direction change is defined by \( \sigma=\frac{2}{25}*\left( \frac{T*k_B}{\mu_B} \right))^{\frac{1}{5}} \).
More...
|
| virtual tMemSize | getMemorySize () const |
| | return the memory size of the class and the memory size of all its attributes/associations More...
|
| |
| virtual tMemSize | getContentsMemorySize () const |
| | return the memory size of the included associations More...
|
| |
| virtual void | setNoiseTemperature (const tReal &T) override |
| | set the noise as a temperature in Kelvin More...
|
| |
| const tReal & | getNoiseRate () const |
| | get the noise rate constant More...
|
| |
| const tReal & | getEnergyScaling () const |
| | get the energy scaling More...
|
| |
| const tIndex & | getRejectsNumber () const |
| | get the rejects number More...
|
| |
| const tIndex & | getMovesNumber () const |
| | get the moves number More...
|
| |
| virtual void | normalize (const tBoolean &isAdimensionized) override |
| | normalize the system More...
|
| |
|
virtual void | discretize () override |
| | discretize the system
|
| |
|
virtual tULLInt | getGeneratedRandomNumbers () const override |
| | get the generated of random number within a stochastic run
|
| |
| template<class StochOutputImplement > |
| tBoolean | deterministicRun (const tIndex &steppersNumber, SM_StochasticOutput< StochOutputImplement > &data) |
| | compute deterministic running of steppers number of the system with computing statistics More...
|
| |
| tBoolean | stochasticRun (const tIndex &steppersNumber, SM_MultiStochasticFunctionsInterface &sfs) |
| | compute the steppers number of system for reaching the relaxed state More...
|
| |
| template<class StochOutputImplement > |
| tBoolean | stochasticRun (const tIndex &steppersNumber, SM_MultiStochasticFunctionsInterface &sfs, SM_StochasticOutput< StochOutputImplement > &statistics) |
| | compute steppers number with statisics More...
|
| |
| template<class StochFunctionsImplement > |
| tBoolean | stochasticRunWithSCStochasticFunctions (const tIndex &steppersNumber, SM_MultiStochasticFunctions< StochFunctionsImplement > &sfs) |
| | compute the relaxation process by calling only virtual methods More...
|
| |
| template<class StochFunctionsImplement , class StochOutputImplement > |
| tBoolean | stochasticRunWithSCStochasticFunctions (const tIndex &steppersNumber, SM_MultiStochasticFunctions< StochFunctionsImplement > &sfs, SM_StochasticOutput< StochOutputImplement > &statistics) |
| | compute the relaxation process by calling only virtual methods More...
|
| |
| virtual tString | toString () const override |
| | turn the class into a string representation More...
|
| |
| void | setNetwork (CORE_UniquePointer< SM_Network > net) |
| | set the network More...
|
| |
| const SM_Network & | getNetwork () const |
| | get the network More...
|
| |
| SM_Network & | getNetwork () |
| | get the network More...
|
| |
| tBoolean | hasNetwork () const |
| | return true if the system has a network More...
|
| |
| const SM_Material & | getMaterial () const |
| | get the material of the network More...
|
| |
| SM_Material & | getMaterial () |
| | get the material of the network More...
|
| |
| void | setInitialMagneticMomentDirections (const std::valarray< tReal > &S0) |
| | set the initial unit direction of spins More...
|
| |
| void | setInitialMagneticMomentDirections (const SM_RealField &S0) |
| | set the initial unit direction of spins More...
|
| |
| void | setInitialMagneticMomentDirections (const tIndex &N, const std::array< tReal, SM_Constants::DIM > &S0) |
| | set the initial unit direction of spins More...
|
| |
| virtual tBoolean | updateInitialMagneticMomentDirections (const SM_RealField &S0) |
| | update the initial unit direction of spins More...
|
| |
| const SM_RealField & | getInitialMagneticMomentDirections () const |
| | get the initial unit direction of spins More...
|
| |
| SM_RealField & | getInitialMagneticMomentDirections () |
| | get the initial unit direction of spins for writting More...
|
| |
| const SM_RealField & | getMagneticMomentDirections () const |
| | get the unit direction of spins at time More...
|
| |
| SM_RealField & | getMagneticMomentDirections () |
| | get the unit direction of spins at time for writting More...
|
| |
| virtual tBoolean | initializeMagneticMomentDirections () |
| | initialize magnetic moments direction More...
|
| |
| void | addOperator (CORE_UniquePointer< SM_Operator > op) |
| | add operator More...
|
| |
| const SM_SliceOperator * | getOperator (const tString &name) const |
| | get the operator with name More...
|
| |
| SM_SliceOperator * | getOperator (const tString &name) |
| | get the operator with name More...
|
| |
| void | copyOperators (const SM_System &system) |
| | copy the operator More...
|
| |
| const std::map< tString, CORE_UniquePointer< SM_Operator > > & | getOperators () const |
| | get the operators More...
|
| |
| std::map< tString, CORE_UniquePointer< SM_Operator > > & | getOperators () |
| | get the operators More...
|
| |
| tIndex | getOperatorsNumber () const |
| | get the operators number More...
|
| |
| void | getOperatorsName (std::vector< tString > &names) const |
| | get the operator names More...
|
| |
| virtual void | setStochasticNoise (const tReal &eps) |
| | set the stochastic noise without dimension More...
|
| |
| const tReal & | getStochasticNoise () const |
| | get the stochastic noise without dimension More...
|
| |
| const tReal & | getNoiseTemperature () const |
| | get the noise temperature in Kelvin More...
|
| |
| const tIndex & | getStepIndex () const |
| | get the step index More...
|
| |
| tIndex & | getStepIndex () |
| | get the step index More...
|
| |
| virtual void | sumOverNetworks (const int &rootNetwork, tIndex &n, const tIndex &nValues, tReal *values) const |
| | sum the values of all network More...
|
| |
| void | computeMagneticMomentDirectionsSumOverNetworks (const int &rootNetwork, std::array< tReal, SM_Constants::DIM > &sumS) const |
| | compute the sum over the domain of magnetic moment dierctions More...
|
| |
| void | computeMagneticMomentDirectionsMeanOverNetworks (const int &rootNetwork, std::array< tReal, SM_Constants::DIM > &meanS) const |
| | compute the mean over the domain of magneticmoment directions More...
|
| |
| void | computeMagneticMomentDirectionsSum (const tInteger &start, const tInteger &end, std::array< tReal, SM_Constants::DIM > &sumS) const |
| | compute the sum of magnetic moment directions over the network More...
|
| |
| void | updateOperatorsState (const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) |
| | update the operators state before computeing magnetic field More...
|
| |
| void | computeMagneticField (const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S, SM_RealField &H) const |
| | compute the magnetic field at time step index t by calling the virtual method SM_Operator::computeMagneticField() More...
|
| |
| tReal | computeSpinEnergy (const tIndex &i, const SM_Network &network, const SM_Material &material, const SM_RealField &S) const |
| | compute the energy of the spin of the system More...
|
| |
| tReal | computeSpinEnergy (const tIndex &i, const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) const |
| | compute the energy of the spin of the system More...
|
| |
| const tReal & | computeEnergies (std::valarray< tReal > &energies) const |
| | compute the energies per operators More...
|
| |
| const tReal & | computeEnergies (const tIndex &timeIndex, std::valarray< tReal > &energies) const |
| | compute the energies per operators More...
|
| |
|
| SM_Object (void) |
| | create
|
| |
|
virtual | ~SM_Object (void) |
| | destroy
|
| |
| 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...
|
| |
|
|
| SM_MonteCarloSystem (void) |
| | create a class
|
| |
|
virtual | ~SM_MonteCarloSystem (void) |
| | destroy the class
|
| |
| tIndex & | getMovesNumber () |
| | get the move number More...
|
| |
| tIndex & | getRejectsNumber () |
| | get the rejects number More...
|
| |
| virtual void | updateStateForNextStep (SM_RealField &St)=0 |
| | update the state for next step More...
|
| |
| void | MCStep (SM_MultiStochasticFunctionsInterface &multiStochasticFunctions, const SM_Material &material, const SM_Network &network, SM_RealField &S, const tIndex &stepIndex, const tReal &alpha, const tReal &sigma, tIndex &nMoves, tIndex &nRejects) |
| | stepper step More...
|
| |
| template<class StochFunctionsImplement > |
| void | MCStepWithSCStochasticFunctions (SM_MultiStochasticFunctions< StochFunctionsImplement > &multiStochasticFunctions, const SM_Material &material, const SM_Network &network, SM_RealField &S, const tIndex &stepIndex, const tReal &alpha, const tReal &sigma, tIndex &nMoves, tIndex &nRejects) |
| | stepper step with templated stochastic function More...
|
| |
| template<class StochFunctionsImplement > |
| void | randomTrialMoveWithSCStochasticFunctions (SM_StochasticFunctions< StochFunctionsImplement > &stochasticFunctions, const tReal &sigma, tReal *bS, const tReal *eS) const |
| | make a trial move More...
|
| |
| void | randomTrialMove (SM_StochasticFunctionsInterface &stochasticFunctions, const tReal &sigma, tReal *bS, const tReal *eS) const |
| | make a trial move More...
|
| |
|
| SM_System (void) |
| | create a class
|
| |
|
virtual | ~SM_System (void) |
| | destroy the class
|
| |
| tReal | computeEnergy (const SM_Network &network, const SM_Material &material, const SM_RealField &S) const |
| | compute the energy of the system More...
|
| |
| tReal | computeEnergy (const tIndex &timeIndex, const SM_Network &network, const SM_Material &material, const SM_RealField &S) const |
| | compute the energy of the system More...
|
| |
|
| CORE_Object () |
| | build an instance of the object
|
| |
|
virtual | ~CORE_Object () |
| | destroy the instance of object std
|
| |
This class is a simulation of one Monte carlo trajectory class for Stoch Magnet package. The magnetic moment direction change is defined by \( \sigma=\frac{2}{25}*\left( \frac{T*k_B}{\mu_B} \right))^{\frac{1}{5}} \).
The general algorithm of Monte Carlo is
- Author
- Stephane Despreaux
- Version
- 2.0