FeProblem Class Reference

Finite Element problem class. More...

#include <feproblem.h>

List of all members.

Classes

struct  Compare
struct  Key

Public Member Functions

 FeProblem (WeakForm *wf)
virtual ~FeProblem ()
void free ()
void set_spaces (int n,...)
void set_pss (int n,...)
Spaceget_space (int n)
PrecalcShapesetget_pss (int n)
void create (SparseMatrix *mat)
void assemble (const Vector *x, Vector *f, _Matrix *jac)
int get_num_dofs ()
bool is_matrix_free ()
void invalidate_matrix ()

Protected Member Functions

bool is_up_to_date ()
scalar ** get_matrix_buffer (int n)
ExtData< Ord > * init_ext_fns_ord (std::vector< MeshFunction * > &ext)
ExtData< scalar > * init_ext_fns (std::vector< MeshFunction * > &ext, RefMap *rm, const int order)
Func< double > * get_fn (PrecalcShapeset *fu, RefMap *rm, const int order)
void init_cache ()
void delete_cache ()
scalar eval_form (WeakForm::JacFormVol *bf, Solution *sln[], PrecalcShapeset *fu, PrecalcShapeset *fv, RefMap *ru, RefMap *rv)
scalar eval_form (WeakForm::ResFormVol *lf, Solution *sln[], PrecalcShapeset *fv, RefMap *rv)
scalar eval_form (WeakForm::JacFormSurf *bf, Solution *sln[], PrecalcShapeset *fu, PrecalcShapeset *fv, RefMap *ru, RefMap *rv, EdgePos *ep)
scalar eval_form (WeakForm::ResFormSurf *lf, Solution *sln[], PrecalcShapeset *fv, RefMap *rv, EdgePos *ep)

Protected Attributes

WeakFormwf
int ndofs
int * sp_seq
int wf_seq
Space ** spaces
Solution ** slns
PrecalcShapeset ** pss
int num_user_pss
bool values_changed
bool struct_changed
bool have_spaces
bool have_matrix
scalar ** buffer
int mat_size
std::map< Key, Func< double >
*, Compare
cache_fn
Geom< double > * cache_e [g_max_quad+1+4]
double * cache_jwt [g_max_quad+1+4]

Detailed Description

Finite Element problem class.

This class does assembling into passed-in structures.


Constructor & Destructor Documentation

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

Member Function Documentation

void FeProblem::assemble ( const Vector x,
Vector f,
_Matrix jac 
)
void FeProblem::create ( SparseMatrix mat  ) 
void FeProblem::delete_cache (  )  [protected]
scalar FeProblem::eval_form ( WeakForm::ResFormSurf lf,
Solution sln[],
PrecalcShapeset fv,
RefMap rv,
EdgePos ep 
) [protected]
scalar FeProblem::eval_form ( WeakForm::JacFormSurf bf,
Solution sln[],
PrecalcShapeset fu,
PrecalcShapeset fv,
RefMap ru,
RefMap rv,
EdgePos ep 
) [protected]
scalar FeProblem::eval_form ( WeakForm::ResFormVol lf,
Solution sln[],
PrecalcShapeset fv,
RefMap rv 
) [protected]
scalar FeProblem::eval_form ( WeakForm::JacFormVol bf,
Solution sln[],
PrecalcShapeset fu,
PrecalcShapeset fv,
RefMap ru,
RefMap rv 
) [protected]
void FeProblem::free (  ) 
Func< double > * FeProblem::get_fn ( PrecalcShapeset fu,
RefMap rm,
const int  order 
) [protected]
scalar** FeProblem::get_matrix_buffer ( int  n  )  [inline, protected]
int FeProblem::get_num_dofs (  ) 
PrecalcShapeset* FeProblem::get_pss ( int  n  )  [inline]
Space* FeProblem::get_space ( int  n  )  [inline]
void FeProblem::init_cache (  )  [protected]
ExtData< scalar > * FeProblem::init_ext_fns ( std::vector< MeshFunction * > &  ext,
RefMap rm,
const int  order 
) [protected]
ExtData< Ord > * FeProblem::init_ext_fns_ord ( std::vector< MeshFunction * > &  ext  )  [protected]
void FeProblem::invalidate_matrix (  )  [inline]
bool FeProblem::is_matrix_free (  )  [inline]
bool FeProblem::is_up_to_date (  )  [protected]
void FeProblem::set_pss ( int  n,
  ... 
)
void FeProblem::set_spaces ( int  n,
  ... 
)

Member Data Documentation

scalar** FeProblem::buffer [protected]
Geom<double>* FeProblem::cache_e[g_max_quad+1+4] [protected]
std::map<Key, Func<double>*, Compare> FeProblem::cache_fn [protected]
double* FeProblem::cache_jwt[g_max_quad+1+4] [protected]
bool FeProblem::have_matrix [protected]
bool FeProblem::have_spaces [protected]
int FeProblem::mat_size [protected]
int FeProblem::ndofs [protected]
int FeProblem::num_user_pss [protected]
Solution** FeProblem::slns [protected]
int* FeProblem::sp_seq [protected]
Space** FeProblem::spaces [protected]
bool FeProblem::struct_changed [protected]
bool FeProblem::values_changed [protected]
WeakForm* FeProblem::wf [protected]
int FeProblem::wf_seq [protected]

The documentation for this class was generated from the following files:
Generated on Sat Jun 5 15:17:43 2010 for Hermes2D Library: Real Version by  doxygen 1.6.3