00001 00005 class MxFEM : public FEM 00006 00007 { 00008 protected: 00009 MxFiniteElement finite_elms; 00010 00011 public: 00012 MxFEM () : FEM() {} 00013 ~MxFEM () {} 00014 00015 virtual void makeSystemMx 00016 ( 00017 DegFreeFE& dof, 00018 LinEqAdmFE& lineq, 00019 bool compute_A = true, 00020 bool compute_RHS = true 00021 ); 00022 00023 virtual void makeSystemMx 00024 ( 00025 DegFreeFE& dof, 00026 LinEqAdmFE& lineq, 00027 FieldsFE& all_unknowns, 00028 int itgrule_manager, 00029 bool compute_A = true, 00030 bool compute_RHS = true 00031 ); 00032 00033 00034 virtual void calcElmMatVecMx 00035 (int e, ElmMatVec& elmat, MxFiniteElement& mfe); 00036 00037 00038 virtual void numItgOverElmMx (ElmMatVec& elmat, MxFiniteElement& mfe); 00039 00040 00041 virtual void integrandsMx (ElmMatVec& elmat, const MxFiniteElement& mfe); 00042 00043 virtual void numItgOverSideMx 00044 ( 00045 int side, 00046 int boind, 00047 ElmMatVec& elmat, 00048 MxFiniteElement& mfe 00049 ); 00050 00051 virtual void integrands4sideMx 00052 ( 00053 int side, int boind, ElmMatVec& elmat, const MxFiniteElement& mfe 00054 ); 00055 00056 virtual void modify4constraints 00057 (DegFreeFE& dof, Matrix(NUMT)& A, Vector(NUMT)& b); 00058 00059 00060 virtual void makeSystemMx (DegFreeFE&, MxIntegrandCalc*, Matrix(NUMT))&; 00061 00062 virtual void makeSystemMx 00063 (DegFreeFE&, MxElmMatVecCalc&, MxIntegrandCalc*, Vector(NUMT))&; 00064 00065 virtual void makeSystemMx (DegFreeFE&, Vector(NUMT)&, int); 00066 00067 virtual void makeSystemMx 00068 (DegFreeFE&, MxElmMatVecCalc&, MxIntegrandCalc*, 00069 Vector(NUMT)&, FieldsFE& all_unknowns, int); 00070 00071 virtual void makeSystemMx 00072 (DegFreeFE& dof, MxIntegrandCalc* integrand, MxElmMatVecCalc& emv, 00073 Matrix(NUMT)& A, Vector(NUMT)& rhs); 00074 00075 virtual void makeSystemMx 00076 (DegFreeFE& dof, FieldsFE& all_unknowns, MxIntegrandCalc* integrand, 00077 MxElmMatVecCalc& emv, Matrix(NUMT)& A, Vector(NUMT)& rhs); 00078 00079 virtual void makeSystemMx 00080 (DegFreeFE& dof, FieldsFE& all_unknowns, MxIntegrandCalc* integrand, 00081 MxElmMatVecCalc& emv, Matrix(NUMT)& A); 00082 00083 virtual void makeSystemMx 00084 (DegFreeFE& dof, MxIntegrandCalc* integrand, MxElmMatVecCalc& emv, 00085 Matrix(NUMT)& A); 00086 00087 00088 virtual void calcElmMatVecMx 00089 (int, ElmMatVec&, MxFiniteElement&, MxIntegrandCalc*); 00090 virtual void numItgOverElmMx 00091 (ElmMatVec&, MxFiniteElement&, MxIntegrandCalc*); 00092 virtual void numItgOverSideMx 00093 (int, int, ElmMatVec&, MxFiniteElement&, MxIntegrandCalc&); 00094 00095 CLASS_INFO 00096 VIRTUAL_CAST(MxFEM) 00097 }; 00098 00099