1 #ifndef spinAccumulationSolver_h
2 #define spinAccumulationSolver_h
10 #include "meshUtils.h"
13 const int DIM_PB_SPIN_ACC = 3;
43 std::vector<Eigen::Vector3d>
s;
65 std::vector<double>
V;
99 void integrales(
const Tetra::Tet &tet, Eigen::Matrix<double,DIM_PB*Tetra::N,DIM_PB*Tetra::N> &AE)
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:23
void integrales(const Tetra::Tet &tet, Eigen::Matrix< double, DIM_PB *Tetra::N, DIM_PB *Tetra::N > &AE) const
Definition: spinAccumulationSolver.cpp:211
void boundaryConditions(void)
Definition: spinAccumulationSolver.cpp:86
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:8
bool compute(void)
Definition: spinAccumulationSolver.cpp:145
bool solve(void)
Definition: spinAccumulationSolver.cpp:160
std::vector< int > idxDirichlet
Definition: spinAccumulationSolver.h:57
double getSigma(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:115
const int precision
Definition: spinAccumulationSolver.h:68
std::vector< double > valDirichlet
Definition: spinAccumulationSolver.h:53
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:133
std::vector< Eigen::Vector3d > s
Definition: spinAccumulationSolver.h:43
void checkBoundaryConditions(void) const override
Definition: spinAccumulationSolver.cpp:39
double getMs(const Tetra::Tet &tet) const
Definition: spinAccumulationSolver.cpp:112
void fillDirichletData(const int k, Eigen::Vector3d &s_value)
Definition: spinAccumulationSolver.cpp:76
std::vector< double > V
Definition: spinAccumulationSolver.h:65
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