Skip to content
Snippets Groups Projects
Select Git revision
  • 45736307c568e1c94ab2990e1b9407178628bae0
  • develop default protected
  • feature/gmsh-reader
  • feature/reconstruction
  • save_clemence
  • origin/stage/bouguettaia
  • feature/kinetic-schemes
  • feature/local-dt-fsi
  • feature/composite-scheme-sources
  • feature/composite-scheme-other-fluxes
  • feature/serraille
  • feature/variational-hydro
  • feature/composite-scheme
  • hyperplastic
  • feature/polynomials
  • feature/gks
  • feature/implicit-solver-o2
  • feature/coupling_module
  • feature/implicit-solver
  • feature/merge-local-dt-fsi
  • master protected
  • v0.5.0 protected
  • v0.4.1 protected
  • v0.4.0 protected
  • v0.3.0 protected
  • v0.2.0 protected
  • v0.1.0 protected
  • Kidder
  • v0.0.4 protected
  • v0.0.3 protected
  • v0.0.2 protected
  • v0 protected
  • v0.0.1 protected
33 results

ImplicitMeshSmoother.hpp

Blame
  • ImplicitMeshSmoother.hpp 2.47 KiB
    #ifndef IMPLICIT_MESH_SMOOTHER_HPP
    #define IMPLICIT_MESH_SMOOTHER_HPP
    #include <algebra/CRSMatrix.hpp>
    #include <algebra/CRSMatrixDescriptor.hpp>
    #include <algebra/LinearSolver.hpp>
    #include <algebra/TinyVector.hpp>
    #include <algebra/Vector.hpp>
    #include <language/utils/InterpolateItemValue.hpp>
    #include <mesh/Connectivity.hpp>
    #include <mesh/DualConnectivityManager.hpp>
    #include <mesh/DualMeshManager.hpp>
    #include <mesh/Mesh.hpp>
    #include <mesh/MeshData.hpp>
    #include <mesh/MeshDataManager.hpp>
    #include <mesh/MeshFaceBoundary.hpp>
    #include <mesh/MeshNodeBoundary.hpp>
    #include <mesh/PrimalToDiamondDualConnectivityDataMapper.hpp>
    #include <mesh/SubItemValuePerItem.hpp>
    #include <scheme/DirichletBoundaryConditionDescriptor.hpp>
    #include <scheme/FourierBoundaryConditionDescriptor.hpp>
    #include <scheme/NeumannBoundaryConditionDescriptor.hpp>
    #include <scheme/SymmetryBoundaryConditionDescriptor.hpp>
    
    #include <mesh/IMesh.hpp>
    #include <scheme/IBoundaryConditionDescriptor.hpp>
    
    #include <memory>
    #include <vector>
    
    class FunctionSymbolId;
    class IZoneDescriptor;
    class DiscreteFunctionVariant;
    
    class ImplicitMeshSmootherHandler
    {
     private:
      template <size_t Dimension>
      class ImplicitMeshSmoother;
    
     public:
      std::shared_ptr<const IMesh> getSmoothedMesh(
        const std::shared_ptr<const IMesh>& mesh,
        const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) const;
    
      // std::shared_ptr<const IMesh> getSmoothedMesh(
      //   const std::shared_ptr<const IMesh>& mesh,
      //   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
      //   const FunctionSymbolId& function_symbol_id) const;
    
      // std::shared_ptr<const IMesh> getSmoothedMesh(
      //   const std::shared_ptr<const IMesh>& mesh,
      //   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
      //   const std::vector<std::shared_ptr<const IZoneDescriptor>>& smoothing_zone_list) const;
    
      // std::shared_ptr<const IMesh> getSmoothedMesh(
      //   const std::shared_ptr<const IMesh>& mesh,
      //   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
      //   const std::vector<std::shared_ptr<const DiscreteFunctionVariant>>& smoothing_zone_list) const;
    
      ImplicitMeshSmootherHandler()                              = default;
      ImplicitMeshSmootherHandler(ImplicitMeshSmootherHandler&&) = default;
      ~ImplicitMeshSmootherHandler()                             = default;
    };
    
    #endif   // IMPLICIT_MESH_SMOOTHER_HPP