DAR Solver using continuous approximation spaces solve on
and
on
Dim | the geometric dimension of the problem (e.g. Dim=1, 2 or 3) |
Public Types | |
typedef bases< Lagrange< Order, Scalar > > | basis_type |
the basis type of our approximation space | |
typedef Simplex< Dim > | convex_type |
geometry entities type composing the mesh, here Simplex in Dimension Dim of Order 1 | |
typedef space_type::element_type | element_type |
an element type of the approximation function space | |
typedef boost::shared_ptr < export_type > | export_ptrtype |
the exporter factory (shared_ptr<> type) | |
typedef Exporter< mesh_type > | export_type |
the exporter factory type | |
typedef boost::shared_ptr < mesh_type > | mesh_ptrtype |
mesh shared_ptr<> type | |
typedef Mesh< convex_type > | mesh_type |
mesh type | |
typedef boost::shared_ptr < space_type > | space_ptrtype |
the approximation function space type (shared_ptr<> type) | |
typedef FunctionSpace < mesh_type, basis_type > | space_type |
the approximation function space type | |
typedef double | value_type |
numerical type is double | |
Public Member Functions | |
DAR () | |
void | run () |
![]() | |
Simget () | |
virtual | ~Simget () |
destructor | |
Simget & | operator= (Simget const &o) |
copy operator | |
virtual std::string | name () const |
return the name of the simget | |
mpi::communicator | comm () const |
po::variables_map const & | vm () const |
AboutData const & | about () const |
double | meshSize () const |
return the mesh size | |
double | meshSizeInit () const |
return the mesh size | |
int | level () const |
return the refinement level | |
ptree::ptree const & | stats () const |
return the statistics associated to the simget after calling run | |
ptree::ptree & | stats () |
return the statistics associated to the simget after calling run | |
void | setMeshSize (double h) |
set the mesh size | |
void | setMeshSizeInit (double h) |
set the initial mesh size | |
void | setLevel (int level) |
set the refinment level if applicable | |
virtual void | run (const double *X, unsigned long P, double *Y, unsigned long N) |
void | print (std::ostream &out, std::vector< ptree::ptree > &stats) |
Static Public Attributes | |
static const uint16_type | Order = 2 |
Polynomial order ![]() | |
Additional Inherited Members | |
![]() | |
Simget & | changeRepository (boost::format fmt) |
![]() | |
int | M_level |
double | M_meshSize |
double | M_meshSizeInit |
ptree::ptree | M_stats |
|
virtual |
simply execute the simget
The function space and some associated elements(functions) are then defined
define the expression of the exact solution and
the expression of the right hand side such that
is the exact solution
Construction of the right hand side. F is the vector that holds the algebraic representation of the right habd side of the problem
create the matrix that will hold the algebraic representation of the left hand side
assemble $ u v$
weak dirichlet conditions treatment for the boundaries marked 1 and 3
strong(algebraic) dirichlet conditions treatment for the boundaries marked 1 and 3
solve the system
compute the
save the results
Implements Feel::Simget.
References Feel::boundaryfaces(), Feel::elements(), Feel::integrate(), Feel::internalfaces(), and Feel::project().