1 #ifndef spinAccumulationSolver_h
2 #define spinAccumulationSolver_h
10 #include "meshUtils.h"
13 const int DIM_PB_SPIN_ACC = 3;
46 std::vector<Eigen::Vector3d>
s;
67 std::vector<double>
V;
105 void integrales(
const Tetra::Tet &tet, Eigen::Matrix<double,DIM_PB*Tetra::N,DIM_PB*Tetra::N> &AE)
const;
109 std::vector<double> &BE )
const;
Container for all the settings provided by the user, with conversions to/from YAML.
Definition: settings.h:70
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:229
void boundaryConditions(void)
Definition: spinAccumulationSolver.cpp:94
double getDiffusionCst(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:118
double getLsd(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:127
spinAcc(const Settings &mySettings, Mesh::mesh &_msh, const double _tol, const int max_iter)
Definition: spinAccumulationSolver.cpp:9
bool compute(void)
Definition: spinAccumulationSolver.cpp:153
bool solve(void)
Definition: spinAccumulationSolver.cpp:168
std::vector< int > idxDirichlet
Definition: spinAccumulationSolver.h:59
double getSigma(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:115
const int precision
Definition: spinAccumulationSolver.h:70
std::vector< double > valDirichlet
Definition: spinAccumulationSolver.h:55
double getPolarizationRate(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:124
double getLsf(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:130
void prepareExtraField(void) const
Definition: spinAccumulationSolver.cpp:141
std::vector< Eigen::Vector3d > s
Definition: spinAccumulationSolver.h:46
void checkBoundaryConditions(void) const override
Definition: spinAccumulationSolver.cpp:42
double getMs(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:112
Eigen::Matrix< double, Nodes::DIM, Tetra::N > calc_u_nod(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:133
void fillDirichletData(const int k, Eigen::Vector3d &s_value)
Definition: spinAccumulationSolver.cpp:84
std::vector< double > V
Definition: spinAccumulationSolver.h:67
solver for electrostatic problem when spin accumulation is required header containing electrostatSolv...
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