Skip to content
Snippets Groups Projects
Select Git revision
  • 258f32db47e83a8a0c45aa0ac6372c2cf8bff930
  • master default
  • cgnsUnstructured
  • partitioning
  • poppler
  • HighOrderBLCurving
  • gmsh_3_0_4
  • gmsh_3_0_3
  • gmsh_3_0_2
  • gmsh_3_0_1
  • gmsh_3_0_0
  • gmsh_2_16_0
  • gmsh_2_15_0
  • gmsh_2_14_1
  • gmsh_2_14_0
  • gmsh_2_13_2
  • gmsh_2_13_1
  • gmsh_2_12_0
  • gmsh_2_11_0
  • gmsh_2_10_1
  • gmsh_2_10_0
  • gmsh_2_9_3
  • gmsh_2_9_2
  • gmsh_2_9_1
  • gmsh_2_9_0
  • gmsh_2_8_6
26 results

gmsh.html

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    InterfaceField.h 2.32 KiB
    #ifndef H_GMSHDDM_INTERFACEFIELD
    #define H_GMSHDDM_INTERFACEFIELD
    
    #include "Interface.h"
    
    #include <gmshfem/FieldInterface.h>
    #include <string>
    #include <unordered_map>
    #include <vector>
    
    
    namespace gmshddm
    {
    
    
      namespace field
      {
    
        template< class T_Scalar >
        class InterfaceFieldInterface
        {
         protected:
          std::string _name;
    
         public:
          InterfaceFieldInterface(const std::string &name = "");
          virtual ~InterfaceFieldInterface();
    
          virtual bool isDefined(const unsigned int i, const unsigned int j) const = 0;
          virtual const gmshfem::field::FieldInterface< T_Scalar > &operator()(const unsigned int i, const unsigned int j) const = 0;
          virtual gmshfem::field::FieldInterface< T_Scalar > &operator()(const unsigned int i, const unsigned int j) = 0;
    
          std::string name() const;
        };
    
        template< class T_Scalar, gmshfem::field::Form T_Form >
        class InterfaceField : public InterfaceFieldInterface< T_Scalar >
        {
          std::vector< std::unordered_map< unsigned int, gmshfem::field::Field< T_Scalar, T_Form > > > _fields;
    
         public:
          InterfaceField();
          InterfaceField(const std::string &name, const domain::Interface &domains, const gmshfem::field::FunctionSpaceOfForm< T_Form > &type, const unsigned int degree = 1);
          InterfaceField(const std::string &name, const domain::Interface &domains, const gmshfem::field::FunctionSpaceOfForm< T_Form > &type, const std::vector<unsigned int> & degree);
    
          InterfaceField(const std::string &name, const domain::Interface &domains, const gmshfem::field::FunctionSpaceOfForm< T_Form > &type, const std::vector<std::vector<unsigned int>> & degree);
          InterfaceField(const InterfaceField< T_Scalar, T_Form > &other);
          InterfaceField(InterfaceField< T_Scalar, T_Form > &&other);
          ~InterfaceField();
    
          InterfaceField &operator=(const InterfaceField< T_Scalar, T_Form > &other);
    
          gmshfem::field::Form form() const;
    
          bool isDefined(const unsigned int i, const unsigned int j) const override;
          const gmshfem::field::Field< T_Scalar, T_Form > &operator()(const unsigned int i, const unsigned int j) const override;
          gmshfem::field::Field< T_Scalar, T_Form > &operator()(const unsigned int i, const unsigned int j) override;
        };
    
    
      } // namespace field
    
    
    } // namespace gmshddm
    
    
    #endif // H_GMSHDDM_INTERFACEFIELD