Skip to content
Snippets Groups Projects
Select Git revision
  • a3221785cab590b387209068b407cbd5e61faf80
  • master default protected
  • dof-renumbering
  • test-dof-hash
  • gdemesy-master-patch-30528
  • eval-space-time
  • oscillating_multiharm
  • MH_movement
  • axisqu
  • write_vtu_and_ensight_formats
  • movingband
  • CP_1972_add_vtu_file_writing
  • mortar
  • fast_freq_sweep_Resolution
  • applyresolvent_again
  • marteaua-master-patch-54323
  • patch-1
  • binde-master-patch-08072
  • binde-master-patch-52461
  • BCGSL
  • resolvent
  • getdp_3_5_0
  • getdp_3_4_0
  • getdp_3_3_0
  • getdp_3_2_0
  • getdp_3_1_0
  • getdp_3_0_4
  • getdp_3_0_3
  • getdp_3_0_2
  • getdp_3_0_1
  • getdp_3_0_0
  • onelab_mobile_2.1.0
  • getdp_2_11_3 protected
  • getdp_2_11_2 protected
  • getdp_2_11_1 protected
  • getdp_2_11_0 protected
  • getdp_2_10_0 protected
  • getdp_2_9_2 protected
  • getdp_2_9_1 protected
  • getdp_2_9_0 protected
  • getdp_2_8_0 protected
41 results

Gauss_Triangle.h

Blame
  • monoDomain.cpp 31.94 KiB
    #include "mesh.h"
    #include "SubproblemDomains.h"
    #include "Subproblem2D.h"
    #include "Subproblem3D.h"
    
    #include <gmshfem/GmshFem.h>
    #include <gmshfem/FieldInterface.h>
    #include <gmshfem/Formulation.h>
    #include <gmshfem/AnalyticalFunction.h>
    #include <gmshfem/Post.h>
    #include <gmshfem/Function.h>
    #include <gmshfem/io.h>
    
    #include <gmshddm/GmshDdm.h>
    #include <gmshddm/Subdomain.h>
    #include <gmshddm/Interface.h>
    #include <gmshddm/SubdomainField.h>
    #include <gmshddm/InterfaceField.h>
    #include <gmshddm/Formulation.h>
    #include <gmshddm/MPIInterface.h>
    
    #include <algorithm>
    #include <fstream>
    
    using gmshfem::equation::dof;
    using gmshfem::equation::tf;
    using gmshfem::function::operator-;
    using gmshfem::function::operator*;
    using gmshfem::function::abs;
    
    namespace D2 {
    
    
      void monoDomain()
      {
        gmshddm::common::GmshDdm *gmshDdm = gmshddm::common::GmshDdm::currentInstance();
        
        // ************************
        // P H Y S I C S
        // ************************
        double pi = 3.141592653589793238462643383279;
        double k = 4. * pi;
        gmshDdm->userDefinedParameter(k, "k");
        double R = 0.5;
        gmshDdm->userDefinedParameter(R, "R");
        
        // ************************
        // M E S H
        // ************************
        double lc = 0.03333333333333; // Marmousi = 20; other = 0.03333333333333
        gmshDdm->userDefinedParameter(lc, "lc");
        int meshOrder = 1;
        gmshDdm->userDefinedParameter(meshOrder, "meshOrder");
        
        // ************************
        // M O D E L I N G
        // ************************
        std::string boundary = "sommerfeld"; // sommerfeld, pml, habc
        gmshDdm->userDefinedParameter(boundary, "boundary");
        std::string pmlMethod = "continuous"; // continuous, discontinuous, withoutMultiplier
        gmshDdm->userDefinedParameter(pmlMethod, "pmlMethod");
        std::string pmlType = "hs"; // hs, h, q
        gmshDdm->userDefinedParameter(pmlType, "pmlType");
        
        double N = 6;
        gmshDdm->userDefinedParameter(N, "N");
        double pmlSize = N * lc;
        if(pmlSize == 0.) {
          pmlSize = 0.3;
        }