diff --git a/test/meshes b/test/meshes index 5457434..229215a 160000 --- a/test/meshes +++ b/test/meshes @@ -1 +1 @@ -Subproject commit 54574349beda0be7744b8bcf898ffd8b10db3a38 +Subproject commit 229215ac3752fc5a680eb4888094f12c667e9b53 diff --git a/test/test_files/nalu-nalu-panel/nalu-nalu-panel.yaml b/test/test_files/nalu-nalu-panel/nalu-nalu-panel.yaml new file mode 100644 index 0000000..75af8ce --- /dev/null +++ b/test/test_files/nalu-nalu-panel/nalu-nalu-panel.yaml @@ -0,0 +1,22 @@ +# Example input file + +exawind: + nalu_wind_inp: + - nalu_platform.yaml + - nalu_panel.yaml + num_timesteps: 10 + additional_picard_iterations: 2 + use_adaptive_holemap: true + composite_body: + - composite_name: first_body + num_body_tags: 2 + body_tags: [1,2] + dominance_tags: [0,1] + search_tolerance: 1e-12 + + # Variables for overset exchange + nalu_vars: + - velocity + - pressure + - turbulent_ke + - specific_dissipation_rate diff --git a/test/test_files/nalu-nalu-panel/nalu_panel.yaml b/test/test_files/nalu-nalu-panel/nalu_panel.yaml new file mode 100644 index 0000000..4206a64 --- /dev/null +++ b/test/test_files/nalu-nalu-panel/nalu_panel.yaml @@ -0,0 +1,219 @@ +# -*- mode: yaml -*- + +Simulations: + - name: sim1 + time_integrator: ti_1 + optimizer: opt1 + +linear_solvers: + + - name: solve_scalar + type: tpetra + method: gmres + preconditioner: mt_sgs + tolerance: 1e-5 + max_iterations: 200 + kspace: 50 + output_level: 0 + + - name: solve_cont + type: hypre + method: hypre_gmres + preconditioner: boomerAMG + tolerance: 1e-5 + max_iterations: 200 + kspace: 5 + output_level: 0 + +realms: + - name: assembly + mesh: ../../meshes/panel_cap.exo + use_edges: yes + automatic_decomposition_type: rcb + rebalance_mesh: yes + stk_rebalance_method: parmetis + + equation_systems: + name: theEqSys + max_iterations: 3 + decoupled_overset_solve: yes + + solver_system_specification: + velocity: solve_scalar + pressure: solve_cont + turbulent_ke: solve_scalar + specific_dissipation_rate: solve_scalar + ndtw: solve_cont + + systems: + + - WallDistance: + name: myNDTW + max_iterations: 1 + convergence_tolerance: 1.0e-8 + update_frequency: 1000000000 + exchange_fringe_data: yes + + - LowMachEOM: + name: myLowMach + max_iterations: 1 + convergence_tolerance: 1e-7 + + - ShearStressTransport: + name: mySST + max_iterations: 1 + convergence_tolerance: 1e-8 + + initial_conditions: + + - constant: ic_1 + target_name: [panel-HEX] + value: + pressure: 0.0 + velocity: [51.8,0.0,0.0] + turbulent_ke: 0.095118 + specific_dissipation_rate: 250.0 + + material_properties: + target_name: [panel-HEX] + specifications: + - name: density + type: constant + value: 1.20 + + - name: viscosity + type: constant + value: 1.8e-5 + + boundary_conditions: + + - wall_boundary_condition: bc_panel_struct + target_name: panel_struct + wall_user_data: + velocity: [0.0, 0.0, 0.0] + turbulent_ke: 0.0 + + - wall_boundary_condition: bc_panel_surf + target_name: panel_surf + wall_user_data: + velocity: [0.0, 0.0, 0.0] + turbulent_ke: 0.0 + + - overset_boundary_condition: bc_ovst + overset_connectivity_type: tioga + overset_user_data: + mesh_tag_offset: 1 + tioga_options: + set_resolutions: no + mesh_group: + - overset_name: panel + mesh_parts: [ panel-HEX ] + wall_parts: [ panel_surf, panel_struct] + ovset_parts: [ panel_outer ] + + solution_options: + name: myOptions + turbulence_model: sst + projected_timescale_type: momentum_diag_inv #### Use 1/diagA formulation + + options: + - hybrid_factor: + velocity: 1.0 + turbulent_ke: 1.0 + specific_dissipation_rate: 1.0 + + - upw_factor: + velocity: 0.0 + turbulent_ke: 0.0 + specific_dissipation_rate: 0.0 + + - alpha_upw: + velocity: 1.0 + turbulent_ke: 1.0 + specific_dissipation_rate: 1.0 + + - limiter: + pressure: no + velocity: no + + - projected_nodal_gradient: + pressure: element + velocity: element + + - relaxation_factor: + velocity: 0.7 + pressure: 0.3 + turbulent_ke: 0.7 + specific_dissipation_rate: 0.7 + # post_processing: + # - type: surface + # physics: surface_force_and_moment + # output_file_name: PX_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_plus_x + # - type: surface + # physics: surface_force_and_moment + # output_file_name: MX_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_minus_x + # - type: surface + # physics: surface_force_and_moment + # output_file_name: MY_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_minus_y + # - type: surface + # physics: surface_force_and_moment + # output_file_name: PZ_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_plus_z + # - type: surface + # physics: surface_force_and_moment + # output_file_name: MZ_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_minus_z + + output: + output_data_base_name: out/panel.e + output_frequency: 1 + output_node_set: no + output_variables: + - velocity + - pressure + - dpdx + - mesh_displacement + - iblank + - iblank_cell + - turbulent_ke + - specific_dissipation_rate + - minimum_distance_to_wall + - sst_f_one_blending + - turbulent_viscosity + - q_criterion + - vorticity +# restart: +# restart_frequency: 500 +# restart_start: 0 + + +Time_Integrators: + - StandardTimeIntegrator: + name: ti_1 + start_time: 0 + termination_step_count: 100 + time_step: 0.005 + time_stepping_type: fixed + time_step_count: 0 + second_order_accuracy: yes + + realms: + - assembly diff --git a/test/test_files/nalu-nalu-panel/nalu_platform.yaml b/test/test_files/nalu-nalu-panel/nalu_platform.yaml new file mode 100644 index 0000000..12a3c13 --- /dev/null +++ b/test/test_files/nalu-nalu-panel/nalu_platform.yaml @@ -0,0 +1,246 @@ +# -*- mode: yaml -*- + +Simulations: + - name: sim1 + time_integrator: ti_1 + optimizer: opt1 + +linear_solvers: + + - name: solve_scalar + type: tpetra + method: gmres + preconditioner: mt_sgs + tolerance: 1e-5 + max_iterations: 200 + kspace: 50 + output_level: 0 + + - name: solve_cont + type: hypre + method: hypre_gmres + preconditioner: boomerAMG + tolerance: 1e-5 + max_iterations: 200 + kspace: 5 + output_level: 0 + +realms: + - name: assembly + mesh: ../../meshes/panel_base.exo + use_edges: yes + automatic_decomposition_type: rcb + rebalance_mesh: yes + stk_rebalance_method: parmetis + + equation_systems: + name: theEqSys + max_iterations: 3 + decoupled_overset_solve: yes + + solver_system_specification: + velocity: solve_scalar + pressure: solve_cont + turbulent_ke: solve_scalar + specific_dissipation_rate: solve_scalar + ndtw: solve_cont + + systems: + + - WallDistance: + name: myNDTW + max_iterations: 1 + convergence_tolerance: 1.0e-8 + update_frequency: 1000000000 + exchange_fringe_data: yes + + - LowMachEOM: + name: myLowMach + max_iterations: 1 + convergence_tolerance: 1e-7 + + - ShearStressTransport: + name: mySST + max_iterations: 1 + convergence_tolerance: 1e-8 + + initial_conditions: + + - constant: ic_1 + target_name: [bulk-HEX] + value: + pressure: 0.0 + velocity: [51.8,0.0,0.0] + turbulent_ke: 0.095118 + specific_dissipation_rate: 250.0 + + material_properties: + target_name: [bulk-HEX] + specifications: + - name: density + type: constant + value: 1.20 + + - name: viscosity + type: constant + value: 1.8e-5 + + boundary_conditions: + + - inflow_boundary_condition: bc_inflow + target_name: front + inflow_user_data: + velocity: [58.1, 0.0, 0.0] + turbulent_ke: 0.095118 + specific_dissipation_rate: 250.0 + + - symmetry_boundary_condition: bc_pz + target_name: top + symmetry_user_data: + + - symmetry_boundary_condition: bc_py + target_name: plus_y + symmetry_user_data: + + - symmetry_boundary_condition: bc_my + target_name: minus_y + symmetry_user_data: + + - wall_boundary_condition: bc_bottom + target_name: ground + wall_user_data: + velocity: [0.0, 0.0, 0.0] + turbulent_ke: 0.0 + + - wall_boundary_condition: bc_bottom + target_name: structure + wall_user_data: + velocity: [0.0, 0.0, 0.0] + turbulent_ke: 0.0 + + - open_boundary_condition: bc_out + target_name: back + open_user_data: + velocity: [0,0] + pressure: 0.0 + turbulent_ke: 0.095118 + specific_dissipation_rate: 250.0 + + - overset_boundary_condition: bc_ovst + overset_connectivity_type: tioga + overset_user_data: + mesh_tag_offset: 0 + tioga_options: + set_resolutions: no + + mesh_group: + - overset_name: background + mesh_parts: [ bulk-HEX ] + wall_parts: [ ground, structure ] + + solution_options: + name: myOptions + turbulence_model: sst + projected_timescale_type: momentum_diag_inv #### Use 1/diagA formulation + + options: + - hybrid_factor: + velocity: 1.0 + turbulent_ke: 1.0 + specific_dissipation_rate: 1.0 + + - upw_factor: + velocity: 0.0 + turbulent_ke: 0.0 + specific_dissipation_rate: 0.0 + + - alpha_upw: + velocity: 1.0 + turbulent_ke: 1.0 + specific_dissipation_rate: 1.0 + + - limiter: + pressure: no + velocity: no + + - projected_nodal_gradient: + pressure: element + velocity: element + + - relaxation_factor: + velocity: 0.7 + pressure: 0.3 + turbulent_ke: 0.7 + specific_dissipation_rate: 0.7 + # post_processing: + # - type: surface + # physics: surface_force_and_moment + # output_file_name: PX_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_plus_x + # - type: surface + # physics: surface_force_and_moment + # output_file_name: MX_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_minus_x + # - type: surface + # physics: surface_force_and_moment + # output_file_name: MY_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_minus_y + # - type: surface + # physics: surface_force_and_moment + # output_file_name: PZ_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_plus_z + # - type: surface + # physics: surface_force_and_moment + # output_file_name: MZ_forces.dat + # frequency: 2 + # parameters: [0, 0] + # target_name: + # - panel_minus_z + + output: + output_data_base_name: out/platform.e + output_frequency: 1 + output_node_set: no + output_variables: + - velocity + - pressure + - dpdx + - mesh_displacement + - iblank + - iblank_cell + - turbulent_ke + - specific_dissipation_rate + - minimum_distance_to_wall + - sst_f_one_blending + - turbulent_viscosity + - q_criterion + - vorticity +# restart: +# restart_frequency: 500 +# restart_start: 0 + + +Time_Integrators: + - StandardTimeIntegrator: + name: ti_1 + start_time: 0 + termination_step_count: 100 + time_step: 0.005 + time_stepping_type: fixed + time_step_count: 0 + second_order_accuracy: yes + + realms: + - assembly