Skip to content
Snippets Groups Projects
Select Git revision
  • 0cadbb0a65214c9bfbf418f87c716b7827526359
  • master default protected
  • alphashapes
  • quadMeshingTools
  • cygwin_conv_path
  • macos_arm64
  • add-transfiniteautomatic-to-geo
  • patch_releases_4_10
  • HierarchicalHDiv
  • isuruf-master-patch-63355
  • hyperbolic
  • hexdom
  • hxt_update
  • jf
  • 1618-pythonocc-and-gmsh-api-integration
  • octreeSizeField
  • hexbl
  • alignIrregularVertices
  • getEdges
  • patch_releases_4_8
  • isuruf-master-patch-51992
  • gmsh_4_11_0
  • gmsh_4_10_5
  • gmsh_4_10_4
  • gmsh_4_10_3
  • gmsh_4_10_2
  • gmsh_4_10_1
  • gmsh_4_10_0
  • gmsh_4_9_5
  • gmsh_4_9_4
  • gmsh_4_9_3
  • gmsh_4_9_2
  • gmsh_4_9_1
  • gmsh_4_9_0
  • gmsh_4_8_4
  • gmsh_4_8_3
  • gmsh_4_8_2
  • gmsh_4_8_1
  • gmsh_4_8_0
  • gmsh_4_7_1
  • gmsh_4_7_0
41 results

dofManager.h

Blame
  • Forked from Gmsh / Gmsh
    Source project has a limited visibility.
    dgSystemOfEquations.h 1.66 KiB
    #ifndef _DG_SYSTEM_OF_EQUATIONS_
    #define _DG_SYSTEM_OF_EQUATIONS_
    #include <vector>
    #include <utility>
    #include "GmshConfig.h"
    #include "GModel.h"
    #include "dgGroupOfElements.h"
    #include "dgConservationLaw.h"
    #include "Gmsh.h"
    #include "dgLimiter.h"
    #include "dgDofContainer.h"
    
    
    class binding;
    
    
    class dgSystemOfEquations {
      private:
      // the mesh and the model
      GModel *_gm;
      dgGroupCollection _groups;
      // the conservation law
      dgConservationLaw *_claw;
      std::string _cLawName;
      // polynomial order (should be more general)
      int _order;
      // dimension of the problem
      int _dimension;
      // solution and righ hand sides
      dgDofContainer *_solution;
      dgDofContainer *_rightHandSide;
      dgSystemOfEquations(const dgSystemOfEquations &) {}
      double computeTimeStepMethodOfLines () const;
    public:
      const dgConservationLaw * getLaw() const {return _claw;}
      const GModel            * getModel() const {return _gm;}
      void setOrder (int order); // set the polynomial order
      void setConservationLaw (dgConservationLaw *law); // set the conservationLaw
      dgSystemOfEquations(GModel *_gm);
      void setup (); // setup the groups and allocate
      void exportSolution (std::string filename); // export the solution
      void limitSolution (); // apply the limiter on the solution
      void L2Projection (std::string functionName); // assign the solution to a given function
      double RK44(double dt);
      double RK44_limiter(double dt);
      double ForwardEuler(double dt);
    
      double computeInvSpectralRadius();
    
      static void registerBindings(binding *b);
    
      void saveSolution (std::string fileName) ;
      void loadSolution (std::string fileName);
    
      ~dgSystemOfEquations();
    };
    
    #endif // _DG_SYSTEM_OF_EQUATIONS_