20 #include "headcpp.hpp"
22 #include "utilities.hpp"
25 #include "tensor_impl.hpp"
26 #include "system_of_eqs.hpp"
27 #include "name_tools.hpp"
30 sys.
add_eq_bc (2, INNER_BC, name, nused, pused) ;
34 sys.
add_eq_bc (5, INNER_BC, name, nused, pused) ;
38 sys.
add_eq_bc (11, OUTER_BC, name, nused, pused) ;
84 for (
int d=6 ; d<=10 ; d++)
98 #ifndef REMOVE_ALL_CHECKS
100 cerr <<
"add_eq_int_inf requires a compactified domain" << endl ;
109 bool indic = sys.
is_ope_bin(nom, p1, p2,
'=') ;
111 cerr <<
"= needed for equations" << endl ;
116 indic = ((p2[0]==
'0') && (p2[1]==
' ') && (p2[2]==
'\0')) ?
140 bool indic = sys.
is_ope_bin(nom, p1, p2,
'=') ;
142 cerr <<
"= needed for equations" << endl ;
148 indic = ((p2[0]==
'0') && (p2[1]==
' ') && (p2[2]==
'\0')) ?
173 bool indic = sys.
is_ope_bin(nom, p1, p2,
'=') ;
175 cerr <<
"= needed for equations" << endl ;
181 indic = ((p2[0]==
'0') && (p2[1]==
' ') && (p2[2]==
'\0')) ?
208 trim_spaces (auxi, name) ;
Class for a spherical compactified domain and a symmetry with respect to the plane .
Class implementing an integral equation.
Class that gives the position inside a multi-dimensional Array.
int & set(int i)
Read/write of the position in a given dimension.
The operator substraction.
void add_eq_zero_mode_inf(System_of_eqs &syst, const char *f, int jtarget, int ktarget)
Adds an equation saying that one coefficient of a field is zero (at infinity)
void add_eq_int_inf(System_of_eqs &syst, const char *eq)
Adds an equation being a surface integral at infinity.
void add_bc_sphere_two(System_of_eqs &syst, const char *eq, int nused=-1, Array< int > **pused=0x0)
Sets a boundary condition at the inner radius of the second outer shell.
void add_bc_sphere_one(System_of_eqs &syst, const char *eq, int nused=-1, Array< int > **pused=0x0)
Sets a boundary condition at the inner radius of the first outer shell.
void add_bc_outer(System_of_eqs &syst, const char *eq, int nused=-1, Array< int > **pused=0x0)
Sets a boundary condition at the outer boundary.
void add_eq_int_sphere_two(System_of_eqs &syst, const char *eq)
Adds an equation being a surface integral on the first sphere.
void add_eq_int_sphere_one(System_of_eqs &syst, const char *eq)
Adds an equation being a surface integral on the first sphere.
void add_eq(System_of_eqs &syst, const char *eq, const char *rac, const char *rac_der, int nused=-1, Array< int > **pused=0x0)
Adds a bulk equation and two matching conditions.
Domain ** domains
Pointers on the various Domains.
int nbr_domains
Number od Domains.
Class used to describe and solve a system of equations.
virtual void add_eq_inside(int dom, const char *eq, int n_cmp=-1, Array< int > **p_cmp=nullptr)
Addition of an equation to be solved inside a domain (assumed to be second order).
virtual void add_eq_matching_import(int dom, int bb, const char *eq, int n_cmp=-1, Array< int > **p_cmp=nullptr)
Addition of an equation describing a matching condition between domains using the ("import" setting) ...
virtual void add_eq_mode(int dom, int bb, const char *eq, const Index &pos_cf, double val)
Addition of an equation prescribing the value of one coefficient of a scalar field,...
virtual void add_eq_matching(int dom, int bb, const char *eq, int n_cmp=-1, Array< int > **p_cmp=nullptr)
Addition of an equation describing a matching condition between two domains (standard setting)
int neq_int
Number of integral equations (i.e. which are doubles)
virtual void add_eq_bc(int dom, int bb, const char *eq, int n_cmp=-1, Array< int > **p_cmp=nullptr)
Addition of an equation describing a boundary condition.
bool is_ope_bin(const char *input, char *p1, char *p2, char symb) const
Checks if a string represents an operator of the type "a + b".
Ope_eq * give_ope(int dom, const char *name, int bb=0) const
Function that reads a string and returns a pointer on the generated Ope_eq.
int nbr_conditions
Total number of conditions (the number of coefficients of all the equations, once regularities are ta...
MMPtr_array< Eq_int > eq_int
Pointers onto the integral equations.