Feellgood
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Fem Class Reference

#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_TERMSE
 
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
 

Detailed Description

class container to grab altogether all parameters of a simulation, including mesh geometry, containers for the mesh

Constructor & Destructor Documentation

◆ Fem()

Fem::Fem ( Settings const &  mySets,
timing t_prm 
)
inline

constructor: call mesh constructor, initialize pts,kdtree and many inner variables

◆ ~Fem()

Fem::~Fem ( )
inline

destructor

Member Function Documentation

◆ direction()

void Fem::direction ( enum Nodes::index  idx_dir)
private

find direction of motion of DW

Parameters
[in]idx_dir

◆ energy()

void Fem::energy ( double const  t,
Settings settings 
)

computes all the energies

Parameters
[in]ttime in second, used to compute zeeman contribution if applied field is time dependant
[in]settings

◆ evolution()

void Fem::evolution ( void  )
inline

time evolution : one step in time

◆ recenter()

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 \)

Parameters
[in]thresthreshold parameter
[in]recentering_directionX|Y|Z

◆ saver()

void Fem::saver ( Settings settings,
timing const &  t_prm,
std::ofstream &  fout,
const int  nt 
) const

saving function for a solution

Parameters
[in]settings
[in]t_prm
[out]fout
[in]nt

Member Data Documentation

◆ DW_dir

double Fem::DW_dir

direction of the domain wall

◆ E

std::array<double,NB_ENERGY_TERMS> Fem::E

current iteration energies

◆ Etot

double Fem::Etot

total energy

◆ Etot0

double Fem::Etot0

initial total energy

◆ kdtree

ANNkd_tree* Fem::kdtree
private

ANN kdtree to find efficiently the closest set of nodes to a physical point in the mesh

◆ msh

Mesh::mesh Fem::msh

mesh object to store nodes, fac, tet, and others geometrical values related to the mesh

◆ pts

ANNpointArray Fem::pts
private

container for the building of the kdtree (handled by ANN library)

◆ recenter_mem

bool Fem::recenter_mem
private

flag to know if kdtree and pts are allocated

◆ vmax

double Fem::vmax

maximum speed of magnetization


The documentation for this class was generated from the following files: