1 #ifndef spinAccumulationSolver_h
2 #define spinAccumulationSolver_h
10 #include "meshUtils.h"
13 const int DIM_PB_SPIN_ACC = 3;
60 std::vector<double>
potential(
const double factor)
const;
63 std::vector<Eigen::Vector3d>
s;
86 std::vector<double>
V;
131 void integrales(
const Tetra::Tet &tet, Eigen::Matrix<double,DIM_PB*Tetra::N,DIM_PB*Tetra::N> &AE)
const;
135 std::vector<double> &BE )
const;
Container for all the settings provided by the user, with conversions to/from YAML.
Definition: settings.h:72
template class for the different solvers template parameter DIM_PROBLEM: dimensionnality of the probl...
Definition: solver.h:22
Definition: spinAccumulationSolver.h:25
void integrales(const Tetra::Tet &tet, Eigen::Matrix< double, DIM_PB *Tetra::N, DIM_PB *Tetra::N > &AE) const
Definition: spinAccumulationSolver.cpp:248
void boundaryConditions(void)
Definition: spinAccumulationSolver.cpp:104
double getDiffusionCst(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:128
double getLsd(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:137
spinAcc(const Settings &mySettings, Mesh::mesh &_msh, const double _tol, const int max_iter)
Definition: spinAccumulationSolver.cpp:11
bool solve(void)
Definition: spinAccumulationSolver.cpp:186
std::vector< int > idxDirichlet
Definition: spinAccumulationSolver.h:76
double getSigma(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:125
const int precision
Definition: spinAccumulationSolver.h:93
std::vector< double > valDirichlet
Definition: spinAccumulationSolver.h:72
Nodes::step uStep
Definition: spinAccumulationSolver.h:118
double getPolarizationRate(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:134
double V_D
Definition: spinAccumulationSolver.h:90
double getLsf(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:140
void prepareExtraField(void) const
Definition: spinAccumulationSolver.cpp:151
std::vector< double > potential(const double factor) const
Definition: spinAccumulationSolver.cpp:163
std::vector< Eigen::Vector3d > s
Definition: spinAccumulationSolver.h:63
void checkBoundaryConditions(void) const override
Definition: spinAccumulationSolver.cpp:52
double getMs(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:122
Eigen::Matrix< double, Nodes::DIM, Tetra::N > calc_u_nod(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:143
void fillDirichletData(const int k, Eigen::Vector3d &s_value)
Definition: spinAccumulationSolver.cpp:94
bool compute(const Nodes::step k=Nodes::NEXT)
Definition: spinAccumulationSolver.cpp:171
std::vector< double > V
Definition: spinAccumulationSolver.h:86
double jn_multiplier
Definition: spinAccumulationSolver.h:54
solver for electrostatic problem when spin accumulation is required header containing electrostatSolv...
step
Definition: node.h:26
header to define struct Node
two templates to fill matrix and vectors in various dimensionnality situations. DIM_PROBLEM = 1 is us...
namespace Tetra header containing Tet class, some constants, and integrales