Advertisement
rasmit

Untitled

Aug 18th, 2023
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.94 KB | None | 0 0
  1. import math
  2. import json
  3.  
  4. # Parameters
  5. epsilon = '5d0'
  6. alpha = '1d0'
  7. gamma = '1.4'
  8.  
  9. # Initial conditions
  10. vel1_i = '0d0'
  11. vel2_i = '0d0'
  12. T_i = '1d0'
  13. pres_i = '1d0'
  14. alpha_rho1_i = '1d0'
  15.  
  16. # Perturbations
  17. vel1 = f'{vel1_i} + (y - yc)*({epsilon}/(2d0*pi))*' + \
  18.     f'exp({alpha}*(1d0 - (x - xc)**2d0 - (y - yc)**2))'
  19. vel2 = f'{vel2_i} - (x - xc)*({epsilon}/(2d0*pi))*' + \
  20.     f'exp({alpha}*(1d0 - (x - xc)**2d0 - (y - yc)**2))'
  21. T = f'{T_i} - (({gamma} - 1d0))/(16d0*{alpha}*{gamma}*pi**2)*' + \
  22.     f'exp(2*{alpha}*(1d0 - (x - xc)**2 - (y - yc)**2))'
  23. alpha_rho1 = f'{T}**(1d0/({gamma} - 1d0))'
  24. pres = f'{alpha_rho1} ** {gamma}'
  25.  
  26. # Numerical setup
  27. Nx = 399
  28. dx = 1./(1.*(Nx+1))
  29.  
  30. c = 1.4**0.5
  31. C = 0.3
  32. mydt = C * dx / c
  33. Nt = 100
  34.  
  35. # Configuring case dictionary
  36. print(json.dumps({
  37.     # Logistics ================================================================
  38.     'run_time_info'                : 'T',
  39.     # ==========================================================================
  40.  
  41.     # Computational Domain Parameters ==========================================
  42.     'x_domain%beg'                 : -5.,
  43.     'x_domain%end'                 : 5.,
  44.     'y_domain%beg'                 : -5.,
  45.     'y_domain%end'                 : 5.,
  46.     'm'                            : Nx,
  47.     'n'                            : Nx,
  48.     'p'                            : 0,
  49.     'dt'                           : mydt,
  50.     't_step_start'                 : 0,
  51.     't_step_stop'                  : int(Nt),
  52.     't_step_save'                  : int(Nt),
  53.     # ==========================================================================
  54.  
  55.     # Simulation Algorithm Parameters ==========================================
  56.     'num_patches'                  : 1,
  57.     'model_eqns'                   : 3,
  58.     'alt_soundspeed'               : 'F',
  59.     'num_fluids'                   : 1,
  60.     'adv_alphan'                   : 'T',
  61.     'mpp_lim'                      : 'F',
  62.     'mixture_err'                  : 'F',
  63.     'time_stepper'                 : 3,
  64.     'weno_order'                   : 5,
  65.     'weno_eps'                     : 1.E-16,
  66.     'mapped_weno'                  : 'T',
  67.     'null_weights'                 : 'F',
  68.     'mp_weno'                      : 'F',
  69.     'riemann_solver'               : 2,
  70.     'wave_speeds'                  : 1,
  71.     'avg_state'                    : 2,
  72.     'bc_x%beg'                     : -1,
  73.     'bc_x%end'                     : -1,
  74.     'bc_y%beg'                     : -1,
  75.     'bc_y%end'                     : -1,
  76.     # ==========================================================================
  77.  
  78.     # Formatted Database Files Structure Parameters ============================
  79.     'format'                       : 1,
  80.     'precision'                    : 2,
  81.     'prim_vars_wrt'                :'T',
  82.     'parallel_io'                  :'T',
  83.     'omega_wrt(3)'                 :'T',
  84.     'fd_order'                     : 2,
  85.     # ==========================================================================
  86.  
  87.     # Patch 1 ==================================================================
  88.     'patch_icpp(1)%geometry'       : 3,
  89.     'patch_icpp(1)%x_centroid'     : 0,
  90.     'patch_icpp(1)%y_centroid'     : 0,
  91.     'patch_icpp(1)%length_x'       : 10.,
  92.     'patch_icpp(1)%length_y'       : 10.,
  93.     'patch_icpp(1)%vel(1)'         : vel1,
  94.     'patch_icpp(1)%vel(2)'         : vel2,
  95.     'patch_icpp(1)%pres'           : pres,
  96.     'patch_icpp(1)%alpha_rho(1)'   : alpha_rho1,
  97.     'patch_icpp(1)%alpha(1)'       : 1.,
  98.     # ==========================================================================
  99.  
  100.     # Fluids Physical Parameters ===============================================
  101.     'fluid_pp(1)%gamma'            : 1.E+00/(1.4-1.E+00),
  102.     'fluid_pp(1)%pi_inf'           : 0.0,
  103.     # ==========================================================================
  104. }))
  105.  
  106. # ==============================================================================
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement