1 #ifndef linear_algebra_h
2 #define linear_algebra_h
10 #pragma GCC diagnostic push
11 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
13 #pragma GCC diagnostic pop
20 #include "meshUtils.h"
58 for (
int i=0;i<
NOD;i++)
73 auto insert_pair = [
this, &shape](
int i,
int j)
75 shape[2*i].insert(2*j);
76 shape[2*i].insert(2*j+1);
77 shape[2*i+1].insert(2*j);
78 shape[2*i+1].insert(2*j+1);
80 for (
int i = 0; i <
NOD; ++i)
81 { insert_pair(i, i); }
84 insert_pair(edge.first, edge.second);
85 insert_pair(edge.second, edge.first);
130 std::vector<double>
Xw;
set of class to handle sparse matrix operations for gradient conjugate algorithms a sparse vector cla...
Definition: linear_algebra.h:38
LinAlgebra(Settings &s, Mesh::mesh &my_msh)
Definition: linear_algebra.h:43
double DW_vz
Definition: linear_algebra.h:136
double get_v_max(void)
Definition: linear_algebra.h:111
void setExtSpaceField(Settings &s)
Definition: linear_algebra.cpp:83
Nodes::index idx_dir
Definition: linear_algebra.h:121
double v_max
Definition: linear_algebra.h:139
void prepareElements(Eigen::Vector3d const &Hext, timing const &t_prm)
Definition: linear_algebra.cpp:26
algebra::MatrixShape build_shape()
Definition: linear_algebra.h:70
void set_DW_vz(double vz)
Definition: linear_algebra.h:108
void buildInitGuess(std::vector< double > &G) const
Definition: linear_algebra.cpp:13
std::vector< int > lvd
Definition: linear_algebra.h:145
std::vector< double > Xw
Definition: linear_algebra.h:130
algebra::r_sparseMat K
Definition: linear_algebra.h:124
void base_projection()
Definition: linear_algebra.cpp:3
std::vector< double > L_rhs
Definition: linear_algebra.h:127
bool solve(timing const &t_prm)
Definition: solver.cpp:6
std::vector< Eigen::Matrix< double, Nodes::DIM, Tetra::NPI > > extSpaceField
Definition: linear_algebra.h:142
const int verbose
Definition: linear_algebra.h:133
std::vector< bool > magNode
Definition: mesh.h:331
std::vector< std::pair< int, int > > edges
Definition: mesh.h:326
Container for all the settings provided by the user, with conversions to/from YAML.
Definition: feellgoodSettings.h:73
Nodes::index recentering_direction
Definition: feellgoodSettings.h:147
field_exprType getFieldType(void) const
Definition: feellgoodSettings.h:309
bool recenter
Definition: feellgoodSettings.h:144
Read-mode square sparse matrix.
Definition: sparseMat.h:89
template class for the different solvers template parameter DIM_PROBLEM: dimensionnality of the probl...
Definition: solver.h:20
Mesh::mesh * msh
Definition: solver.h:37
const int NOD
Definition: solver.h:40
Definition: time_integration.h:6
contains namespace Facette header containing Fac class, and some constants and a less_than operator t...
many settings to give some parameters to the solver, boundary conditions for the problem,...
@ R4toR3
Definition: feellgoodSettings.h:46
const int DIM_PB_MAG
Definition: linear_algebra.h:27
index
Definition: node.h:34
std::vector< std::set< int > > MatrixShape
Definition: sparseMat.h:42
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