Laplacian Solver using discontinous approximation spaces
solve on
and
on
Public Types | |
typedef boost::shared_ptr < backend_type > | backend_ptrtype |
typedef Backend< value_type > | backend_type |
typedef Entity< Dim, 1, Dim > | entity_type |
typedef boost::shared_ptr < export_type > | export_ptrtype |
typedef Exporter< mesh_type > | export_type |
typedef boost::shared_ptr < mesh_type > | mesh_ptrtype |
typedef Mesh< entity_type > | mesh_type |
typedef p0_space_type::element_type | p0_element_type |
typedef FunctionSpace < mesh_type, bases< Lagrange < 0, Scalar > >, Discontinuous > | p0_space_type |
typedef backend_type::sparse_matrix_ptrtype | sparse_matrix_ptrtype |
typedef backend_type::sparse_matrix_type | sparse_matrix_type |
typedef double | value_type |
typedef backend_type::vector_ptrtype | vector_ptrtype |
typedef backend_type::vector_type | vector_type |
![]() | |
typedef boost::ptr_list< Simget > | simgets_type |
Simget collection type. | |
typedef simgets_type::iterator | simget_iterator |
Simget iterator over the collection. | |
enum | Stats { FLAT = 1<<1, HEADER = 1<<2, ERRORS = 1<<3, TIME = 1<<4, DATA = 1<<5, NUMBERS = 1<<6, ALL = ERRORS | TIME | DATA | NUMBERS } |
Public Member Functions | |
void | operator() () |
void | run () |
![]() | |
Application () | |
Application (AboutData const &ad) | |
Application (AboutData const &ad, po::options_description const &od) | |
Application (int argc, char **argv, AboutData const &ad) | |
Application (int argc, char **argv, AboutData const &ad, po::options_description const &od) | |
Application (Application const &app) | |
virtual | ~Application () |
Application (int argc, char **argv, AboutData const &ad) | |
Application (int argc, char **argv, AboutData const &ad, po::options_description const &od) | |
~Application () | |
Application (int argc, char **argv, AboutData const &ad) | |
Application (int argc, char **argv, AboutData const &ad, po::options_description const &od) | |
Application (Application const &) | |
~Application () | |
void | setName1 (std::string const &name1) |
void | setName2 (std::string const &name2) |
void | setH (double h, int precision=4) |
void | setDimension (int dim) |
po::options_description const & | optionsDescription () const |
po::variables_map const & | vm () const |
AboutData const & | about () const |
int | unknownArgc () const |
char ** | unknownArgv () const |
uint16_type | nProcess () |
uint16_type | processId () |
bool | isMPIInitialized () const |
std::string | rootRepository () const |
simget_iterator | begin () |
simget_iterator | end () |
size_type | nSimgets () const |
bool | verbose () const |
bool | isMPIInitialized () const |
Application & | changeRepository (boost::format) |
WorldComm & | comm () |
WorldComm const & | comm () const |
void | barrier () |
void | add (Simget *simget) |
virtual void | run (const double *X, unsigned long P, double *Y, unsigned long N) |
void | setStats (std::vector< std::string > const &keys) |
void | printStats (std::ostream &out, size_type stats=ALL) const |
void | printStats (std::ostream &out, std::vector< std::string > const &keys, size_type stats=ALL) const |
std::string | resultFileName () const |
Static Public Attributes | |
static const uint16_type | imOrder = 2*Order |
Additional Inherited Members | |
![]() | |
static void | barrier () |
static mpi::communicator const & | comm () |
static bool | initialized () |
static bool | finalized () |
static std::string | processorName () |
static bool | initialized () |
static bool | finalized () |
static std::string | processorName () |
template<class T > | |
static void | Send (const T &obj, int proc, int tag) |
template<class T > | |
static void | Broadcast (T &obj) |
template<class T > | |
static void | Recv (T &obj, int proc, int tag) |
template<class T > | |
static void | Broadcast (T &, int=0) |
static void | barrier () |
![]() | |
void | doOptions (int argc, char **argv) |
void | parseAndStoreOptions (po::command_line_parser parser, bool extra_parser=false) |
void | processGenericOptions () |
void | setLogs () |
|
inline |
alias for run()
|
virtual |
run the convergence test
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
Reimplemented from Feel::Application.