1 #ifndef SM_TemplatedSystem_H
2 #define SM_TemplatedSystem_H
18 template<
class SystemImpl>
123 template<
class StochImpl>
126 std::cerr<<
"SM_templatedSystem:::makeTemplatedRelaxation(randomFunction,mu,Es) is not yet implemented ! \n";
140 template<
class StochImpl,
class NoiseImpl>
186 tReal &Et=(*Es);Es++;
220 tReal *mu_tpdt)
const {
236 tReal *mu_tpdt)
const {
tUCInt tDimension
Definition: CORE_StdPtrField.h:567
This class is describes a demagnetized operator.
Definition: SM_DemagnetizedOperator.h:32
void computeTemplatedMagneticField(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *B) const
compute the magnetic field
Definition: SM_DemagnetizedOperator.h:172
void computeTemplatedMagneticFieldAndEnergy(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *B, tReal &E) const
compute the magnetic field and energy
Definition: SM_DemagnetizedOperator.h:188
This class is describes the exchange operator.
Definition: SM_HeissenbergOperator.h:27
void computeTemplatedMagneticField(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *B) const
compute the magnetic field
Definition: SM_HeissenbergOperator.h:125
void computeTemplatedMagneticFieldAndEnergy(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *H, tReal &E) const
compute the magnetic field and energy
Definition: SM_HeissenbergOperator.h:141
This class is describes a a network.
Definition: SM_Network.h:18
tDimension getDimension() const
return the dimension
Definition: SM_Network.h:133
tInteger getParticlesNumber() const
return the particles number
Definition: SM_Network.h:146
const tString & getName() const
return the operator name
Definition: SM_Operator.h:102
This class is a simulation of one trajectory class for Stoch Microm package.
Definition: SM_System.h:51
virtual void discretize()
discretize the system
Definition: SM_System.h:354
virtual tMemSize getContentsMemorySize() const
return the memory size of the included associations
Definition: SM_System.h:140
const SM_Operator * getOperator(const tString &name) const
get the operator with name
Definition: SM_System.h:287
This class describes a templated noise rate function as static polymorphism.
Definition: SM_TemplatedNoiseRateFunction.h:14
This class describes a templated stochastic function to generate random numbers.
Definition: SM_TemplatedStochasticFunction.h:15
Definition: SM_TemplatedSystem.h:19
tBoolean makeTemplatedRelaxation(const SM_TemplatedStochasticFunction< StochImpl > &randomFunction, tReal *mu, tReal *Es)
compute the relaxation process by calling only templated methods
Definition: SM_TemplatedSystem.h:124
virtual void getOperatorNames(std::vector< tString > &names) const override
get the operator names
Definition: SM_TemplatedSystem.h:82
void computeTemplatedMagneticFieldAndEnergies(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *B, tReal *Es) const
compute the magnetic field at time t by calling the templated method SM_TemplatedOperator::computeTem...
Definition: SM_TemplatedSystem.h:177
tBoolean computeTemplatedMuAtNextTimeStep(const tReal &dt, const tReal &epsilon_t, const tIndex &nParticles, const tDimension &dim, const tReal *mu_t, tReal *mu_tpdt) const
compute mu at time step
Definition: SM_TemplatedSystem.h:233
virtual void discretize()
discretize the system
Definition: SM_TemplatedSystem.h:97
virtual ~SM_TemplatedSystem(void)
destroy the class
Definition: SM_TemplatedSystem.h:48
const SM_DemagnetizedOperator * mDemagnetizedOperator
Definition: SM_TemplatedSystem.h:29
const SM_HeissenbergOperator * mHeissenbergOperator
Definition: SM_TemplatedSystem.h:30
void computeTemplatedMagneticField(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *B) const
compute the magnetic field at time step index t by calling the templated method SM_TemplatedOperator:...
Definition: SM_TemplatedSystem.h:153
const SM_ZeemanOperator * mZeemanOperator
Definition: SM_TemplatedSystem.h:28
SM_TemplatedSystem(void)
create a class
Definition: SM_TemplatedSystem.h:40
virtual tMemSize getMemorySize() const
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_TemplatedSystem.h:71
virtual tBoolean computeMuAtNextTimeStep(const tReal &dt, const tReal &epsilon_t, const tIndex &nParticles, const tDimension &dim, const tReal *mu_t, tReal *mu_tpdt) const
compute mu at time step
Definition: SM_TemplatedSystem.h:217
This class is describes a Zeeman operator interface.
Definition: SM_ZeemanOperator.h:27
void computeTemplatedMagneticField(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *B) const
compute the magnetic field
Definition: SM_ZeemanOperator.h:259
void computeTemplatedMagneticFieldAndEnergy(const tIndex &t, const SM_Network &network, const tReal *mu, tReal *B, tReal &E) const
compute the magnetic field
Definition: SM_ZeemanOperator.h:275
#define tIndex
Definition: types.h:157
#define tMemSize
Definition: types.h:166
#define tBoolean
Definition: types.h:151
#define tReal
Definition: types.h:137