
Public Member Functions | |
| template<typename SurfaceMeshType> | |
| void | eval (const SurfaceMeshType &surfMesh) const |
| __SetSecondMemberDirichlet (const Dirichlet &D, const size_t equationNumber, const BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization > &bc) | |
| __SetSecondMemberDirichlet (const __SetSecondMemberDirichlet &s) | |
| ~__SetSecondMemberDirichlet () | |
Private Attributes | |
| const Dirichlet & | __dirichlet |
| const size_t | __equationNumber |
| const BoundaryConditionDiscretizationElimination < MeshType, TypeOfDiscretization > & | __bc |
Definition at line 42 of file BoundaryConditionDiscretizationElimination.hpp.
| BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__SetSecondMemberDirichlet | ( | const Dirichlet & | D, | |
| const size_t | equationNumber, | |||
| const BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization > & | bc | |||
| ) | [inline] |
Definition at line 108 of file BoundaryConditionDiscretizationElimination.hpp.
00112 : __dirichlet(D), 00113 __equationNumber(equationNumber), 00114 __bc(bc) 00115 { 00116 ; 00117 }
| BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__SetSecondMemberDirichlet | ( | const __SetSecondMemberDirichlet & | s | ) | [inline] |
Definition at line 119 of file BoundaryConditionDiscretizationElimination.hpp.
00120 : __dirichlet(s.__dirichlet), 00121 __equationNumber(s.__equationNumber), 00122 __bc(s.__bc) 00123 { 00124 ; 00125 }
| BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::~__SetSecondMemberDirichlet | ( | ) | [inline] |
| void BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::eval | ( | const SurfaceMeshType & | surfMesh | ) | const [inline] |
Definition at line 55 of file BoundaryConditionDiscretizationElimination.hpp.
References BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__bc, BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__dirichlet, BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__equationNumber, fferr(), and Dirichlet::g().
00056 { 00057 typedef typename SurfaceMeshType::CellType BoundaryCellType; 00058 00059 typedef 00060 typename FiniteElementTraits<BoundaryCellType, 00061 TypeOfDiscretization>::Transformation 00062 BoundaryConformTransformation; 00063 00064 typedef 00065 typename FiniteElementTraits<BoundaryCellType, 00066 TypeOfDiscretization>::Type 00067 BoundaryFiniteElement; 00068 00069 typedef 00070 typename BoundaryFiniteElement::QuadratureType 00071 BoundaryQuadratureType; 00072 00073 const BoundaryQuadratureType& referenceBoundaryQuadrature 00074 = BoundaryQuadratureType::instance(); 00075 00076 fferr(1) << __FILE__ << ":" << __LINE__ 00077 << "\n########################################################\n" 00078 << "Implementation not finished! use of dofPosition required\n" 00079 << "########################################################\n"; 00080 00081 for (typename SurfaceMeshType::const_iterator icell(surfMesh); 00082 not(icell.end()); ++icell) { 00083 const BoundaryCellType& cell = *icell; 00084 00085 const BoundaryConformTransformation boundaryT(cell); 00086 00087 for (size_t k=0; k<BoundaryQuadratureType::numberOfQuadraturePoints; 00088 k++) { 00089 // computes local quadrature vertex 00090 TinyVector<3, real_t> q; 00091 boundaryT.value(referenceBoundaryQuadrature[k], q); 00092 00093 // Index of the vertex of the mesh the closer to q. 00094 #warning Use of Index is not necessary 00095 const Index& iv = __bc.mesh().vertexIndex(q); 00096 const Vertex& V = __bc.mesh().vertex(iv); 00097 00098 const real_t GValue = __dirichlet.g(V); 00099 00100 const size_t I = __bc.__degreeOfFreedomSet(__equationNumber, 00101 __bc.mesh().vertexNumber(V)); 00102 __bc.__dirichletValues[I] = GValue; 00103 __bc.__dirichletList[I] = true; 00104 } 00105 } 00106 }

const Dirichlet& BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__dirichlet [private] |
Definition at line 45 of file BoundaryConditionDiscretizationElimination.hpp.
Referenced by BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::eval().
const size_t BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__equationNumber [private] |
Definition at line 47 of file BoundaryConditionDiscretizationElimination.hpp.
Referenced by BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::eval().
const BoundaryConditionDiscretizationElimination<MeshType, TypeOfDiscretization>& BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::__bc [private] |
Definition at line 50 of file BoundaryConditionDiscretizationElimination.hpp.
Referenced by BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::__SetSecondMemberDirichlet::eval().
1.5.6