#include <gfemUCQuad.h>

Public Types | |
| enum | EvalMode { EVAL_ON_MICRO = 0, EVAL_ON_MACRO } |
Public Member Functions | |
| void | activateFormula (const concepts::ElementFormula< Cmplx > *formula) |
| const GfemDofIterator & | begin () const |
| int | getFomulaId (const ElementFormula< Cmplx > *formula_adr) |
| Real | getMacroShape (int i_macro, Real x) const |
| Real2d | getMacroShapeD_unit (int i_macro1, int i_macro2, Real x, Real y) const |
| const ElementWithCell< Real > * | getMicroElem (int i_quad) const |
| MapReal2d | getMicroJacobian (int i_quad) const |
| const Cmplx & | getMicroShape (int i_micro, int i_quad) const |
| Cmplx & | getMicroShape (int i_ucfun, int i_quad) |
| Cmplx2d & | getMicroShapeD (int i_ucfun, int i_quad) |
| const Cmplx2d & | getMicroShapeD (int i_ucfun, int i_quad) const |
| const int * | getPMacro () |
| an array of two elements which are the maximal polinomial degrees of the Macro shapefunctions. | |
| const int * | getPMax () |
| an array of two elements which are the maximal polinomial degrees for macro shapefunctions or special overlap functions. | |
| const Cmplx * | getQPpart (int iMic) const |
| const Unitcell & | getUC () const |
| Real2d | getUCPoint (int i_quad, int repx=0, int repy=0) const |
| const Real & | getWeight (int i_quad) const |
| GfemUCQuad (const Unitcell &uc, int p_macro[2]) | |
| int | num_shape () const |
| alias to numLDof() | |
| int | numLDof () const |
| int | numMacro () const |
| int | numMacroX () const |
| int | numMacroY () const |
| int | numMicro () const |
| int | numMonomX () |
| int | numMonomY () |
| int | numQuadPoints () const |
| int | numUCFun () const |
| Real | powi (Real x, int power) |
| void | recomputeShapefunctions () |
| void | registerFormula (const RCP< const concepts::ElementFormula< Cmplx > > &formula, EvalMode mode=EVAL_ON_MICRO) |
| adds the formula if it didn't exist, in all cases the formula is activated. | |
| void | setCurFomula (int id) |
| void | unsetCurFomula () |
| virtual | ~GfemUCQuad () |
| Cmplx | getUCBF_Id (int px, int py, int iMicro1, int iMicro2) const |
| Cmplx & | getUCBF_Id (int px, int py, int iMicro1, int iMicro2) |
| Cmplx | getUCBF_Lap (int px, int py, int iMicro1, int iMicro2, int i_diff1, int i_diff2, int i_comp) const |
| Cmplx & | getUCBF_Lap (int px, int py, int iMicro1, int iMicro2, int i_diff1, int i_diff2, int i_comp) |
Protected Member Functions | |
| void | addFormula (const RCP< const concepts::ElementFormula< Cmplx > > &formula, EvalMode mode) |
| void | clear () |
| void | fillUCBF (const concepts::ElementFormula< Cmplx > &formula) |
| Cmplx & | getUCBF (Cmplx *vals, int px, int py, int iMicro1, int iMicro2) |
| Cmplx *& | getUCBF_LapType (int i_diff1, int i_diff2, int i_comp) |
| void | initialise () |
Private Member Functions | |
| GfemUCQuad (const GfemUCQuad &other) | |
| GfemUCQuad & | operator= (const GfemUCQuad &other) |
Private Attributes | |
| Real * | abscissas_x |
| Real * | abscissas_y |
| EvalMode | cur_mode |
| std::vector< RCP< const ElementFormula< Cmplx > > > | formulas |
| GfemDofIterator | it_begin |
| const ElementWithCell< Real > ** | micro_elems |
| std::vector< EvalMode > | modes |
| int | n_micro |
| int | n_shape_macro_x |
| int | n_shape_macro_y |
| int | n_ucBF |
| = uc.size() | |
| int | n_ucfun |
| int | nquad |
| GfemOverlapCondition | overC |
| int | p_macro [2] |
| int | p_max [2] |
| const Unitcell & | uc |
| MapReal2d * | uc_jacobian |
| Cmplx * | uc_shape |
| Cmplx2d * | uc_shape_D |
| Cmplx * | ucBF_id |
| std::vector< Cmplx * > | ucBF_ids |
| Cmplx ** | ucBF_lap |
| std::vector< Cmplx ** > | ucBF_laps |
| Real * | weights |
Static Private Attributes | |
| static const int | N_LAP_COMP = 8 |
Definition at line 27 of file gfemUCQuad.h.
Definition at line 87 of file gfemUCQuad.h.
| concepts::gfem::GfemUCQuad::GfemUCQuad | ( | const Unitcell & | uc, |
| int | p_macro[2] | ||
| ) |
| virtual concepts::gfem::GfemUCQuad::~GfemUCQuad | ( | ) | [virtual] |
| concepts::gfem::GfemUCQuad::GfemUCQuad | ( | const GfemUCQuad & | other | ) | [private] |
| void concepts::gfem::GfemUCQuad::activateFormula | ( | const concepts::ElementFormula< Cmplx > * | formula | ) | [inline] |
Definition at line 78 of file gfemUCQuad.h.

