Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // physical parameters
- MU = 1.0e-2 // fluid viscosity
- RHO = 1.0 // fluid density
- L = 1.0
- // grid spacing parameters
- MAX_LEVELS = 2 // maximum number of levels in locally refined grid
- REF_RATIO = 4 // refinement ratio between levels
- N = 64 // actual number of grid cells on coarsest grid level
- NFINEST = (REF_RATIO^(MAX_LEVELS - 1))*N // effective number of grid cells on finest grid level
- // solver parameters
- SOLVER_TYPE = "STAGGERED" // the fluid solver to use (STAGGERED or COLLOCATED)
- CFL_MAX = 0.3 // maximum CFL number
- DT_MAX = 0.0625/NFINEST // maximum timestep size
- START_TIME = 0.0e0 // initial simulation time
- END_TIME = 100000000000*DT_MAX // final simulation time
- GROW_DT = 2.0e0 // growth factor for timesteps
- NUM_CYCLES = 3 // number of cycles of fixed-point iteration
- CONVECTIVE_TS_TYPE = "MIDPOINT_RULE" // convective time stepping type
- CONVECTIVE_OP_TYPE = "PPM" // convective differencing discretization type
- CONVECTIVE_FORM = "ADVECTIVE" // how to compute the convective terms
- NORMALIZE_PRESSURE = TRUE // whether to explicitly force the pressure to have mean zero
- VORTICITY_TAGGING = TRUE // whether to tag cells for refinement based on vorticity thresholds
- TAG_BUFFER = 1 // sized of tag buffer used by grid generation algorithm
- REGRID_INTERVAL = 10000000 // effectively disable regridding
- OUTPUT_U = TRUE
- OUTPUT_P = TRUE
- OUTPUT_F = FALSE
- OUTPUT_OMEGA = TRUE
- OUTPUT_DIV_U = TRUE
- OUTPUT_EE = TRUE
- ENABLE_LOGGING = TRUE
- // collocated solver parameters
- PROJECTION_METHOD_TYPE = "PRESSURE_UPDATE"
- SECOND_ORDER_PRESSURE_UPDATE = TRUE
- // exact solution function expressions
- U = "1.0 + exp(-4.0*PI*PI*nu*t)*(C*cos(2*PI*(X_1-t)) + A*sin(2*PI*(X_2-t)))"
- V = "1.0 + exp(-4.0*PI*PI*nu*t)*(B*sin(2*PI*(X_0-t)) + A*cos(2*PI*(X_2-t)))"
- W = "1.0 + exp(-4.0*PI*PI*nu*t)*(B*cos(2*PI*(X_0-t)) + C*sin(2*PI*(X_1-t)))"
- P = "-exp(-8.0*PI*PI*nu*t)*(A*C*cos(2*PI*(X_1-t))*sin(2*PI*(X_2-t)) + A*B*sin(2*PI*(X_0-t))*cos(2*PI*(X_2-t)) + B*C*cos(2*PI*(X_0-t))*sin(2*PI*(X_1-t)))"
- VelocityInitialConditions {
- nu = MU/RHO
- A = 1.0
- B = 1.0
- C = 1.0
- function_0 = U
- function_1 = V
- function_2 = W
- }
- VelocityBcCoefs_0 {
- nu = MU/RHO
- acoef_function_0 = "1.0"
- acoef_function_1 = "1.0"
- acoef_function_2 = "1.0"
- acoef_function_3 = "1.0"
- acoef_function_4 = "1.0"
- acoef_function_5 = "1.0"
- bcoef_function_0 = "0.0"
- bcoef_function_1 = "0.0"
- bcoef_function_2 = "0.0"
- bcoef_function_3 = "0.0"
- bcoef_function_4 = "0.0"
- bcoef_function_5 = "0.0"
- gcoef_function_0 = U
- gcoef_function_1 = U
- gcoef_function_2 = U
- gcoef_function_3 = U
- gcoef_function_4 = U
- gcoef_function_5 = U
- }
- VelocityBcCoefs_1 {
- nu = MU/RHO
- acoef_function_0 = "1.0"
- acoef_function_1 = "1.0"
- acoef_function_2 = "1.0"
- acoef_function_3 = "1.0"
- acoef_function_4 = "1.0"
- acoef_function_5 = "1.0"
- bcoef_function_0 = "0.0"
- bcoef_function_1 = "0.0"
- bcoef_function_2 = "0.0"
- bcoef_function_3 = "0.0"
- bcoef_function_4 = "0.0"
- bcoef_function_5 = "0.0"
- gcoef_function_0 = V
- gcoef_function_1 = V
- gcoef_function_2 = V
- gcoef_function_3 = V
- gcoef_function_4 = V
- gcoef_function_5 = V
- }
- VelocityBcCoefs_2 {
- nu = MU/RHO
- acoef_function_0 = "1.0"
- acoef_function_1 = "1.0"
- acoef_function_2 = "1.0"
- acoef_function_3 = "1.0"
- acoef_function_4 = "1.0"
- acoef_function_5 = "1.0"
- bcoef_function_0 = "0.0"
- bcoef_function_1 = "0.0"
- bcoef_function_2 = "0.0"
- bcoef_function_3 = "0.0"
- bcoef_function_4 = "0.0"
- bcoef_function_5 = "0.0"
- gcoef_function_0 = W
- gcoef_function_1 = W
- gcoef_function_2 = W
- gcoef_function_3 = W
- gcoef_function_4 = W
- gcoef_function_5 = W
- }
- PressureInitialConditions {
- nu = MU/RHO
- A = 1.0
- B = 1.0
- C = 1.0
- function = P
- }
- INSCollocatedHierarchyIntegrator {
- mu = MU
- rho = RHO
- start_time = START_TIME
- end_time = END_TIME
- grow_dt = GROW_DT
- num_cycles = NUM_CYCLES
- convective_time_stepping_type = CONVECTIVE_TS_TYPE
- convective_op_type = CONVECTIVE_OP_TYPE
- convective_difference_form = CONVECTIVE_FORM
- normalize_pressure = NORMALIZE_PRESSURE
- cfl = CFL_MAX
- dt_max = DT_MAX
- using_vorticity_tagging = VORTICITY_TAGGING
- vorticity_rel_thresh = 0.25,0.125
- tag_buffer = TAG_BUFFER
- regrid_interval = REGRID_INTERVAL
- output_U = OUTPUT_U
- output_P = OUTPUT_P
- output_F = OUTPUT_F
- output_Omega = OUTPUT_OMEGA
- output_Div_U = OUTPUT_DIV_U
- enable_logging = ENABLE_LOGGING
- projection_method_type = PROJECTION_METHOD_TYPE
- use_2nd_order_pressure_update = SECOND_ORDER_PRESSURE_UPDATE
- velocity_solver_type = "PETSC_KRYLOV_SOLVER"
- velocity_precond_type = "POINT_RELAXATION_FAC_PRECONDITIONER"
- velocity_solver_db {
- ksp_type = "fgmres"
- }
- velocity_precond_db {
- num_pre_sweeps = 0
- num_post_sweeps = 3
- prolongation_method = "LINEAR_REFINE"
- restriction_method = "CONSERVATIVE_COARSEN"
- coarse_solver_type = "HYPRE_LEVEL_SOLVER"
- coarse_solver_rel_residual_tol = 1.0e-12
- coarse_solver_abs_residual_tol = 1.0e-50
- coarse_solver_max_iterations = 1
- coarse_solver_db {
- solver_type = "PFMG"
- num_pre_relax_steps = 0
- num_post_relax_steps = 3
- enable_logging = FALSE
- }
- }
- pressure_solver_type = "PETSC_KRYLOV_SOLVER"
- pressure_precond_type = "POINT_RELAXATION_FAC_PRECONDITIONER"
- pressure_solver_db {
- ksp_type = "fgmres"
- }
- pressure_precond_db {
- num_pre_sweeps = 0
- num_post_sweeps = 3
- prolongation_method = "LINEAR_REFINE"
- restriction_method = "CONSERVATIVE_COARSEN"
- coarse_solver_type = "HYPRE_LEVEL_SOLVER"
- coarse_solver_rel_residual_tol = 1.0e-12
- coarse_solver_abs_residual_tol = 1.0e-50
- coarse_solver_max_iterations = 1
- coarse_solver_db {
- solver_type = "PFMG"
- num_pre_relax_steps = 0
- num_post_relax_steps = 3
- enable_logging = FALSE
- }
- }
- regrid_projection_solver_type = "PETSC_KRYLOV_SOLVER"
- regrid_projection_precond_type = "POINT_RELAXATION_FAC_PRECONDITIONER"
- regrid_projection_solver_db {
- ksp_type = "fgmres"
- }
- regrid_projection_precond_db {
- num_pre_sweeps = 0
- num_post_sweeps = 3
- prolongation_method = "LINEAR_REFINE"
- restriction_method = "CONSERVATIVE_COARSEN"
- coarse_solver_type = "HYPRE_LEVEL_SOLVER"
- coarse_solver_rel_residual_tol = 1.0e-12
- coarse_solver_abs_residual_tol = 1.0e-50
- coarse_solver_max_iterations = 1
- coarse_solver_db {
- solver_type = "PFMG"
- num_pre_relax_steps = 0
- num_post_relax_steps = 3
- enable_logging = FALSE
- }
- }
- }
- INSStaggeredHierarchyIntegrator {
- mu = MU
- rho = RHO
- start_time = START_TIME
- end_time = END_TIME
- grow_dt = GROW_DT
- num_cycles = NUM_CYCLES
- convective_time_stepping_type = CONVECTIVE_TS_TYPE
- convective_op_type = CONVECTIVE_OP_TYPE
- convective_difference_form = CONVECTIVE_FORM
- normalize_pressure = NORMALIZE_PRESSURE
- cfl = CFL_MAX
- dt_max = DT_MAX
- using_vorticity_tagging = VORTICITY_TAGGING
- vorticity_rel_thresh = 0.25,0.125
- tag_buffer = TAG_BUFFER
- regrid_interval = REGRID_INTERVAL
- output_U = OUTPUT_U
- output_P = OUTPUT_P
- output_F = OUTPUT_F
- output_Omega = OUTPUT_OMEGA
- output_Div_U = OUTPUT_DIV_U
- output_EE = OUTPUT_EE
- enable_logging = ENABLE_LOGGING
- stokes_solver_type = "PETSC_KRYLOV_SOLVER"
- stokes_precond_type = "PROJECTION_PRECONDITIONER"
- stokes_solver_db {
- ksp_type = "fgmres"
- }
- velocity_solver_type = "PETSC_KRYLOV_SOLVER"
- velocity_precond_type = "POINT_RELAXATION_FAC_PRECONDITIONER"
- velocity_solver_db {
- ksp_type = "richardson"
- max_iterations = 1
- rel_residual_tol = 1.0e-1
- }
- velocity_precond_db {
- num_pre_sweeps = 0
- num_post_sweeps = 3
- prolongation_method = "CONSERVATIVE_LINEAR_REFINE"
- restriction_method = "CONSERVATIVE_COARSEN"
- coarse_solver_type = "PETSC_LEVEL_SOLVER"
- coarse_solver_rel_residual_tol = 1.0e-12
- coarse_solver_abs_residual_tol = 1.0e-50
- coarse_solver_max_iterations = 100
- coarse_solver_db {
- ksp_type = "gmres"
- pc_type = "jacobi"
- }
- }
- pressure_solver_type = "PETSC_KRYLOV_SOLVER"
- pressure_precond_type = "POINT_RELAXATION_FAC_PRECONDITIONER"
- pressure_solver_db {
- ksp_type = "richardson"
- max_iterations = 1
- rel_residual_tol = 1.0e-1
- }
- pressure_precond_db {
- num_pre_sweeps = 0
- num_post_sweeps = 3
- prolongation_method = "LINEAR_REFINE"
- restriction_method = "CONSERVATIVE_COARSEN"
- coarse_solver_type = "PETSC_LEVEL_SOLVER"
- coarse_solver_rel_residual_tol = 1.0e-12
- coarse_solver_abs_residual_tol = 1.0e-50
- coarse_solver_max_iterations = 100
- coarse_solver_db {
- ksp_type = "gmres"
- pc_type = "jacobi"
- }
- }
- regrid_projection_solver_type = "PETSC_KRYLOV_SOLVER"
- regrid_projection_precond_type = "POINT_RELAXATION_FAC_PRECONDITIONER"
- regrid_projection_solver_db {
- ksp_type = "fgmres"
- }
- regrid_projection_precond_db {
- num_pre_sweeps = 0
- num_post_sweeps = 3
- prolongation_method = "LINEAR_REFINE"
- restriction_method = "CONSERVATIVE_COARSEN"
- coarse_solver_type = "HYPRE_LEVEL_SOLVER"
- coarse_solver_rel_residual_tol = 1.0e-12
- coarse_solver_abs_residual_tol = 1.0e-50
- coarse_solver_max_iterations = 1
- coarse_solver_db {
- solver_type = "PFMG"
- num_pre_relax_steps = 0
- num_post_relax_steps = 3
- enable_logging = FALSE
- }
- }
- }
- Main {
- solver_type = SOLVER_TYPE
- // log file parameters
- log_file_name = "INS3d.log"
- log_all_nodes = FALSE
- // visualization dump parameters
- viz_writer = "VisIt"
- viz_dump_interval = 5000
- viz_dump_dirname = "viz_INS3d"
- visit_number_procs_per_file = 1
- // restart dump parameters
- restart_dump_interval = 0
- restart_dump_dirname = "restart_INS3d"
- // timer dump parameters
- timer_dump_interval = 0
- }
- CartesianGeometry {
- domain_boxes = [ (0,0,0),(N - 1,N - 1,N - 1) ]
- x_lo = 0,0,0
- x_up = L,L,L
- periodic_dimension = 1,1,1
- }
- GriddingAlgorithm {
- max_levels = MAX_LEVELS
- ratio_to_coarser {
- level_1 = REF_RATIO,REF_RATIO,REF_RATIO
- level_2 = REF_RATIO,REF_RATIO,REF_RATIO
- level_3 = REF_RATIO,REF_RATIO,REF_RATIO
- }
- largest_patch_size {
- level_0 = 512,512,512 // all finer levels will use same values as level_0
- }
- smallest_patch_size {
- level_0 = 4, 4, 4 // all finer levels will use same values as level_0
- }
- efficiency_tolerance = 0.85e0 // min % of tag cells in new patch level
- combine_efficiency = 0.85e0 // chop box if sum of volumes of smaller boxes < efficiency * vol of large box
- }
- StandardTagAndInitialize {
- tagging_method = "REFINE_BOXES"
- RefineBoxes {
- level_0 = [((REF_RATIO^0)*N/4 + 0,(REF_RATIO^0)*N/4 + 0,(REF_RATIO^0)*N/4 + 0),(3*(REF_RATIO^0)*N/4 - 1,3*(REF_RATIO^0)*N/4 - 1,3*(REF_RATIO^0)*N/4 - 1)]
- level_1 = [((REF_RATIO^1)*N/4 + 1,(REF_RATIO^1)*N/4 + 1,(REF_RATIO^1)*N/4 + 1),(3*(REF_RATIO^1)*N/4 - 2,3*(REF_RATIO^1)*N/4 - 2,3*(REF_RATIO^1)*N/4 - 2)]
- level_2 = [((REF_RATIO^2)*N/4 + 2,(REF_RATIO^2)*N/4 + 2,(REF_RATIO^2)*N/4 + 2),(3*(REF_RATIO^2)*N/4 - 3,3*(REF_RATIO^2)*N/4 - 3,3*(REF_RATIO^2)*N/4 - 3)]
- }
- }
- LoadBalancer {
- bin_pack_method = "SPATIAL"
- max_workload_factor = 1
- }
- TimerManager{
- print_exclusive = FALSE
- print_total = TRUE
- print_threshold = 0.1
- timer_list = "IBAMR::*::*","IBTK::*::*","*::*::*"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement