DiscreteProblem Class Reference

Finite Element problem class. More...

#include <discrete_problem.h>

List of all members.

Classes

struct  fn_key_t
struct  FnCache

Public Member Functions

 DiscreteProblem (WeakForm *wf)
virtual ~DiscreteProblem ()
void free ()
void set_spaces (Tuple< Space * > sp)
void set_space (Space *sp)
void create (SparseMatrix *mat)
void assemble (Vector *rhs, Matrix *jac, Vector *x=NULL)
void assemble (Vector *rhs, Matrix *jac, Tuple< Solution * > u_ext=Tuple< Solution * >())
int get_num_dofs ()
bool is_matrix_free ()

Protected Member Functions

scalar ** get_matrix_buffer (int n)
 dimension of the matrix held by 'matrix_buffer'
bool is_up_to_date ()
scalar eval_form (WeakForm::MatrixFormVol *mfv, Tuple< Solution * > u_ext, ShapeFunction *fu, ShapeFunction *fv, RefMap *ru, RefMap *rv)
scalar eval_form (WeakForm::VectorFormVol *vfv, Tuple< Solution * > u_ext, ShapeFunction *fv, RefMap *rv)
scalar eval_form (WeakForm::MatrixFormSurf *mfs, Tuple< Solution * > u_ext, ShapeFunction *fu, ShapeFunction *fv, RefMap *ru, RefMap *rv, FacePos *fp)
scalar eval_form (WeakForm::VectorFormSurf *vfs, Tuple< Solution * > u_ext, ShapeFunction *fv, RefMap *rv, FacePos *fp)
sfn_tget_fn (ShapeFunction *fu, int order, RefMap *rm, const int np, const QuadPt3D *pt)
sfn_tget_fn (ShapeFunction *fu, int order, RefMap *rm, int iface, const int np, const QuadPt3D *pt)
mfn_tget_fn (Solution *fu, int order, RefMap *rm, const int np, const QuadPt3D *pt)
void init_ext_fns (user_data_t< ord_t > &fake_ud, std::vector< MeshFunction * > &ext)
void init_ext_fns (user_data_t< scalar > &ud, std::vector< MeshFunction * > &ext, int order, RefMap *rm, const int np, const QuadPt3D *pt)

Protected Attributes

WeakFormwf
int ndof
int * sp_seq
 number of DOFs
Space ** spaces
 sequence numbers of spaces
Solution ** slns
bool have_spaces
scalar ** matrix_buffer
int matrix_buffer_dim
 buffer for holding square matrix (during assembling)
struct DiscreteProblem::FnCache fn_cache

Detailed Description

Finite Element problem class.

This class does assembling into passed-in structures.


Constructor & Destructor Documentation

DiscreteProblem::DiscreteProblem ( WeakForm wf  ) 
DiscreteProblem::~DiscreteProblem (  )  [virtual]

Member Function Documentation

void DiscreteProblem::assemble ( Vector rhs,
Matrix jac,
Tuple< Solution * >  u_ext = Tuple<Solution*> () 
)
void DiscreteProblem::assemble ( Vector rhs,
Matrix jac,
Vector x = NULL 
)
void DiscreteProblem::create ( SparseMatrix mat  ) 
scalar DiscreteProblem::eval_form ( WeakForm::VectorFormSurf vfs,
Tuple< Solution * >  u_ext,
ShapeFunction fv,
RefMap rv,
FacePos fp 
) [protected]
scalar DiscreteProblem::eval_form ( WeakForm::MatrixFormSurf mfs,
Tuple< Solution * >  u_ext,
ShapeFunction fu,
ShapeFunction fv,
RefMap ru,
RefMap rv,
FacePos fp 
) [protected]
scalar DiscreteProblem::eval_form ( WeakForm::VectorFormVol vfv,
Tuple< Solution * >  u_ext,
ShapeFunction fv,
RefMap rv 
) [protected]
scalar DiscreteProblem::eval_form ( WeakForm::MatrixFormVol mfv,
Tuple< Solution * >  u_ext,
ShapeFunction fu,
ShapeFunction fv,
RefMap ru,
RefMap rv 
) [protected]
void DiscreteProblem::free (  ) 
mfn_t * DiscreteProblem::get_fn ( Solution fu,
int  order,
RefMap rm,
const int  np,
const QuadPt3D pt 
) [protected]
sfn_t * DiscreteProblem::get_fn ( ShapeFunction fu,
int  order,
RefMap rm,
int  iface,
const int  np,
const QuadPt3D pt 
) [protected]
sfn_t * DiscreteProblem::get_fn ( ShapeFunction fu,
int  order,
RefMap rm,
const int  np,
const QuadPt3D pt 
) [protected]
scalar ** DiscreteProblem::get_matrix_buffer ( int  n  )  [inline, protected]

dimension of the matrix held by 'matrix_buffer'

int DiscreteProblem::get_num_dofs (  ) 
void DiscreteProblem::init_ext_fns ( user_data_t< scalar > &  ud,
std::vector< MeshFunction * > &  ext,
int  order,
RefMap rm,
const int  np,
const QuadPt3D pt 
) [protected]
void DiscreteProblem::init_ext_fns ( user_data_t< ord_t > &  fake_ud,
std::vector< MeshFunction * > &  ext 
) [protected]
bool DiscreteProblem::is_matrix_free (  )  [inline]
bool DiscreteProblem::is_up_to_date (  )  [protected]
void DiscreteProblem::set_space ( Space sp  ) 
void DiscreteProblem::set_spaces ( Tuple< Space * >  sp  ) 

Member Data Documentation

bool DiscreteProblem::have_spaces [protected]

buffer for holding square matrix (during assembling)

int DiscreteProblem::ndof [protected]
int* DiscreteProblem::sp_seq [protected]

number of DOFs

sequence numbers of spaces


The documentation for this class was generated from the following files:
Generated on Fri Sep 3 09:22:20 2010 for Hermes3D Library: Real Version by  doxygen 1.6.3