Skip to content
Snippets Groups Projects
Select Git revision
  • 1d4686894ff786e55531bde128b53a73f859dc8b
  • master default protected
  • albertpiwonski-master-patch-57409
  • quadspheres
  • fix_Tmatrix_code_epsr_background
  • albertpiwonski-master-patch-12427
  • cavity
  • c1
8 results

domRectangle.dat

Blame
  • domRectangle.dat 2.89 KiB
    // =================================================================================================
    
    // Geometry: Scattering case
    If(FLAG_PBM == PBM_SCATT_RECT)
    
    // Subdomains
    DefineConstant[
      Lx = {7.5, Min 0.01, Max 20, Step 0.01, Name "Input/1Model/40Domain length (Lx)"},
      Ly = {7.5, Min 0.01, Max 20, Step 0.01, Name "Input/1Model/41Domain length (Ly)"},
      X_SCA = { 1.25, Min -10,  Max 10, Step 0.01, Name "Input/1Model/42Scatterer position (x)"},
      Y_SCA = { 1.25, Min -10,  Max 10, Step 0.01, Name "Input/1Model/43Scatterer position (y)"},
      R_SCA = { 1.,   Min 0.01, Max 20, Step 0.01, Name "Input/1Model/44Scatterer radius"},
      Nx_DOM  = {3, Min 1, Max 10, Step 1, Name "Input/1Model/50Nx subdomains"},
      Ny_DOM  = {3, Min 1, Max 10, Step 1, Name "Input/1Model/51Ny subdomains"},
      TWIST   = {0, Min 0, Max 1.5, Step 0.5, Name "Input/1Model/52 TWIST"}
    ];
    
      X0_DOM = -X_SCA;
      Y0_DOM = -Y_SCA;
    //  X0_DOM = -Lx/Nx_DOM/2.;
    //  Y0_DOM = -Ly/Ny_DOM/2.;
    
    DefineConstant[
    //  LAMBDA     = {0.5, Min 0.1, Max 30, Step 0.1, Name "Input/03Wavelength"},
      WAVENUMBER = {4*Pi, Min 1, Max 24, Step 1, Name "Input/03Wavenumber"},
      N_LAMBDA   = {10,   Min 5, Max 30, Step 1, Name "Input/04Points per wavelength"}
    ];
    
      //WAVENUMBER = (2*Pi)/LAMBDA;
      LAMBDA = (2*Pi)/WAVENUMBER;
      FREQ = WAVENUMBER/(2*Pi);
      LC = LAMBDA/N_LAMBDA;
    EndIf
    
    // =================================================================================================
    
    // Geometry: Marmousi case
    If(FLAG_PBM == PBM_MARMOUSI)
    
    // Subdomains
    DefineConstant[
      Nx_DOM  = {15, Min 1, Max 10, Step 1, Name "Input/1Model/50Nx subdomains"},
      Ny_DOM  = {4, Min 1, Max 10, Step 1, Name "Input/1Model/51Ny subdomains"}
    ];
      TWIST = 0;
    
      Lx = 9192.;
      Ly = 2904.;
      X0_DOM = 0.;
      Y0_DOM = -Ly;
      R_SCA = 1000;
    
      X_SOU = 4585.;
      Y_SOU = -10.;
      Lx_SDOM = Lx/Nx_DOM;
      Ly_SDOM = Ly/Ny_DOM;
      I_SOU = Ceil[(X_SOU-X0_DOM)/Lx_SDOM]-1;
      J_SOU = Ceil[(Y_SOU-Y0_DOM)/Ly_SDOM]-1;
      Idom_SOU = J_SOU*Nx_DOM + I_SOU;
      //Printf("I_SOU: %g",I_SOU);
      //Printf("J_SOU: %g",J_SOU);
      //Printf("Idom_SOU: %g",Idom_SOU);
    
    DefineConstant[
      FREQ     = {10, Min 0.1, Max 30, Step 0.1, Name "Input/03Frequency"}, //10
      N_LAMBDA = {5,                             Name "Input/04Points per wavelength"} //10
    ];
    
      // meshing for shortest wavelength
      cMin = 1500.;
      WAVENUMBER = 2*Pi*FREQ/cMin;
      LAMBDA = 2*Pi/WAVENUMBER ;
      LC = LAMBDA/N_LAMBDA;
    EndIf
    
    // =================================================================================================
    
    N_DOM = Nx_DOM*Ny_DOM;
    
    // =================================================================================================
    
    If(FLAG_PBM == PBM_SCATT_RECT)
      TAG_SCA = 1000;
    EndIf
    If(FLAG_PBM == PBM_MARMOUSI)
      TAG_SOU = 1000;
    EndIf
    
    For iDom In {0:N_DOM-1}
      TAG_DOM~{iDom} = 2000 + iDom;
    For iEdge In {0:3}
      TAG_BND~{iDom}~{iEdge} = 3000 + 4*iDom + iEdge;
    EndFor
    For iCorner In {0:3}
      TAG_CRN~{iDom}~{iCorner} = 4000 + 4*iDom + iCorner;
    EndFor
    EndFor