Laplacian equation with instationnary term solver using continuous approximation spaces solve
on
and
on 
| Dim | the geometric dimension of the problem = 2 |
Inheritance diagram for Laplacian_parabolic< Dim, Order >:Public Types | |
|
typedef bases< Lagrange< Order, Scalar > > | basis_type |
| the basis type of our approximation space | |
|
typedef boost::shared_ptr < bdf_type > | bdf_ptrtype |
| typedef Bdf< space_type > | bdf_type |
| 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 < error_type > | error_ptrtype |
| typedef ErrorBase< Dim, Order > | error_type |
|
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 | |
| Laplacian_parabolic () | |
| void | run () |
| Function to compute the equation and find the unknown. More... | |
Public Member Functions inherited from Feel::Simget | |
| 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) |
Additional Inherited Members | |
Protected Member Functions inherited from Feel::Simget | |
| Simget & | changeRepository (boost::format fmt) |
Protected Attributes inherited from Feel::Simget | |
| int | M_level |
| double | M_meshSize |
| double | M_meshSizeInit |
| ptree::ptree | M_stats |
|
inline |
Constructor
|
virtual |
Function to compute the equation and find the unknown.
Loading variables from cfg file
Creation of a new mesh depending on the information of the geofile
The function space and some associated elements (functions) are then defined
[marker11]
[marker11]
[marker12]
[marker12]
Add extra parameters ( t for example )
[marker13]
[marker13]
Initializing u, g and f from initial temperature expression
BDF implementation
create the matrix that will hold the algebraic representation of the left hand side (only stationnary terms)
[marker3]
assemble $ u v$
[marker3]
weak dirichlet conditions treatment for the boundaries marked 1 and 3



assemble $ u^{n+1} v$
add temporal term to the lhs and the rhs
add time depending terms for the left hand side
strong(algebraic) dirichlet conditions treatment for the boundaries marked 1 and 3
solve the system
Computing L2 and H1 error
save the results
[marker15]
[marker15]
[marker16]
[marker16]
Implements Feel::Simget.
References Feel::elements(), Feel::integrate(), Feel::markedfaces(), and Feel::project().
1.8.5