![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
Finite Element Method. More...
Classes | |
class | Beam |
struct | BCfunc |
struct | FaceBc |
struct | NodeBc |
class | Domain |
class | MPyPrms |
Forward declaration of Element since MPyPrms needs Element and Element needs MPyPrms. More... | |
class | Element |
class | Hex20 |
class | Hex8 |
class | Lin2 |
class | Quad4 |
class | Quad8 |
class | Tet10 |
class | Tri15 |
class | Tri3 |
class | Tri6 |
class | EquilibElem |
class | FlowElem |
class | GeomElem |
class | HydroMechElem |
class | NLRodState |
class | NLRod |
class | BCFuncs |
class | Node |
struct | IntegPoint |
class | Rod |
class | Solver |
class | RKSolver |
class | STDSolver |
class | UWPSolver |
class | USigCondElem |
class | USigElem |
class | USigEpsElem |
class | UWPElem |
Typedefs | |
typedef std::map< Node *, Array< double > > | Res_t |
Maps node to results at nodes. | |
typedef std::map< int, Array < Element * > > | Tag2Eles_t |
Maps tag to elements. | |
typedef void(* | pVTUfunc )(Vec3_t const &X, double Time, SDPair &KeysVals) |
Callback to be called in WriteVTU. | |
typedef Element *(* | ElementMakerPtr )(int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
typedef std::map< String, ElementMakerPtr > | ElementFactory_t |
typedef std::map< String, std::pair< String, String > > | ElementVarKeys_t |
ProbNameNumDim => (UvarKeys,FvarKeys) map. | |
typedef std::map< String, Array< String > > | ElementExtraKeys_t |
ProbNameNumDim => extra boundary condition keys. | |
typedef GeomElem *(* | GeomElemMakerPtr )(int NDim) |
typedef std::map< String, GeomElemMakerPtr > | GeomElemFactory_t |
typedef Solver *(* | SolverMakerPtr )(Domain &Dom, SDPair const &Flags, Solver::pOutFun OutFun, void *OutDat, Solver::pOutFun DbgFun, void *DbgDat) |
typedef std::map< String, SolverMakerPtr > | SolverFactory_t |
Functions | |
Element * | BeamMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | BeamRegister () |
std::ostream & | operator<< (std::ostream &os, Domain const &D) |
std::ostream & | operator<< (std::ostream &os, Element const &E) |
Element * | AllocElement (String const &Name, int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
GeomElem * | Hex20Maker (int NDim) |
int | Hex20Register () |
GeomElem * | Hex8Maker (int NDim) |
int | Hex8Register () |
GeomElem * | Lin2Maker (int NDim) |
int | Lin2Register () |
GeomElem * | Quad4Maker (int NDim) |
int | Quad4Register () |
GeomElem * | Quad8Maker (int NDim) |
int | Quad8Register () |
GeomElem * | Tet10Maker (int NDim) |
int | Tet10Register () |
GeomElem * | Tri15Maker (int NDim) |
int | Tri15Register () |
GeomElem * | Tri3Maker (int NDim) |
int | Tri3Register () |
GeomElem * | Tri6Maker (int NDim) |
int | Tri6Register () |
Element * | EquilibElemMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | EquilibElemRegister () |
Element * | FlowElemMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | FlowElemRegister () |
GeomElem * | AllocGeomElem (String const &Name, int NDim) |
Element * | HydroMechElemMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | HydroMechElemRegister () |
Element * | NLRodMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | NLRodRegister () |
std::ostream & | operator<< (std::ostream &os, Node const &N) |
Element * | RodMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | RodRegister () |
Solver * | AllocSolver (String const &Name, Domain &Dom, SDPair const &Flags, Solver::pOutFun OutFun=NULL, void *OutDat=NULL, Solver::pOutFun DbgFun=NULL, void *DbgDat=NULL) |
Solver * | STDSolverMaker (Domain &Dom, SDPair const &Flags, Solver::pOutFun OutFun, void *OutDat, Solver::pOutFun DbgFun, void *DbgDat) |
int | STDSolverRegister () |
Solver * | UWPSolverMaker (Domain &Dom, SDPair const &Flags, Solver::pOutFun OutFun, void *OutDat, Solver::pOutFun DbgFun, void *DbgDat) |
int | UWPSolverRegister () |
Element * | USigCondMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | USigCondRegister () |
Element * | USigElemMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | USigElemRegister () |
Element * | USigEpsElemMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | USigEpsElemRegister () |
Element * | UWPElemMaker (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
int | UWPElemRegister () |
Variables | |
int | __Beam_dummy_int = BeamRegister() |
ElementFactory_t | ElementFactory |
SDPair | PROB |
Structure mapping the problem name to a unique double value. Ex.: "Equilib" => 1.0. | |
ElementVarKeys_t | ElementVarKeys |
Maps ProbNameNumDim to (UvarKeys,FvarKeys) Ex.: "Equilib2D" => ("ux uy","fx fy") | |
ElementExtraKeys_t | ElementExtraKeys |
Maps ProbNameNumDim to extra BC keys Ex.: "Equilib2D" => ["qn", "qt"]. | |
int | __Hex20_dummy_int = Hex20Register() |
int | __Hex8_dummy_int = Hex8Register() |
int | __Lin2_dummy_int = Lin2Register() |
int | __Quad4_dummy_int = Quad4Register() |
int | __Quad8_dummy_int = Quad8Register() |
int | __Tet10_dummy_int = Tet10Register() |
int | __Tri15_dummy_int = Tri15Register() |
int | __Tri3_dummy_int = Tri3Register() |
int | __Tri6_dummy_int = Tri6Register() |
int | __EquilibElem_dummy_int = EquilibElemRegister() |
int | __FlowElem_dummy_int = FlowElemRegister() |
SDPair | GEOM |
GeomElemFactory_t | GeomElemFactory |
int | __HydroMechElem_dummy_int = HydroMechElemRegister() |
int | __NLRod_dummy_int = NLRodRegister() |
const IntegPoint | LIN_IP2 [] |
const IntegPoint | LIN_IP3 [] |
const IntegPoint | LIN_IP4 [] |
const IntegPoint | LIN_IP5 [] |
const IntegPoint | TRI_IP1 [] |
const IntegPoint | TRI_IP3 [] |
const IntegPoint | TRI_IP4 [] |
const IntegPoint | TRI_IP6 [] |
const IntegPoint | TRI_IP7 [] |
const IntegPoint | TRI_IP12 [] |
const IntegPoint | TRI_IP13 [] |
const IntegPoint | TRI_IP16 [] |
const IntegPoint | TRI_IP25 [] |
const IntegPoint | TET_IP4 [] |
const IntegPoint | QUAD_IP2 [] |
double | __02r15 = 0.2*sqrt(15.0) |
double | __25d81 = 25.0/81.0 |
double | __40d81 = 40.0/81.0 |
double | __64d81 = 64.0/81.0 |
const IntegPoint | QUAD_IP3 [] |
const IntegPoint | QUAD_IP4 [] |
const IntegPoint | QUAD_IP5 [] |
const IntegPoint | HEX_IP2 [] |
const IntegPoint | HEX_IP3 [] |
const IntegPoint | HEX_IP4 [] |
const IntegPoint | HEX_IP5 [] |
int | __Rod_dummy_int = RodRegister() |
SolverFactory_t | SolverFactory |
int | __STDSolver_dummy_int = STDSolverRegister() |
int | __UWPSolver_dummy_int = UWPSolverRegister() |
int | __USigCond_dummy_int = USigCondRegister() |
int | __USigElem_dummy_int = USigElemRegister() |
int | __USigEpsElem_dummy_int = USigEpsElemRegister() |
int | __UWPElem_dummy_int = UWPElemRegister() |
Finite Element Method.
< Needed by WriteMPY: TODO: move WriteMPY to a Python script, then remove this.
typedef std::map<String, Array<String> > FEM::ElementExtraKeys_t |
ProbNameNumDim => extra boundary condition keys.
typedef std::map<String, ElementMakerPtr> FEM::ElementFactory_t |
typedef Element*(* FEM::ElementMakerPtr)(int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) |
typedef std::map<String, std::pair<String,String> > FEM::ElementVarKeys_t |
ProbNameNumDim => (UvarKeys,FvarKeys) map.
typedef std::map<String, GeomElemMakerPtr> FEM::GeomElemFactory_t |
typedef GeomElem*(* FEM::GeomElemMakerPtr)(int NDim) |
typedef void(* FEM::pVTUfunc)(Vec3_t const &X, double Time, SDPair &KeysVals) |
Callback to be called in WriteVTU.
typedef std::map<Node*,Array<double> > FEM::Res_t |
Maps node to results at nodes.
typedef std::map<String, SolverMakerPtr> FEM::SolverFactory_t |
typedef Solver*(* FEM::SolverMakerPtr)(Domain &Dom, SDPair const &Flags, Solver::pOutFun OutFun, void *OutDat, Solver::pOutFun DbgFun, void *DbgDat) |
typedef std::map<int, Array<Element*> > FEM::Tag2Eles_t |
Maps tag to elements.
Element* FEM::AllocElement | ( | String const & | Name, |
int | NDim, | ||
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
GeomElem* FEM::AllocGeomElem | ( | String const & | Name, |
int | NDim | ||
) |
Solver* FEM::AllocSolver | ( | String const & | Name, |
Domain & | Dom, | ||
SDPair const & | Flags, | ||
Solver::pOutFun | OutFun = NULL , |
||
void * | OutDat = NULL , |
||
Solver::pOutFun | DbgFun = NULL , |
||
void * | DbgDat = NULL |
||
) |
Element* FEM::BeamMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::BeamRegister | ( | ) |
Element* FEM::EquilibElemMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::EquilibElemRegister | ( | ) |
Element* FEM::FlowElemMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::FlowElemRegister | ( | ) |
GeomElem* FEM::Hex20Maker | ( | int | NDim | ) |
int FEM::Hex20Register | ( | ) |
GeomElem* FEM::Hex8Maker | ( | int | NDim | ) |
int FEM::Hex8Register | ( | ) |
Element* FEM::HydroMechElemMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::HydroMechElemRegister | ( | ) |
GeomElem* FEM::Lin2Maker | ( | int | NDim | ) |
int FEM::Lin2Register | ( | ) |
Element* FEM::NLRodMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::NLRodRegister | ( | ) |
std::ostream& FEM::operator<< | ( | std::ostream & | os, |
Domain const & | D | ||
) |
std::ostream& FEM::operator<< | ( | std::ostream & | os, |
Node const & | N | ||
) |
std::ostream& FEM::operator<< | ( | std::ostream & | os, |
Element const & | E | ||
) |
GeomElem* FEM::Quad4Maker | ( | int | NDim | ) |
int FEM::Quad4Register | ( | ) |
GeomElem* FEM::Quad8Maker | ( | int | NDim | ) |
int FEM::Quad8Register | ( | ) |
Element* FEM::RodMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::RodRegister | ( | ) |
Solver* FEM::STDSolverMaker | ( | Domain & | Dom, |
SDPair const & | Flags, | ||
Solver::pOutFun | OutFun, | ||
void * | OutDat, | ||
Solver::pOutFun | DbgFun, | ||
void * | DbgDat | ||
) |
int FEM::STDSolverRegister | ( | ) |
GeomElem* FEM::Tet10Maker | ( | int | NDim | ) |
int FEM::Tet10Register | ( | ) |
GeomElem* FEM::Tri15Maker | ( | int | NDim | ) |
int FEM::Tri15Register | ( | ) |
GeomElem* FEM::Tri3Maker | ( | int | NDim | ) |
int FEM::Tri3Register | ( | ) |
GeomElem* FEM::Tri6Maker | ( | int | NDim | ) |
int FEM::Tri6Register | ( | ) |
Element* FEM::USigCondMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::USigCondRegister | ( | ) |
Element* FEM::USigElemMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::USigElemRegister | ( | ) |
Element* FEM::USigEpsElemMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::USigEpsElemRegister | ( | ) |
Element* FEM::UWPElemMaker | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) |
int FEM::UWPElemRegister | ( | ) |
Solver* FEM::UWPSolverMaker | ( | Domain & | Dom, |
SDPair const & | Flags, | ||
Solver::pOutFun | OutFun, | ||
void * | OutDat, | ||
Solver::pOutFun | DbgFun, | ||
void * | DbgDat | ||
) |
int FEM::UWPSolverRegister | ( | ) |
double FEM::__02r15 = 0.2*sqrt(15.0) |
double FEM::__25d81 = 25.0/81.0 |
double FEM::__40d81 = 40.0/81.0 |
double FEM::__64d81 = 64.0/81.0 |
int FEM::__Beam_dummy_int = BeamRegister() |
int FEM::__Hex20_dummy_int = Hex20Register() |
int FEM::__Hex8_dummy_int = Hex8Register() |
int FEM::__Lin2_dummy_int = Lin2Register() |
int FEM::__NLRod_dummy_int = NLRodRegister() |
int FEM::__Quad4_dummy_int = Quad4Register() |
int FEM::__Quad8_dummy_int = Quad8Register() |
int FEM::__Rod_dummy_int = RodRegister() |
int FEM::__Tet10_dummy_int = Tet10Register() |
int FEM::__Tri15_dummy_int = Tri15Register() |
int FEM::__Tri3_dummy_int = Tri3Register() |
int FEM::__Tri6_dummy_int = Tri6Register() |
Maps ProbNameNumDim to extra BC keys Ex.: "Equilib2D" => ["qn", "qt"].
Maps ProbNameNumDim to (UvarKeys,FvarKeys) Ex.: "Equilib2D" => ("ux uy","fx fy")
const IntegPoint FEM::HEX_IP2[] |
{{ -0.577350269189626, -0.577350269189626, -0.577350269189626, 1.000000000000000 }, { 0.577350269189626, -0.577350269189626, -0.577350269189626, 1.000000000000000 }, { -0.577350269189626, 0.577350269189626, -0.577350269189626, 1.000000000000000 }, { 0.577350269189626, 0.577350269189626, -0.577350269189626, 1.000000000000000 }, { -0.577350269189626, -0.577350269189626, 0.577350269189626, 1.000000000000000 }, { 0.577350269189626, -0.577350269189626, 0.577350269189626, 1.000000000000000 }, { -0.577350269189626, 0.577350269189626, 0.577350269189626, 1.000000000000000 }, { 0.577350269189626, 0.577350269189626, 0.577350269189626, 1.000000000000000 }}
const IntegPoint FEM::HEX_IP3[] |
{{ -0.774596669241483, -0.774596669241483, -0.774596669241483, 0.171467764060357 }, { 0.000000000000000, -0.774596669241483, -0.774596669241483, 0.274348422496571 }, { 0.774596669241483, -0.774596669241483, -0.774596669241483, 0.171467764060357 }, { -0.774596669241483, 0.000000000000000, -0.774596669241483, 0.274348422496571 }, { 0.000000000000000, 0.000000000000000, -0.774596669241483, 0.438957475994513 }, { 0.774596669241483, 0.000000000000000, -0.774596669241483, 0.274348422496571 }, { -0.774596669241483, 0.774596669241483, -0.774596669241483, 0.171467764060357 }, { 0.000000000000000, 0.774596669241483, -0.774596669241483, 0.274348422496571 }, { 0.774596669241483, 0.774596669241483, -0.774596669241483, 0.171467764060357 }, { -0.774596669241483, -0.774596669241483, 0.000000000000000, 0.274348422496571 }, { 0.000000000000000, -0.774596669241483, 0.000000000000000, 0.438957475994513 }, { 0.774596669241483, -0.774596669241483, 0.000000000000000, 0.274348422496571 }, { -0.774596669241483, 0.000000000000000, 0.000000000000000, 0.438957475994513 }, { 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.702331961591221 }, { 0.774596669241483, 0.000000000000000, 0.000000000000000, 0.438957475994513 }, { -0.774596669241483, 0.774596669241483, 0.000000000000000, 0.274348422496571 }, { 0.000000000000000, 0.774596669241483, 0.000000000000000, 0.438957475994513 }, { 0.774596669241483, 0.774596669241483, 0.000000000000000, 0.274348422496571 }, { -0.774596669241483, -0.774596669241483, 0.774596669241483, 0.171467764060357 }, { 0.000000000000000, -0.774596669241483, 0.774596669241483, 0.274348422496571 }, { 0.774596669241483, -0.774596669241483, 0.774596669241483, 0.171467764060357 }, { -0.774596669241483, 0.000000000000000, 0.774596669241483, 0.274348422496571 }, { 0.000000000000000, 0.000000000000000, 0.774596669241483, 0.438957475994513 }, { 0.774596669241483, 0.000000000000000, 0.774596669241483, 0.274348422496571 }, { -0.774596669241483, 0.774596669241483, 0.774596669241483, 0.171467764060357 }, { 0.000000000000000, 0.774596669241483, 0.774596669241483, 0.274348422496571 }, { 0.774596669241483, 0.774596669241483, 0.774596669241483, 0.171467764060357 }}
const IntegPoint FEM::HEX_IP4[] |
const IntegPoint FEM::HEX_IP5[] |
const IntegPoint FEM::LIN_IP2[] |
{{ -0.577350269189625764509149e+00, 0.0, 0.0, 1.0 }, { 0.577350269189625764509149e+00, 0.0, 0.0, 1.0 }}
const IntegPoint FEM::LIN_IP3[] |
{{-0.774596669241483377035835e+00, 0.0, 0.0, 0.555555555555555555555556e+00 }, { 0.000000000000000000000000e+00, 0.0, 0.0, 0.888888888888888888888889e+00 }, { 0.774596669241483377035835e+00, 0.0, 0.0, 0.555555555555555555555556e+00 }}
const IntegPoint FEM::LIN_IP4[] |
{{ -0.861136311594052575223946e+00, 0.0, 0.0, 0.34785484513745385737306e+00 }, { -0.339981043584856264802666e+00, 0.0, 0.0, 0.65214515486254614262694e+00 }, { 0.339981043584856264802666e+00, 0.0, 0.0, 0.65214515486254614262694e+00 }, { 0.861136311594052575223946e+00, 0.0, 0.0, 0.34785484513745385737306e+00 }}
const IntegPoint FEM::LIN_IP5[] |
{{ -0.906179845938663992797627e+00, 0.0, 0.0, 0.23692688505618908751426e+00 }, { -0.538469310105683091036314e+00, 0.0, 0.0, 0.47862867049936646804129e+00 }, { 0.000000000000000000000000e+00, 0.0, 0.0, 0.56888888888888888888889e+00 }, { 0.538469310105683091036314e+00, 0.0, 0.0, 0.47862867049936646804129e+00 }, { 0.906179845938663992797627e+00, 0.0, 0.0, 0.23692688505618908751426e+00 }}
Structure mapping the problem name to a unique double value. Ex.: "Equilib" => 1.0.
const IntegPoint FEM::QUAD_IP2[] |
{{ -0.577350269189626, -0.577350269189626, 0.000000000000000, 1.000000000000000 }, { 0.577350269189626, -0.577350269189626, 0.000000000000000, 1.000000000000000 }, { -0.577350269189626, 0.577350269189626, 0.000000000000000, 1.000000000000000 }, { 0.577350269189626, 0.577350269189626, 0.000000000000000, 1.000000000000000 }}
const IntegPoint FEM::QUAD_IP3[] |
{{ -__02r15 , -__02r15 , 0.0 , __25d81 }, { 0.0 , -__02r15 , 0.0 , __40d81 }, { __02r15 , -__02r15 , 0.0 , __25d81 }, { -__02r15 , 0.0 , 0.0 , __40d81 }, { 0.0 , 0.0 , 0.0 , __64d81 }, { __02r15 , 0.0 , 0.0 , __40d81 }, { -__02r15 , __02r15 , 0.0 , __25d81 }, { 0.0 , __02r15 , 0.0 , __40d81 }, { __02r15 , __02r15 , 0.0 , __25d81 }}
const IntegPoint FEM::QUAD_IP4[] |
{{ -0.861136311594053, -0.861136311594053, 0.000000000000000, 0.121002993285602 }, { -0.339981043584856, -0.861136311594053, 0.000000000000000, 0.226851851851852 }, { 0.339981043584856, -0.861136311594053, 0.000000000000000, 0.226851851851852 }, { 0.861136311594053, -0.861136311594053, 0.000000000000000, 0.121002993285602 }, { -0.861136311594053, -0.339981043584856, 0.000000000000000, 0.226851851851852 }, { -0.339981043584856, -0.339981043584856, 0.000000000000000, 0.425293303010694 }, { 0.339981043584856, -0.339981043584856, 0.000000000000000, 0.425293303010694 }, { 0.861136311594053, -0.339981043584856, 0.000000000000000, 0.226851851851852 }, { -0.861136311594053, 0.339981043584856, 0.000000000000000, 0.226851851851852 }, { -0.339981043584856, 0.339981043584856, 0.000000000000000, 0.425293303010694 }, { 0.339981043584856, 0.339981043584856, 0.000000000000000, 0.425293303010694 }, { 0.861136311594053, 0.339981043584856, 0.000000000000000, 0.226851851851852 }, { -0.861136311594053, 0.861136311594053, 0.000000000000000, 0.121002993285602 }, { -0.339981043584856, 0.861136311594053, 0.000000000000000, 0.226851851851852 }, { 0.339981043584856, 0.861136311594053, 0.000000000000000, 0.226851851851852 }, { 0.861136311594053, 0.861136311594053, 0.000000000000000, 0.121002993285602 }}
const IntegPoint FEM::QUAD_IP5[] |
{{ -0.906179845938664, -0.906179845938664, 0.000000000000000, 0.056134348862429 }, { -0.538469310105683, -0.906179845938664, 0.000000000000000, 0.113400000000000 }, { 0.000000000000000, -0.906179845938664, 0.000000000000000, 0.134785072387521 }, { 0.538469310105683, -0.906179845938664, 0.000000000000000, 0.113400000000000 }, { 0.906179845938664, -0.906179845938664, 0.000000000000000, 0.056134348862429 }, { -0.906179845938664, -0.538469310105683, 0.000000000000000, 0.113400000000000 }, { -0.538469310105683, -0.538469310105683, 0.000000000000000, 0.229085404223991 }, { 0.000000000000000, -0.538469310105683, 0.000000000000000, 0.272286532550751 }, { 0.538469310105683, -0.538469310105683, 0.000000000000000, 0.229085404223991 }, { 0.906179845938664, -0.538469310105683, 0.000000000000000, 0.113400000000000 }, { -0.906179845938664, 0.000000000000000, 0.000000000000000, 0.134785072387521 }, { -0.538469310105683, 0.000000000000000, 0.000000000000000, 0.272286532550751 }, { 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.323634567901235 }, { 0.538469310105683, 0.000000000000000, 0.000000000000000, 0.272286532550751 }, { 0.906179845938664, 0.000000000000000, 0.000000000000000, 0.134785072387521 }, { -0.906179845938664, 0.538469310105683, 0.000000000000000, 0.113400000000000 }, { -0.538469310105683, 0.538469310105683, 0.000000000000000, 0.229085404223991 }, { 0.000000000000000, 0.538469310105683, 0.000000000000000, 0.272286532550751 }, { 0.538469310105683, 0.538469310105683, 0.000000000000000, 0.229085404223991 }, { 0.906179845938664, 0.538469310105683, 0.000000000000000, 0.113400000000000 }, { -0.906179845938664, 0.906179845938664, 0.000000000000000, 0.056134348862429 }, { -0.538469310105683, 0.906179845938664, 0.000000000000000, 0.113400000000000 }, { 0.000000000000000, 0.906179845938664, 0.000000000000000, 0.134785072387521 }, { 0.538469310105683, 0.906179845938664, 0.000000000000000, 0.113400000000000 }, { 0.906179845938664, 0.906179845938664, 0.000000000000000, 0.056134348862429 }}
const IntegPoint FEM::TET_IP4[] |
{{ 0.5854101966249685, 0.1381966011250105, 0.1381966011250105, 0.04166666666666667 }, { 0.1381966011250105, 0.5854101966249685, 0.1381966011250105, 0.04166666666666667 }, { 0.1381966011250105, 0.1381966011250105, 0.5854101966249685, 0.04166666666666667 }, { 0.1381966011250105, 0.1381966011250105, 0.1381966011250105, 0.04166666666666667 }}
const IntegPoint FEM::TRI_IP1[] |
{{ 1.0/3.0, 1.0/3.0, 0.0, 1.0/2.0 }}
const IntegPoint FEM::TRI_IP12[] |
{{ 5.01426509658179E-01, 2.49286745170910E-01, 0.0, 5.83931378631895E-02 }, { 2.49286745170910E-01, 5.01426509658179E-01, 0.0, 5.83931378631895E-02 }, { 2.49286745170910E-01, 2.49286745170910E-01, 0.0, 5.83931378631895E-02 }, { 8.73821971016996E-01, 6.30890144915020E-02, 0.0, 2.54224531851035E-02 }, { 6.30890144915020E-02, 8.73821971016996E-01, 0.0, 2.54224531851035E-02 }, { 6.30890144915020E-02, 6.30890144915020E-02, 0.0, 2.54224531851035E-02 }, { 5.31450498448170E-02, 3.10352451033784E-01, 0.0, 4.14255378091870E-02 }, { 6.36502499121399E-01, 5.31450498448170E-02, 0.0, 4.14255378091870E-02 }, { 3.10352451033784E-01, 6.36502499121399E-01, 0.0, 4.14255378091870E-02 }, { 5.31450498448170E-02, 6.36502499121399E-01, 0.0, 4.14255378091870E-02 }, { 6.36502499121399E-01, 3.10352451033784E-01, 0.0, 4.14255378091870E-02 }, { 3.10352451033784E-01, 5.31450498448170E-02, 0.0, 4.14255378091870E-02 }}
const IntegPoint FEM::TRI_IP13[] |
{{ 0.0651301029022, 0.0651301029022, 0.0, 0.0266736178044 }, { 0.8697397941956, 0.0651301029022, 0.0, 0.0266736178044 }, { 0.0651301029022, 0.8697397941956, 0.0, 0.0266736178044 }, { 0.3128654960049, 0.0486903154253, 0.0, 0.0385568804452 }, { 0.6384441885698, 0.3128654960049, 0.0, 0.0385568804452 }, { 0.0486903154253, 0.6384441885698, 0.0, 0.0385568804452 }, { 0.6384441885698, 0.0486903154253, 0.0, 0.0385568804452 }, { 0.3128654960049, 0.6384441885698, 0.0, 0.0385568804452 }, { 0.0486903154253, 0.0486903154253, 0.0, 0.0385568804452 }, { 0.2603459660790, 0.2603459660790, 0.0, 0.0878076287166 }, { 0.4793080678419, 0.2603459660790, 0.0, 0.0878076287166 }, { 0.2603459660790, 0.4793080678419, 0.0, 0.0878076287166 }, { 0.3333333333333, 0.3333333333333, 0.0, -0.0747850222338 }}
const IntegPoint FEM::TRI_IP16[] |
{{ 3.33333333333333E-01, 3.33333333333333E-01, 0.0, 7.21578038388935E-02 }, { 8.14148234145540E-02, 4.59292588292723E-01, 0.0, 4.75458171336425E-02 }, { 4.59292588292723E-01, 8.14148234145540E-02, 0.0, 4.75458171336425E-02 }, { 4.59292588292723E-01, 4.59292588292723E-01, 0.0, 4.75458171336425E-02 }, { 6.58861384496480E-01, 1.70569307751760E-01, 0.0, 5.16086852673590E-02 }, { 1.70569307751760E-01, 6.58861384496480E-01, 0.0, 5.16086852673590E-02 }, { 1.70569307751760E-01, 1.70569307751760E-01, 0.0, 5.16086852673590E-02 }, { 8.98905543365938E-01, 5.05472283170310E-02, 0.0, 1.62292488115990E-02 }, { 5.05472283170310E-02, 8.98905543365938E-01, 0.0, 1.62292488115990E-02 }, { 5.05472283170310E-02, 5.05472283170310E-02, 0.0, 1.62292488115990E-02 }, { 8.39477740995800E-03, 2.63112829634638E-01, 0.0, 1.36151570872175E-02 }, { 7.28492392955404E-01, 8.39477740995800E-03, 0.0, 1.36151570872175E-02 }, { 2.63112829634638E-01, 7.28492392955404E-01, 0.0, 1.36151570872175E-02 }, { 8.39477740995800E-03, 7.28492392955404E-01, 0.0, 1.36151570872175E-02 }, { 7.28492392955404E-01, 2.63112829634638E-01, 0.0, 1.36151570872175E-02 }, { 2.63112829634638E-01, 8.39477740995800E-03, 0.0, 1.36151570872175E-02 }}
const IntegPoint FEM::TRI_IP25[] |
{{ 3.33333333333333E-01, 3.33333333333333E-01, 0.0, 4.54089951913770E-02 }, { 2.88447332326850E-02, 4.85577633383657E-01, 0.0, 1.83629788782335E-02 }, { 4.85577633383657E-01, 2.88447332326850E-02, 0.0, 1.83629788782335E-02 }, { 4.85577633383657E-01, 4.85577633383657E-01, 0.0, 1.83629788782335E-02 }, { 7.81036849029926E-01, 1.09481575485037E-01, 0.0, 2.26605297177640E-02 }, { 1.09481575485037E-01, 7.81036849029926E-01, 0.0, 2.26605297177640E-02 }, { 1.09481575485037E-01, 1.09481575485037E-01, 0.0, 2.26605297177640E-02 }, { 1.41707219414880E-01, 3.07939838764121E-01, 0.0, 3.63789584227100E-02 }, { 5.50352941820999E-01, 1.41707219414880E-01, 0.0, 3.63789584227100E-02 }, { 3.07939838764121E-01, 5.50352941820999E-01, 0.0, 3.63789584227100E-02 }, { 1.41707219414880E-01, 5.50352941820999E-01, 0.0, 3.63789584227100E-02 }, { 5.50352941820999E-01, 3.07939838764121E-01, 0.0, 3.63789584227100E-02 }, { 3.07939838764121E-01, 1.41707219414880E-01, 0.0, 3.63789584227100E-02 }, { 2.50035347626860E-02, 2.46672560639903E-01, 0.0, 1.41636212655285E-02 }, { 7.28323904597411E-01, 2.50035347626860E-02, 0.0, 1.41636212655285E-02 }, { 2.46672560639903E-01, 7.28323904597411E-01, 0.0, 1.41636212655285E-02 }, { 2.50035347626860E-02, 7.28323904597411E-01, 0.0, 1.41636212655285E-02 }, { 7.28323904597411E-01, 2.46672560639903E-01, 0.0, 1.41636212655285E-02 }, { 2.46672560639903E-01, 2.50035347626860E-02, 0.0, 1.41636212655285E-02 }, { 9.54081540029900E-03, 6.68032510122000E-02, 0.0, 4.71083348186650E-03 }, { 9.23655933587500E-01, 9.54081540029900E-03, 0.0, 4.71083348186650E-03 }, { 6.68032510122000E-02, 9.23655933587500E-01, 0.0, 4.71083348186650E-03 }, { 9.54081540029900E-03, 9.23655933587500E-01, 0.0, 4.71083348186650E-03 }, { 9.23655933587500E-01, 6.68032510122000E-02, 0.0, 4.71083348186650E-03 }, { 6.68032510122000E-02, 9.54081540029900E-03, 0.0, 4.71083348186650E-03 }}
const IntegPoint FEM::TRI_IP3[] |
{{ 1.0/6.0, 1.0/6.0, 0.0, 1.0/6.0 }, { 2.0/3.0, 1.0/6.0, 0.0, 1.0/6.0 }, { 1.0/6.0, 2.0/3.0, 0.0, 1.0/6.0 }}
const IntegPoint FEM::TRI_IP4[] |
{{ 1.0/3.0, 1.0/3.0, 0.0, -27.0/96.0 }, { 1.0/5.0, 1.0/5.0, 0.0, 25.0/96.0 }, { 3.0/5.0, 1.0/5.0, 0.0, 25.0/96.0 }, { 1.0/5.0, 3.0/5.0, 0.0, 25.0/96.0 }}
const IntegPoint FEM::TRI_IP6[] |
{{ 0.091576213509771, 0.091576213509771, 0.0, 0.109951743655322/2.0 }, { 0.816847572980459, 0.091576213509771, 0.0, 0.109951743655322/2.0 }, { 0.091576213509771, 0.816847572980459, 0.0, 0.109951743655322/2.0 }, { 0.445948490915965, 0.445948490915965, 0.0, 0.223381589678011/2.0 }, { 0.108103018168070, 0.445948490915965, 0.0, 0.223381589678011/2.0 }, { 0.445948490915965, 0.108103018168070, 0.0, 0.223381589678011/2.0 }}
const IntegPoint FEM::TRI_IP7[] |
{{ 0.1012865073235, 0.1012865073235, 0.0, 0.0629695902724 }, { 0.7974269853531, 0.1012865073235, 0.0, 0.0629695902724 }, { 0.1012865073235, 0.7974269853531, 0.0, 0.0629695902724 }, { 0.4701420641051, 0.0597158717898, 0.0, 0.0661970763942 }, { 0.4701420641051, 0.4701420641051, 0.0, 0.0661970763942 }, { 0.0597158717898, 0.4701420641051, 0.0, 0.0661970763942 }, { 0.3333333333333, 0.3333333333333, 0.0, 0.1125000000000 }}