KADATH
adapted_bh.hpp
1 /*
2  Copyright 2017 Philippe Grandclement
3 
4  This file is part of Kadath.
5 
6  Kadath is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  Kadath is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with Kadath. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef __ADAPTED_BH_HPP_
21 #define __ADAPTED_BH_HPP_
22 
23 #include "space.hpp"
24 #include "term_eq.hpp"
25 #include "spheric.hpp"
26 #include "metric.hpp"
27 #include "adapted.hpp"
28 
29 namespace Kadath {
30 
31 
36 class Space_adapted_bh : public Space {
37  public:
45  Space_adapted_bh (int base, const Point& cr, const Dim_array& nbr, const Array<double>& bounds) ;
46  Space_adapted_bh (FILE*) ;
47  virtual ~Space_adapted_bh() ;
48  virtual void save(FILE*) const ;
49 
50  virtual int nbr_unknowns_from_variable_domains() const ;
51  virtual void affecte_coef_to_variable_domains(int& , int, Array<int>&) const ;
52  virtual void xx_to_ders_variable_domains(const Array<double>&, int&) const ;
53  virtual void xx_to_vars_variable_domains(System_of_eqs*, const Array<double>&, int&) const ;
54 } ;
55 }
56 #endif
Class for storing the dimensions of an array.
Definition: dim_array.hpp:34
The class Point is used to store the coordinates of a point.
Definition: point.hpp:30
The Space_spheric_adapted class fills the space with one shell adapted on the inside,...
Definition: adapted_bh.hpp:36
virtual void xx_to_ders_variable_domains(const Array< double > &, int &) const
Update the vairable domains from a set of values.
virtual void save(FILE *) const
Saving function.
Space_adapted_bh(int base, const Point &cr, const Dim_array &nbr, const Array< double > &bounds)
virtual void affecte_coef_to_variable_domains(int &, int, Array< int > &) const
The variation of the functions describing the shape of the Domain are affected from the unknowns of t...
virtual ~Space_adapted_bh()
Destructor
virtual int nbr_unknowns_from_variable_domains() const
Gives the number of unknowns coming from the variable shape of the domain.
virtual void xx_to_vars_variable_domains(System_of_eqs *, const Array< double > &, int &) const
Update the variables of a system, from the variation of the shape of the domains.
The Space class is an ensemble of domains describing the whole space of the computation.
Definition: space.hpp:1362
Class used to describe and solve a system of equations.