| void concepts::gfem::GfemUCQuad::addFormula | ( | const RCP< const concepts::ElementFormula< Cmplx > > & | formula, |
| EvalMode | mode | ||
| ) | [inline, protected] |
| const GfemDofIterator& concepts::gfem::GfemUCQuad::begin | ( | ) | const [inline] |
Definition at line 155 of file gfemUCQuad.h.
| void concepts::gfem::GfemUCQuad::clear | ( | ) | [protected] |
| void concepts::gfem::GfemUCQuad::fillUCBF | ( | const concepts::ElementFormula< Cmplx > & | formula | ) | [protected] |
| int concepts::gfem::GfemUCQuad::getFomulaId | ( | const ElementFormula< Cmplx > * | formula_adr | ) | [inline] |
Definition at line 52 of file gfemUCQuad.h.
| const ElementWithCell<Real>* concepts::gfem::GfemUCQuad::getMicroElem | ( | int | i_quad | ) | const [inline] |
Definition at line 170 of file gfemUCQuad.h.
| MapReal2d concepts::gfem::GfemUCQuad::getMicroJacobian | ( | int | i_quad | ) | const [inline] |
Definition at line 174 of file gfemUCQuad.h.
| const Cmplx& concepts::gfem::GfemUCQuad::getMicroShape | ( | int | i_micro, |
| int | i_quad | ||
| ) | const [inline] |
Definition at line 179 of file gfemUCQuad.h.
| Cmplx& concepts::gfem::GfemUCQuad::getMicroShape | ( | int | i_ucfun, |
| int | i_quad | ||
| ) | [inline] |
| const Cmplx2d& concepts::gfem::GfemUCQuad::getMicroShapeD | ( | int | i_ucfun, |
| int | i_quad | ||
| ) | const [inline] |
Definition at line 218 of file gfemUCQuad.h.
| Cmplx2d& concepts::gfem::GfemUCQuad::getMicroShapeD | ( | int | i_ucfun, |
| int | i_quad | ||
| ) | [inline] |
| const int* concepts::gfem::GfemUCQuad::getPMacro | ( | ) | [inline] |
an array of two elements which are the maximal polinomial degrees of the Macro shapefunctions.
Definition at line 147 of file gfemUCQuad.h.
| const int* concepts::gfem::GfemUCQuad::getPMax | ( | ) | [inline] |
an array of two elements which are the maximal polinomial degrees for macro shapefunctions or special overlap functions.
Definition at line 140 of file gfemUCQuad.h.
| const Cmplx* concepts::gfem::GfemUCQuad::getQPpart | ( | int | iMic | ) | const [inline] |
| const Unitcell& concepts::gfem::GfemUCQuad::getUC | ( | ) | const [inline] |
Definition at line 123 of file gfemUCQuad.h.
| Cmplx concepts::gfem::GfemUCQuad::getUCBF_Id | ( | int | px, |
| int | py, | ||
| int | iMicro1, | ||
| int | iMicro2 | ||
| ) | const [inline] |
Definition at line 248 of file gfemUCQuad.h.
| Cmplx& concepts::gfem::GfemUCQuad::getUCBF_Id | ( | int | px, |
| int | py, | ||
| int | iMicro1, | ||
| int | iMicro2 | ||
| ) | [inline] |
Definition at line 252 of file gfemUCQuad.h.

| Cmplx concepts::gfem::GfemUCQuad::getUCBF_Lap | ( | int | px, |
| int | py, | ||
| int | iMicro1, | ||
| int | iMicro2, | ||
| int | i_diff1, | ||
| int | i_diff2, | ||
| int | i_comp | ||
| ) | const [inline] |
Definition at line 264 of file gfemUCQuad.h.
| Cmplx& concepts::gfem::GfemUCQuad::getUCBF_Lap | ( | int | px, |
| int | py, | ||
| int | iMicro1, | ||
| int | iMicro2, | ||
| int | i_diff1, | ||
| int | i_diff2, | ||
| int | i_comp | ||
| ) | [inline] |
Definition at line 271 of file gfemUCQuad.h.

| Cmplx*& concepts::gfem::GfemUCQuad::getUCBF_LapType | ( | int | i_diff1, |
| int | i_diff2, | ||
| int | i_comp | ||
| ) | [inline, protected] |
Definition at line 292 of file gfemUCQuad.h.
| Real2d concepts::gfem::GfemUCQuad::getUCPoint | ( | int | i_quad, |
| int | repx = 0, |
||
| int | repy = 0 |
||
| ) | const [inline] |
| const Real& concepts::gfem::GfemUCQuad::getWeight | ( | int | i_quad | ) | const [inline] |
Definition at line 229 of file gfemUCQuad.h.
| void concepts::gfem::GfemUCQuad::initialise | ( | ) | [protected] |
| int concepts::gfem::GfemUCQuad::num_shape | ( | ) | const [inline] |
alias to numLDof()
Definition at line 132 of file gfemUCQuad.h.

| int concepts::gfem::GfemUCQuad::numLDof | ( | ) | const [inline] |
| int concepts::gfem::GfemUCQuad::numMacro | ( | ) | const [inline] |
| int concepts::gfem::GfemUCQuad::numMacroX | ( | ) | const [inline] |
Definition at line 107 of file gfemUCQuad.h.
| int concepts::gfem::GfemUCQuad::numMacroY | ( | ) | const [inline] |
Definition at line 111 of file gfemUCQuad.h.
| int concepts::gfem::GfemUCQuad::numMicro | ( | ) | const [inline] |
Definition at line 115 of file gfemUCQuad.h.
| int concepts::gfem::GfemUCQuad::numMonomX | ( | ) | [inline] |
| int concepts::gfem::GfemUCQuad::numMonomY | ( | ) | [inline] |
| int concepts::gfem::GfemUCQuad::numQuadPoints | ( | ) | const [inline] |
Definition at line 160 of file gfemUCQuad.h.
| int concepts::gfem::GfemUCQuad::numUCFun | ( | ) | const [inline] |
Definition at line 119 of file gfemUCQuad.h.
| GfemUCQuad& concepts::gfem::GfemUCQuad::operator= | ( | const GfemUCQuad & | other | ) | [private] |
Definition at line 204 of file gfemUCQuad.h.
| void concepts::gfem::GfemUCQuad::recomputeShapefunctions | ( | ) | [inline] |
| void concepts::gfem::GfemUCQuad::registerFormula | ( | const RCP< const concepts::ElementFormula< Cmplx > > & | formula, |
| EvalMode | mode = EVAL_ON_MICRO |
||
| ) | [inline] |
adds the formula if it didn't exist, in all cases the formula is activated.
Definition at line 90 of file gfemUCQuad.h.

| void concepts::gfem::GfemUCQuad::setCurFomula | ( | int | id | ) | [inline] |
Definition at line 66 of file gfemUCQuad.h.
| void concepts::gfem::GfemUCQuad::unsetCurFomula | ( | ) | [inline] |
Definition at line 61 of file gfemUCQuad.h.
Real* concepts::gfem::GfemUCQuad::abscissas_x [private] |
Definition at line 343 of file gfemUCQuad.h.
Real* concepts::gfem::GfemUCQuad::abscissas_y [private] |
Definition at line 344 of file gfemUCQuad.h.
EvalMode concepts::gfem::GfemUCQuad::cur_mode [private] |
Definition at line 337 of file gfemUCQuad.h.
std::vector< RCP<const ElementFormula<Cmplx> > > concepts::gfem::GfemUCQuad::formulas [private] |
Definition at line 329 of file gfemUCQuad.h.
Definition at line 327 of file gfemUCQuad.h.
const ElementWithCell<Real>** concepts::gfem::GfemUCQuad::micro_elems [private] |
Definition at line 347 of file gfemUCQuad.h.
std::vector< EvalMode > concepts::gfem::GfemUCQuad::modes [private] |
Definition at line 330 of file gfemUCQuad.h.
const int concepts::gfem::GfemUCQuad::N_LAP_COMP = 8 [static, private] |
Definition at line 352 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::n_micro [private] |
Definition at line 334 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::n_shape_macro_x [private] |
Definition at line 340 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::n_shape_macro_y [private] |
Definition at line 341 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::n_ucBF [private] |
= uc.size()
Definition at line 336 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::n_ucfun [private] |
Definition at line 335 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::nquad [private] |
Definition at line 339 of file gfemUCQuad.h.
Definition at line 326 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::p_macro[2] [private] |
Definition at line 333 of file gfemUCQuad.h.
int concepts::gfem::GfemUCQuad::p_max[2] [private] |
Definition at line 332 of file gfemUCQuad.h.
const Unitcell& concepts::gfem::GfemUCQuad::uc [private] |
Definition at line 324 of file gfemUCQuad.h.
MapReal2d* concepts::gfem::GfemUCQuad::uc_jacobian [private] |
Definition at line 346 of file gfemUCQuad.h.
Cmplx* concepts::gfem::GfemUCQuad::uc_shape [private] |
Definition at line 349 of file gfemUCQuad.h.
Cmplx2d* concepts::gfem::GfemUCQuad::uc_shape_D [private] |
Definition at line 350 of file gfemUCQuad.h.
Cmplx* concepts::gfem::GfemUCQuad::ucBF_id [private] |
Definition at line 353 of file gfemUCQuad.h.
std::vector<Cmplx*> concepts::gfem::GfemUCQuad::ucBF_ids [private] |
Definition at line 356 of file gfemUCQuad.h.
Cmplx** concepts::gfem::GfemUCQuad::ucBF_lap [private] |
Definition at line 354 of file gfemUCQuad.h.
std::vector<Cmplx**> concepts::gfem::GfemUCQuad::ucBF_laps [private] |
Definition at line 357 of file gfemUCQuad.h.
Real* concepts::gfem::GfemUCQuad::weights [private] |
Definition at line 345 of file gfemUCQuad.h.