Feellgood
|
#include <electrostatSolver.h>
Public Member Functions | |
electrostatSolver (Mesh::mesh const &_msh, STT const &_p_stt, const double _tol, const bool v, const int max_iter, const std::string _fileName) | |
void | calc_gradV (Tetra::Tet const &tet, Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, Tetra::NPI >> _gradV) const |
void | calc_Hm (Tetra::Tet const &tet, Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, Tetra::NPI >> _gradV, Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, Tetra::NPI >> _Hm) const |
Private Member Functions | |
void | prepareExtras (void) |
void | infos (void) |
void | prepareData (std::vector< Eigen::Triplet< double >> &Kw, Eigen::Ref< Eigen::VectorXd > Lw) |
int | solve (const double _tol) |
Private Attributes | |
double | ksi |
double | D0 |
double | pf |
Mesh::mesh | msh |
STT | p_stt |
const bool | verbose |
const unsigned int | MAXITER |
const int | precision |
const std::string | fileName |
std::vector< double > | V |
std::vector< Eigen::Matrix< double, Nodes::DIM, Tetra::NPI > > | gradV |
std::vector< Eigen::Matrix< double, Nodes::DIM, Tetra::NPI > > | Hm |
this class is containing both data and a solver to compute potential from dirichlet boundary conditions problem for the current density flowing in the sample.
|
inline |
constructor
[in] | _msh | reference to the mesh |
_p_stt | all spin transfer torque parameters | |
[in] | _tol | tolerance for solvers |
[in] | v | verbose bool |
[in] | max_iter | maximum number of iteration |
[in] | _fileName | output .sol file name for electrostatic potential |
|
inline |
computes the gradient(V) for tetra tet
|
inline |
computes Hm contributions for each npi for tetrahedron tet
|
inlineprivate |
basic informations on boundary conditions
|
inlineprivate |
fill matrix and vector to solve potential values on each node
|
inlineprivate |
affect extraField function and extraCoeffs_BE function for all the tetrahedrons
|
inlineprivate |
solver, using biconjugate stabilized gradient, with diagonal preconditionner and Dirichlet boundary conditions
|
private |
density of states
|
private |
output .sol file name for electrostatic problem
|
private |
table of the gradients of the potential, gradV.size() is the number of tetra
|
private |
table of the Hm vectors (contribution of the STT to the tet::integrales) ; Hm.size() is the number of tetra
|
private |
ksi is in Thiaville notations beta_DW
|
private |
maximum number of iteration for biconjugate stabilized gradient
|
private |
mesh object to store nodes, fac, tet, and others geometrical values related to the mesh ( const ref )
|
private |
spin transfer torque parameters
|
private |
a prefactor for BE coefficient coefficients
|
private |
number of digits in the optional output file
|
private |
electrostatic potential values for boundary conditions, V.size() is the size of the vector of nodes
|
private |
if verbose set to true, some printing are sent to terminal