Feellgood
|
#include <fem.h>
Public Member Functions | |
Fem (Settings const &mySets, timing &t_prm) | |
~Fem () | |
void | energy (double const t, Settings &settings) |
void | evolution (void) |
void | saver (Settings &settings, timing const &t_prm, std::ofstream &fout, const int nt) const |
bool | recenter (double thres, char recentering_direction) |
Public Attributes | |
double | vmax |
std::array< double, NB_ENERGY_TERMS > | E |
double | DW_dir |
double | Etot0 |
double | Etot |
Mesh::mesh | msh |
Private Member Functions | |
void | direction (enum Nodes::index idx_dir) |
Private Attributes | |
bool | recenter_mem |
ANNkd_tree * | kdtree |
ANNpointArray | pts |
class container to grab altogether all parameters of a simulation, including mesh geometry, containers for the mesh
constructor: call mesh constructor, initialize pts,kdtree and many inner variables
|
inline |
destructor
|
private |
find direction of motion of DW
[in] | idx_dir |
void Fem::energy | ( | double const | t, |
Settings & | settings | ||
) |
computes all the energies
[in] | t | time in second, used to compute zeeman contribution if applied field is time dependant |
[in] | settings |
|
inline |
time evolution : one step in time
bool Fem::recenter | ( | double | thres, |
char | recentering_direction | ||
) |
recentering algorithm for the study of the motion of a domain wall.
if \( D_i>0 \) if \( D_i<0 \)
<-------------—|----—> ----—>|<-------------— \( m_i = < u_i > < 0 \)
or or
-------------—>|<----— <----—|-------------—> \( m_i = <u_i> > 0 \)
[in] | thres | threshold parameter |
[in] | recentering_direction | X|Y|Z |
void Fem::saver | ( | Settings & | settings, |
timing const & | t_prm, | ||
std::ofstream & | fout, | ||
const int | nt | ||
) | const |
saving function for a solution
[in] | settings | |
[in] | t_prm | |
[out] | fout | |
[in] | nt |
double Fem::DW_dir |
direction of the domain wall
std::array<double,NB_ENERGY_TERMS> Fem::E |
current iteration energies
double Fem::Etot |
total energy
double Fem::Etot0 |
initial total energy
|
private |
ANN kdtree to find efficiently the closest set of nodes to a physical point in the mesh
Mesh::mesh Fem::msh |
mesh object to store nodes, fac, tet, and others geometrical values related to the mesh
|
private |
container for the building of the kdtree (handled by ANN library)
|
private |
flag to know if kdtree and pts are allocated
double Fem::vmax |
maximum speed of magnetization