00001 00005 class ElmMatVecT3n2D 00006 00007 { 00008 public: 00009 00010 NUMT A11,A12,A13,A22,A23,A33,A21,A31,A32; 00011 NUMT b1,b2,b3; 00012 00013 private: 00014 00015 int compute_A,compute_RHS; 00016 ToolsElmT3n2D* F; 00017 00018 public: 00019 00020 ElmMatVecT3n2D (){}; 00021 ElmMatVecT3n2D ( ToolsElmT3n2D* F_, int compute_A_, int compute_RHS_ ) 00022 { F=F_; compute_A=compute_A_; compute_RHS=compute_RHS_;} 00023 ~ElmMatVecT3n2D (){}; 00024 void initSym(){ b1=b2=b3=A11=A12=A13=A22=A23=A33=0.0;} 00025 void initAll(){ b1=b2=b3=A11=A12=A13=A22=A23=A33=A21=A31=A32=0.0;} 00026 void adjustEssBCSym(DegFreeFE& dof, const VecSimple(bool)& edof); 00027 void assembleSym( MatSparse(NUMT)& ms, SparseDS& ad, Vec(NUMT)& vec ); 00028 00029 COPY_CONSTRUCTOR(ElmMatVecT3n2D); 00030 00031 ASSIGNMENT_OPERATOR(ElmMatVecT3n2D); 00032 }; 00033 00034 00082 class ElmMatVecT4n3D 00083 00084 { 00085 public: 00086 00087 NUMT A11,A12,A13,A14,A22,A23,A24,A33,A34,A44,A21,A31,A32,A41,A42,A43; 00088 NUMT b1,b2,b3,b4; 00089 00090 private: 00091 00092 int compute_A,compute_RHS; 00093 ToolsElmT4n3D* F; 00094 00095 public: 00096 00097 ElmMatVecT4n3D (){}; 00098 ElmMatVecT4n3D ( ToolsElmT4n3D* F_, int compute_A_, int compute_RHS_ ) 00099 { F=F_; compute_A=compute_A_; compute_RHS=compute_RHS_;} 00100 ~ElmMatVecT4n3D (){}; 00101 void initSym(){ b1=b2=b3=A11=A12=A13=A14=A22=A23=A24=A33=A34=A44=0.0;} 00102 void adjustEssBCSym(DegFreeFE& dof, const VecSimple(bool)& edof); 00103 void assembleSym( MatSparse(NUMT)& ms, SparseDS& ad, Vec(NUMT)& vec ); 00104 00105 COPY_CONSTRUCTOR(ElmMatVecT4n3D); 00106 00107 ASSIGNMENT_OPERATOR(ElmMatVecT4n3D); 00108 }; 00109 00110