MatrixManagement.hpp File Reference

#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>

Include dependency graph for MatrixManagement.hpp:

This graph shows which files directly or indirectly include this file:

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

MemoryRepositorymemoryRepository


Function Documentation

template<class VectType>
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 }


Variable Documentation

Definition at line 23 of file MatrixManagement.cpp.


Generated on Wed Nov 19 00:01:55 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6