#include <cctype>#include <ReferenceCounting.hpp>#include <ParametrizableObject.hpp>#include <SurfaceMesh.hpp>#include <ErrorHandler.hpp>#include <GetParameter.hpp>#include <MemoryManagerOptions.hpp>#include <Vector.hpp>#include <DoubleHashedMatrix.hpp>#include <Index.hpp>#include <Dirichlet.hpp>#include <PDEProblem.hpp>#include <Structured3DMesh.hpp>


Go to the source code of this file.
Classes | |
| class | MemoryRepository |
| class | MemoryManager |
Functions | |
| template<class VectType> | |
| void | computesDirichletMatrix (DoubleHashedMatrix &DM, const DoubleHashedMatrix &A, const PDEProblem &pdePb, BoundaryConditionSurfaceMeshAssociation &bcMeshAssociation, const Structured3DMesh &SMesh) |
Variables | |
| MemoryRepository * | memoryRepository |
| void computesDirichletMatrix | ( | DoubleHashedMatrix & | DM, | |
| const DoubleHashedMatrix & | A, | |||
| const PDEProblem & | pdePb, | |||
| BoundaryConditionSurfaceMeshAssociation & | bcMeshAssociation, | |||
| const Structured3DMesh & | SMesh | |||
| ) | [inline] |
Definition at line 96 of file MatrixManagement.hpp.
References ErrorHandler::unexpected.
00101 { 00102 throw ErrorHandler(__FILE__,__LINE__, 00103 "not implemented", 00104 ErrorHandler::unexpected); 00105 // // Dirichlet on the mesh border ... 00106 // for (size_t i=0; i<pdePb.Dimension(); ++i) { 00107 // for (bcMeshAssociation::iterator ibcMesh = bcMesh[i].begin(); 00108 // ibcMesh !=bcMesh[i].end(); 00109 // ++ibcMesh) { 00110 // const BoundaryCondition& BC = *(*ibcMesh).first; 00111 // const SurfaceMesh& surfMesh = *(*ibcMesh).second; 00112 00113 // if (BC.condition().Type()==PDECondition::dirichlet) { 00114 // bool proceed = false; 00115 // for (size_t n=0; n<6; ++n) 00116 // if(BC.boundary().StructMesh(i)) 00117 // proceed=true; 00118 // if (proceed) { 00119 // const Dirichlet& D = dynamic_cast<const Dirichlet&>(BC.condition()); 00120 00121 // for (size_t vert=0; vert<surfMesh.SurfElements().size(); vert++) 00122 // for (size_t k=0; k<surfMesh.SurfElements(vert).NbQuadVertices(); k++) { 00123 // const QuadratureVertex& q = surfMesh.SurfElements(vert).QuadVertices(k); 00124 00125 // const Index& iv = SMesh.vertexIndex(q); // Index of the vertex of 00126 // // the mesh the closer to q. 00127 // const Vertex& V = SMesh.vertex(iv); 00128 00129 // const real_t GValue = D.f(V); 00130 00131 // const size_t I = SMesh.number(V); 00132 00133 // // switch (pdePb.Dimension()) { 00134 // // case 1: { 00135 // // dirichletEliminate(I, i, GValue, 00136 // // static_cast<DoubleHashedMatrix<real_t>&>(*A), 00137 // // static_cast<Vector<real_t>&>(*b)); 00138 // // break; 00139 // // } 00140 // // case 2: { 00141 // // dirichletEliminate(I, i, GValue, 00142 // // static_cast<DoubleHashedMatrix<TinyMatrix<2,2,real_t> >&>(*A), 00143 // // static_cast<Vector<TinyVector<2,real_t> >&>(*b)); 00144 // // break; 00145 // // } 00146 // // case 3: { 00147 // // break; 00148 // // } 00149 // // case 4: { 00150 // // break; 00151 // // } 00152 // // default: { 00153 // // } 00154 // // } 00155 // } 00156 // } 00157 // } 00158 // } 00159 // } 00160 }
Definition at line 23 of file MatrixManagement.cpp.
1.5.6