/[ff3d]/ff3d/solver/EliminatedFictitiousDomain.hpp
ViewVC logotype

Diff of /ff3d/solver/EliminatedFictitiousDomain.hpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by delpinux, Tue Sep 23 19:03:23 2003 UTC revision 1.2 by delpinux, Mon Nov 3 18:56:05 2003 UTC
# Line 20  Line 20 
20  #ifndef ELIMINATED_FICTITIOUS_DOMAIN_HPP  #ifndef ELIMINATED_FICTITIOUS_DOMAIN_HPP
21  #define ELIMINATED_FICTITIOUS_DOMAIN_HPP  #define ELIMINATED_FICTITIOUS_DOMAIN_HPP
22    
23  #include <BaseMatrix.hpp>  #include <FictitiousDomainMethod.hpp>
 #include <BaseVector.hpp>  
24    
25  #include <EliminatedFictitiousDomainOptions.hpp>  #include <EliminatedFictitiousDomainOptions.hpp>
26  #include <GetParameter.hpp>  #include <GetParameter.hpp>
   
 #include <Solution.hpp>  
   
 #include <Method.hpp>  
   
 #include <Problem.hpp>  
 #include <PDESystem.hpp>  
   
 #include <Mesh.hpp>  
 #include <Structured3DMesh.hpp>  
   
 class DegreeOfFreedomSet;  
27    
28    /**
29     * @file   EliminatedFictitiousDomain.hpp
30     * @author Stephane Del Pino
31     * @date   Mon Nov  3 18:45:13 2003
32     *
33     * @brief Fictitious domain like method using elimination at coarse
34     * grid vertices to take into account Dirichlet conditions.
35     *
36     */
37  class EliminatedFictitiousDomain  class EliminatedFictitiousDomain
38    : public Method    : public FictitiousDomainMethod
39  {  {
40  private:  private:
41    ReferenceCounting<BaseMatrix> __A;    /**
42    ReferenceCounting<BaseVector> __b;     * Discretize the boundary conditions using the specific MeshType.
43       *
44    ReferenceCounting<Mesh> __mesh;     * @return boundary conditions discretization
45       */
   ConstReferenceCounting<Problem> __problem;  
   
   const DegreeOfFreedomSet& __degreeOfFreedomSet;  
   
46    template <typename MeshType>    template <typename MeshType>
47    void __discretize();    ReferenceCounting<BoundaryConditionDiscretization> __discretizeBoundaryConditions();
   
 public:  
   ReferenceCounting<BaseMatrix> A()  
   {  
     return __A;  
   }  
   
   void Discretize (ConstReferenceCounting<Problem> Pb);  
   void Compute (Solution& u);  
   
   const Problem& problem() const  
   {  
     return *__problem;  
   }  
48    
49    Mesh& mesh()    /**
50    {     * Discretize the boundary conditions using the specific MeshType.
51      return (*__mesh);     *
52    }     * @return boundary conditions discretization
53       */
54      ReferenceCounting<BoundaryConditionDiscretization> discretizeBoundaryConditions();
55    
56    public:
57      /**
58       * Constructs a EliminatedFictitiousDomain discretization using a
59       * given mesh and a given degree of freedom set
60       *
61       * @param M a given mesh
62       * @param dof a given degree of freedom set
63       *
64       */
65    EliminatedFictitiousDomain(ReferenceCounting<Mesh> M,    EliminatedFictitiousDomain(ReferenceCounting<Mesh> M,
66                               const DegreeOfFreedomSet& dof)                               const DegreeOfFreedomSet& dof)
67      : __mesh(M),      : FictitiousDomainMethod(M,dof)
       __degreeOfFreedomSet(dof)  
68    {    {
69      ;      ;
70    }    }
71    
72      /**
73       * Destructor
74       *
75       */
76    ~EliminatedFictitiousDomain()    ~EliminatedFictitiousDomain()
77    {    {
78      ;      ;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26