- dimThe dimension of the mesh to be generated
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The dimension of the mesh to be generated
- dxIntervals in the X direction
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Intervals in the X direction
CartesianMeshGenerator
This CartesianMeshGenerator creates a non-uniform Cartesian mesh.
Overview
The CartesianMeshGenerator
object is the built-in mesh generation capable of creating lines, rectangles, and hexahedra ("boxes"). The mesh spacing can be non-uniform and each line/rectangle/hexahedron can be assigned a separate subdomain id. The mesh automatically creates side sets that are logically named and numbered as follows:
In 1D, left = 0, right = 1
In 2D, bottom = 0, right = 1, top = 2, left = 3
In 3D, back = 0, bottom = 1, right = 2, top = 3, left = 4, front = 5
The length, width, and height of each element, as well as their subdomain id can be set independently. Each linear subdivision in x, y, or z can be additionally subdivided into sub-elements.
Example Syntax
[Mesh]
[./cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1
2 2 2
3 4 4
5 5 5
0 1 1
2 2 2
3 4 4
5 5 5
'
[../]
[]
(test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_3D.i)Input Parameters
- dyIntervals in the Y direction (required when dim>1 otherwise ignored)
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Intervals in the Y direction (required when dim>1 otherwise ignored)
- dzIntervals in the Z direction (required when dim>2 otherwise ignored)
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Intervals in the Z direction (required when dim>2 otherwise ignored)
- ixNumber of grids in all intervals in the X direction (default to all one)
C++ Type:std::vector<unsigned int>
Unit:(no unit assumed)
Controllable:No
Description:Number of grids in all intervals in the X direction (default to all one)
- iyNumber of grids in all intervals in the Y direction (default to all one)
C++ Type:std::vector<unsigned int>
Unit:(no unit assumed)
Controllable:No
Description:Number of grids in all intervals in the Y direction (default to all one)
- izNumber of grids in all intervals in the Z direction (default to all one)
C++ Type:std::vector<unsigned int>
Unit:(no unit assumed)
Controllable:No
Description:Number of grids in all intervals in the Z direction (default to all one)
- subdomain_idBlock IDs (default to all zero)
C++ Type:std::vector<unsigned int>
Unit:(no unit assumed)
Controllable:No
Description:Block IDs (default to all zero)
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Set the enabled status of the MooseObject.
- save_with_nameKeep the mesh from this mesh generator in memory with the name specified
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Keep the mesh from this mesh generator in memory with the name specified
Advanced Parameters
- nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)
- outputFalseWhether or not to output the mesh file after generating the mesh
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not to output the mesh file after generating the mesh
- show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)
Debugging Parameters
Input Files
- (test/tests/linearfvkernels/block-restriction/block-restricted-adr.i)
- (modules/navier_stokes/test/tests/postprocessors/flow_rates/conservation_PINSFV.i)
- (test/tests/mesh/preparedness/test.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated-physics.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/block_restriction/2d-rc.i)
- (modules/chemical_reactions/test/tests/thermochimica/MoRu_subblock.i)
- (test/tests/actioncomponents/mesh_generator_component.i)
- (test/tests/meshdivisions/functor_values_division.i)
- (modules/thermal_hydraulics/test/tests/userobjects/layered_flow_area_change/layered_flow_area_2D.i)
- (test/tests/times/simulation_times.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/2d-rc-friction-action.i)
- (modules/heat_transfer/test/tests/multiple_radiation_cavities/multiple_radiation_cavities.i)
- (test/tests/mesh/boundary_subdomain_list/2D_9reg.i)
- (test/tests/functions/piecewise_constant_from_csv/piecewise_constant.i)
- (test/tests/userobjects/property_read_file/piecewise_constant_elem_multiple.i)
- (test/tests/meshgenerators/refine_block_generator/test_multi.i)
- (modules/navier_stokes/test/tests/finite_volume/materials/flow_diode/friction.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated-disp-system.i)
- (test/tests/meshgenerators/block_deletion_generator/block_deletion_not_prepared.i)
- (modules/heat_transfer/test/tests/gap_heat_transfer_mortar/large_gap_heat_transfer_test_rz_cylinder.i)
- (modules/navier_stokes/test/tests/postprocessors/flow_rates/conservation_INSFV.i)
- (modules/reactor/test/tests/positions/cartesian_grid_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-scalar.i)
- (modules/heat_transfer/test/tests/gap_heat_transfer_mortar/large_gap_heat_transfer_test_rz_cylinder_mortar.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/neighbor-connected-boundary/test.i)
- (modules/navier_stokes/test/tests/finite_volume/fviks/convection/convection_cavity.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/mms/porosity_change/1d-rc-continuous.i)
- (test/tests/times/csv_times.i)
- (test/tests/meshgenerators/coarsen_block_generator/coarsen_hex.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/block_restriction/segregated/2d-segregated-block.i)
- (test/tests/physics/diffusion_fv.i)
- (test/tests/positions/quadrature_point_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/mms/1d-rc.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_and_counterpump_loop.i)
- (test/tests/meshgenerators/refine_sideset_generator/test_left.i)
- (modules/geochemistry/test/tests/nodal_void_volume/nodal_void_volume.i)
- (test/tests/tag/tag-array-grad.i)
- (test/tests/kernels/hfem/robin_displaced.i)
- (test/tests/positions/creating_multiapps/apps_from_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-velocity-rz.i)
- (modules/heat_transfer/test/tests/gap_heat_transfer_balance/large_gap_heat_transfer_test_rz_cylinder.i)
- (modules/scalar_transport/test/tests/physics/diffusion_multi_options.i)
- (modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_action.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_loop.i)
- (test/tests/physics/diffusion_cg.i)
- (test/tests/positions/distributed_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated-comparison/segregated-linear.i)
- (modules/heat_transfer/test/tests/physics/test_fv.i)
- (modules/heat_transfer/test/tests/radiation_transfer_action/cavity_with_pillar_vf.i)
- (test/tests/meshgenerators/move_node_generator/test2.i)
- (test/tests/meshgenerators/coarsen_block_generator/coarsen_quad.i)
- (test/tests/fviks/diffusion/multisystem.i)
- (modules/navier_stokes/test/tests/postprocessors/flow_rates/mass_flux_weighted_pp.i)
- (test/tests/auxkernels/volume_aux/element.i)
- (modules/navier_stokes/test/tests/postprocessors/pressure_drop/drop_insad.i)
- (test/tests/physics/errors/base_fv.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/block-restriction/with-empty-block.i)
- (modules/optimization/examples/diffusion_reaction/parameter_mesh.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/physics/diffusion_interfaces/three_zones-physics.i)
- (test/tests/times/reporter_times.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/exceptions/bad-restriction.i)
- (test/tests/meshdivisions/spherical_division.i)
- (test/tests/meshdivisions/cartesian_division.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/3d/3d-segregated-energy.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/2d-rc-epsjump.i)
- (modules/heat_transfer/test/tests/physics/test_fv_convective_bc.i)
- (test/tests/auxkernels/volume_aux/side.i)
- (test/tests/meshdivisions/nearest_position_division.i)
- (modules/heat_transfer/test/tests/physics/test_cg_convective_bc.i)
- (test/tests/positions/transformed_positions.i)
- (test/tests/postprocessors/side_integral/side_integral_functor.i)
- (modules/scalar_transport/test/tests/physics/restart/test_cg.i)
- (modules/heat_transfer/test/tests/gray_lambert_radiator/coupled_heat_conduction.i)
- (test/tests/positions/file_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/materials/flow_diode/transient_operation.i)
- (modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_no_action.i)
- (modules/navier_stokes/test/tests/finite_volume/wcns/natural_convection/natural_circulation_pipe.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-velocity-rz-slip.i)
- (test/tests/auxkernels/divergence_aux/test_fe.i)
- (test/tests/meshdivisions/cylindrical_division.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/turbulence/bfs/BFS_ERCOFTAC.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated.i)
- (test/tests/meshgenerators/rename_block_generator/rename_block.i)
- (modules/reactor/test/tests/meshgenerators/subdomain_extra_element_id_generator/subdomain_elem_ids_test.i)
- (modules/stochastic_tools/examples/surrogates/pod_rb/2d_multireg/sub.i)
- (test/tests/vectorpostprocessors/element_value_sampler/mixed_fe_fv_sampler.i)
- (test/tests/transfers/multiapp_nearest_node_transfer/cached_multiple_apps/child.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/1d-rc-epsjump.i)
- (test/tests/meshgenerators/coarsen_block_generator/coarsen_hex_multi.i)
- (test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_3D.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_eddy_viscosity_aux/steady.i)
- (modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_action_external_boundary.i)
- (modules/heat_transfer/test/tests/physics/restart/test_fv.i)
- (test/tests/positions/multiapp_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-1d-parsed-function.i)
- (modules/navier_stokes/test/tests/finite_volume/cns/mms/1d-with-bcs/straight-channel-hllc.i)
- (test/tests/meshgenerators/sidesets_from_points_generator/sidesets_ambiguity.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated-comparison/segregated-linear-physics.i)
- (test/tests/functions/piecewise_constant_from_csv/piecewise_constant_elem_multiple.i)
- (modules/heat_transfer/test/tests/radiation_transfer_symmetry/cavity_with_pillars.i)
- (test/tests/meshgenerators/refine_sideset_generator/test_secondary.i)
- (modules/heat_transfer/test/tests/radiative_bcs/ad_radiative_bc_cyl.i)
- (test/tests/meshgenerators/plane_id_mesh_generator/plane_id_grid2d.i)
- (test/tests/linearfvkernels/block-restriction/block-restricted-diffusion.i)
- (test/tests/meshgenerators/sidesets_between_subdomains_generator/sideset_between_subdomains_not_prepared.i)
- (test/tests/meshdivisions/block_division.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-1d-functor-material.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/2d-rc-friction.i)
- (modules/electromagnetics/test/tests/interfacekernels/electrostatic_contact/contact_conductance_supplied.i)
- (test/tests/auxkernels/current_boundary_id/current_boundary_id.i)
- (test/tests/meshgenerators/break_mesh_by_block_generator/break_mesh_block_restricted.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/block-restriction/segregated/empty-block-segregated.i)
- (test/tests/mesh/face_info/face_info_two_region_quads.i)
- (modules/heat_transfer/test/tests/postprocessors/ad_convective_ht_side_integral.i)
- (test/tests/linearfvkernels/block-restriction/block-restricted-diffusion-react.i)
- (test/tests/positions/functor_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_as_volume_force_loop_pressure_corrected.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/1d-rc.i)
- (modules/reactor/test/tests/positions/hexagonal_grid_positions.i)
- (modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_action_external_boundary_ray_tracing.i)
- (test/tests/postprocessors/side_average_value/side_average_functor_test.i)
- (test/tests/multiapps/command_line/parent_common_vector.i)
- (test/tests/transfers/multiapp_variable_value_sample_transfer/full_domain_primary.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated-action.i)
- (modules/reactor/test/tests/meshgenerators/coarse_mesh_extra_element_id_generator/coarse_elem_restrict_subdomain.i)
- (test/tests/vectorpostprocessors/side_value_sampler/side_value_sampler.i)
- (modules/heat_transfer/test/tests/view_factors_symmetry/cavity_with_pillars.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_eddy_viscosity_aux/mixing_length_eddy_viscosity.i)
- (test/tests/meshgenerators/coarsen_block_generator/coarsen_quad_multi.i)
- (modules/navier_stokes/test/tests/postprocessors/pressure_drop/drop_insfv.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/linear-segregated/2d/2d-velocity-pressure.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_total_viscosity_material/mixing_length_total_viscosity.i)
- (modules/phase_field/test/tests/initial_conditions/BlockRestriction.i)
- (test/tests/times/time_interval_times.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-2d-action.i)
- (modules/navier_stokes/test/tests/postprocessors/flow_rates/conservation_INSFE.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/natural_convection/fuel_cavity.i)
- (test/tests/fvkernels/fv_anisotropic_diffusion/fv_anisotropic_diffusion.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-energy.i)
- (test/tests/auxkernels/array_var_reduction/array_var_reduction.i)
- (test/tests/auxkernels/advection_flux/advection_flux_fe.i)
- (test/tests/auxkernels/advection_flux/normal_advection_flux_fe.i)
- (test/tests/positions/reporter_positions.i)
- (test/tests/variables/caching_fv_variables/fv_caching.i)
- (test/tests/meshgenerators/parsed_generate_sideset/parsed_generate_sideset_neighbor_sub_id.i)
- (test/tests/quadrature/order/material_with_order.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-2d.i)
- (modules/electromagnetics/test/tests/interfacekernels/electrostatic_contact/contact_conductance_calculated.i)
- (modules/ray_tracing/test/tests/raykernels/errors/raykernel_errors.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/segregated/2d-heated.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated-comparison/segregated-nonlinear.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_total_viscosity_material/steady-action.i)
- (test/tests/meshgenerators/break_mesh_by_block_generator/break_mesh_block_pairs_restricted.i)
- (modules/heat_transfer/test/tests/postprocessors/convective_ht_side_integral.i)
- (test/tests/meshgenerators/parsed_subdomain_mesh_generator/parsed_subdomain_eeid.i)
- (test/tests/auxkernels/divergence_aux/test_fv.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-1d.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/physics/diffusion_interfaces/three_zones.i)
- (modules/heat_transfer/test/tests/physics/test_cg.i)
- (modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_2d.i)
- (modules/scalar_transport/test/tests/physics/diffusion_multi_cg.i)
- (test/tests/transfers/multiapp_nearest_node_transfer/cached_multiple_apps/main.i)
- (test/tests/meshgenerators/refine_sideset_generator/test_multi.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_total_viscosity_material/steady.i)
- (modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_3d.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_loop_negative_rotation.i)
- (test/tests/adaptivity/dont-p-refine/test.i)
- (test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_2D.i)
- (test/tests/meshgenerators/refine_block_generator/test_single.i)
- (modules/navier_stokes/test/tests/finite_volume/wcns/boundary_conditions/with-direction/errors/flux_bcs.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/natural_convection/natural_circulation_dogleg.i)
- (modules/navier_stokes/test/tests/finite_volume/fvbcs/wall_function/Re_t395.i)
- (modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/linear_friction.i)
- (modules/heat_transfer/test/tests/generate_radiation_patch/generate_radiation_patch_grid_2D.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-velocity.i)
- (modules/heat_transfer/test/tests/view_factors/view_factor_obstructed.i)
- (test/tests/times/input_times.i)
- (test/tests/meshgenerators/mesh_diagnostics_generator/detect_amr_hex.i)
- (test/tests/actioncomponents/component_with_physics.i)
- (modules/ray_tracing/test/tests/raybcs/errors/raybc_errors.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/3d/3d-segregated-scalar.i)
- (modules/heat_transfer/test/tests/radiation_transfer_symmetry/cavity_with_pillars_symmetry_bc.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/wall_distance_capped_mixing_length_aux/capped_mixing_length.i)
- (test/tests/postprocessors/side_advection_flux_integral/side_advection_flux_integral_fv.i)
- (test/tests/positions/element_centroid_positions.i)
- (test/tests/meshgenerators/break_mesh_by_block_generator/break_mesh_block_pairs_restricted_3blocks.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/3d/3d-segregated-velocity.i)
- (test/tests/times/functor_times.i)
- (test/tests/fvbcs/fv_neumannbc/fv_neumannbc.i)
- (modules/solid_mechanics/test/tests/ad_viscoplasticity_stress_update/exact.i)
- (modules/geochemistry/test/tests/nodal_void_volume/nodal_void_volume_adaptive.i)
- (test/tests/meshgenerators/block_deletion_generator/block_deletion_test14.i)
- (modules/navier_stokes/test/tests/finite_volume/cns/shock_tube_2D_cavity/hllc_sod_shocktube_2D.i)
- (test/tests/fvbcs/fv_functor_dirichlet/fv_other_side.i)
- (test/tests/meshgenerators/advanced_extruder_generator/advanced_extruder_then_parsed_gen_sideset.i)
- (test/tests/positions/input_positions.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/linear-segregated/3d/3d-velocity-pressure.i)
- (modules/heat_transfer/test/tests/view_factors_symmetry/cavity_with_pillars_symmetry_bc.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_as_volume_force_loop_force_corrected.i)
- (test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_1D.i)
- (modules/navier_stokes/test/tests/finite_volume/fviks/convection/convection_channel.i)
- (test/tests/meshgenerators/mesh_diagnostics_generator/detect_amr_quad.i)
- (modules/heat_transfer/test/tests/radiative_bcs/radiative_bc_cyl.i)
- (test/tests/postprocessors/side_advection_flux_integral/side_advection_flux_integral.i)
- (test/tests/meshgenerators/cyclic/cyclic.i)
- (modules/reactor/test/tests/meshdivisions/hexagonal_division.i)
- (test/tests/times/exodus_times.i)
- (test/tests/outputs/debug/show_execution_userobjects.i)
(test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_3D.i)
[Mesh]
[./cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1
2 2 2
3 4 4
5 5 5
0 1 1
2 2 2
3 4 4
5 5 5
'
[../]
[]
(test/tests/linearfvkernels/block-restriction/block-restricted-adr.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.1 1 0.1'
dy = '0.1 0.5 0.1'
ix = '1 2 1'
iy = '1 1 1'
subdomain_id = '1 1 1 1 2 3 1 1 1'
[]
[transform]
type = TransformGenerator
input = cmg
transform = TRANSLATE
vector_value = '-0.1 -0.1 0.0'
[]
[create_sides]
type = SideSetsBetweenSubdomainsGenerator
input = transform
new_boundary = sides
primary_block = 2
paired_block = 1
[]
[create_outlet]
type = SideSetsBetweenSubdomainsGenerator
input = create_sides
new_boundary = outlet
primary_block = 2
paired_block = 3
[]
[]
[Problem]
linear_sys_names = 'u_sys'
[]
[Variables]
[u]
type = MooseLinearVariableFVReal
solver_sys = 'u_sys'
initial_condition = 1.0
block = 2
[]
[]
[LinearFVKernels]
[diffusion]
type = LinearFVDiffusion
variable = u
diffusion_coeff = diff_coeff_func
use_nonorthogonal_correction = false
[]
[advection]
type = LinearFVAdvection
variable = u
velocity = "0.5 0 0"
advected_interp_method = average
[]
[reaction]
type = LinearFVReaction
variable = u
coeff = coeff_func
[]
[source]
type = LinearFVSource
variable = u
source_density = source_func
[]
[]
[LinearFVBCs]
inactive = "outflow"
[dir]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
variable = u
boundary = "sides outlet"
functor = analytic_solution
[]
[outflow]
type = LinearFVAdvectionDiffusionOutflowBC
variable = u
boundary = "right"
use_two_term_expansion = true
[]
[]
[Functions]
[diff_coeff_func]
type = ParsedFunction
expression = '1.0+0.5*x*y'
[]
[coeff_func]
type = ParsedFunction
expression = '1.0+1.0/(1+x*y)'
[]
[source_func]
type = ParsedFunction
expression = '-1.0*x*pi*sin((1/2)*x*pi)*cos(2*y*pi) - 0.25*y*pi*sin(2*y*pi)*cos((1/2)*x*pi) + (1.0 + 1.0/(x*y + 1))*(sin((1/2)*x*pi)*sin(2*y*pi) + 1.5) + (17/4)*pi^2*(0.5*x*y + 1.0)*sin((1/2)*x*pi)*sin(2*y*pi) + 0.25*pi*sin(2*y*pi)*cos((1/2)*x*pi)'
[]
[analytic_solution]
type = ParsedFunction
expression = 'sin((1/2)*x*pi)*sin(2*y*pi) + 1.5'
[]
[]
[Postprocessors]
[h]
type = AverageElementSize
execute_on = FINAL
block = 2
[]
[error]
type = ElementL2FunctorError
approximate = u
exact = analytic_solution
execute_on = FINAL
block = 2
[]
[]
[Executioner]
type = LinearPicardSteady
linear_systems_to_solve = u_sys
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
[csv]
type = CSV
execute_on = FINAL
[]
[]
(modules/navier_stokes/test/tests/postprocessors/flow_rates/conservation_PINSFV.i)
mu=1
rho=1
advected_interp_method='average'
velocity_interp_method='rc'
[Mesh]
inactive = 'mesh internal_boundary_bot internal_boundary_top'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1'
dy = '1 1 1'
ix = '5'
iy = '5 5 5'
subdomain_id = '1
2
3'
[]
[internal_boundary_bot]
type = SideSetsBetweenSubdomainsGenerator
input = mesh
new_boundary = 'internal_bot'
primary_block = 1
paired_block = 2
[]
[internal_boundary_top]
type = SideSetsBetweenSubdomainsGenerator
input = internal_boundary_bot
new_boundary = 'internal_top'
primary_block = 2
paired_block = 3
[]
[diverging_mesh]
type = FileMeshGenerator
file = 'expansion_quad.e'
[]
[]
[Problem]
fv_bcs_integrity_check = true
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
v = v
pressure = pressure
porosity = porosity
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 0
[]
[v]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[temperature]
type = INSFVEnergyVariable
[]
[]
[AuxVariables]
[advected_density]
order = CONSTANT
family = MONOMIAL
fv = true
initial_condition = ${rho}
[]
[porosity]
order = CONSTANT
family = MONOMIAL
fv = true
initial_condition = 0.5
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = u
force_boundary_execution = true
porosity = porosity
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
porosity = porosity
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = v
rho = ${rho}
porosity = porosity
momentum_component = 'y'
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = v
force_boundary_execution = true
porosity = porosity
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
porosity = porosity
[]
[temp_advection]
type = PINSFVEnergyAdvection
variable = temperature
advected_interp_method = 'upwind'
[]
[temp_source]
type = FVBodyForce
variable = temperature
function = 10
block = 1
[]
[]
[FVBCs]
inactive = 'noslip-u noslip-v'
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'bottom'
variable = u
function = 0
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'bottom'
variable = v
function = 1
[]
[noslip-u]
type = INSFVNoSlipWallBC
boundary = 'right'
variable = u
function = 0
[]
[noslip-v]
type = INSFVNoSlipWallBC
boundary = 'right'
variable = v
function = 0
[]
[free-slip-u]
type = INSFVNaturalFreeSlipBC
boundary = 'right'
variable = u
momentum_component = 'x'
[]
[free-slip-v]
type = INSFVNaturalFreeSlipBC
boundary = 'right'
variable = v
momentum_component = 'y'
[]
[axis-u]
type = PINSFVSymmetryVelocityBC
boundary = 'left'
variable = u
u = u
v = v
mu = ${mu}
momentum_component = x
[]
[axis-v]
type = PINSFVSymmetryVelocityBC
boundary = 'left'
variable = v
u = u
v = v
mu = ${mu}
momentum_component = y
[]
[axis-p]
type = INSFVSymmetryPressureBC
boundary = 'left'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'top'
variable = pressure
function = 0
[]
[inlet_temp]
type = FVNeumannBC
boundary = 'bottom'
variable = temperature
value = 300
[]
[]
[FunctorMaterials]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'temperature'
rho = ${rho}
[]
[advected_material_property]
type = ADGenericFunctorMaterial
prop_names = 'advected_rho cp'
prop_values ='${rho} 1'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm 200 lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-12
[]
[Postprocessors]
[inlet_mass_variable]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = advected_density
[]
[inlet_mass_constant]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[inlet_mass_matprop]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = 'advected_rho'
[]
[mid1_mass]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[mid2_mass]
type = VolumetricFlowRate
boundary = internal_top
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[outlet_mass]
type = VolumetricFlowRate
boundary = top
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[inlet_momentum_x]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = u
[]
[inlet_momentum_y]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = v
[]
[mid1_advected_energy]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = u
vel_y = v
advected_quantity = 'rho_cp_temp'
advected_interp_method = 'upwind'
[]
[mid2_advected_energy]
type = VolumetricFlowRate
boundary = internal_top
vel_x = u
vel_y = v
advected_quantity = 'rho_cp_temp'
advected_interp_method = 'upwind'
[]
[outlet_advected_energy]
type = VolumetricFlowRate
boundary = top
vel_x = u
vel_y = v
advected_quantity = 'rho_cp_temp'
advected_interp_method = 'upwind'
[]
[]
[Outputs]
csv = true
[]
(test/tests/mesh/preparedness/test.i)
[GlobalParams]
prevent_boundary_ids_overlap = false
[]
[Mesh]
[region_2_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.065 0.13 0.305 0.17 0.196'
ix = ' 2 2 2 2 2'
dy = '0.85438 '
iy = '6'
subdomain_id = '68 68 68 68 68'
[]
[region_2_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.2 1.551 0'
input = region_2_gen
[]
[region_3_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.24 0.24 0.24 0.24 0.24'
ix = ' 2 2 2 2 2'
dy = '0.744166666666666 0.744166666666667 0.744166666666667'
iy = ' 2 2 2'
subdomain_id = '56 57 58 59 60
51 52 53 54 55
46 47 48 49 50'
[]
[region_3_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '0 2.40538 0'
input = region_3_gen
[]
[region_1_gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 6
xmin = 0
xmax = 0.26
ymin = 1.551
ymax = 1.851
subdomain_ids = '62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62'
[]
[region_1_extend_1]
type = FillBetweenSidesetsGenerator
input_mesh_1 = 'region_3_move'
input_mesh_2 = 'region_1_gen'
boundary_1 = '0'
boundary_2 = '2'
num_layers = 6
block_id= 61
use_quad_elements = true
keep_inputs = true
begin_side_boundary_id = '3'
end_side_boundary_id = '1'
[]
[region_1_extend_2]
type = FillBetweenSidesetsGenerator
input_mesh_1 = 'region_2_move'
input_mesh_2 = 'region_1_gen'
boundary_1 = 3
boundary_2 = 1
num_layers = 6
block_id= 69
use_quad_elements = true
keep_inputs = false
begin_side_boundary_id = '0'
end_side_boundary_id = '3'
input_boundary_1_id = '1'
input_boundary_2_id = '3'
[]
[region_2_2_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.065 0.13 0.305 0.17 0.196'
ix = ' 2 2 2 2 2'
dy = '0.85438 '
iy = '6'
subdomain_id = '68 68 68 68 68'
[]
[region_2_2_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.2 1.551 0'
input = region_2_2_gen
[]
[region_6_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.26 0.94 0.065 0.13 0.305 0.17 0.196'
ix = '10 6 2 2 2 2 2'
dy = '0.584 0.967'
iy = ' 4 6'
subdomain_id = '62 72 72 72 72 72 72
62 70 71 71 71 71 71'
[]
[stitch_1_2_6]
type = StitchedMeshGenerator
inputs = 'region_1_extend_1 region_1_extend_2 region_2_2_move region_6_gen'
stitch_boundaries_pairs = '1 3;
1 3;
0 2'
merge_boundaries_with_same_name = false
[]
[rename_boundary_stitch_1_2_6]
type = RenameBoundaryGenerator
input = stitch_1_2_6
old_boundary = '1'
new_boundary = '2'
[]
[region_4_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.065 0.13'
ix = ' 2 2 '
dy = '0.744166666666666 0.744166666666667 0.744166666666667'
iy = ' 2 2 2'
subdomain_id = '78 92
78 91
78 90'
[]
[region_4_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.2 2.40538 0'
input = region_4_gen
[]
[region_5_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.17 0.196'
ix = '2 2'
dy = '0.39 1.8425'
iy = '2 4'
subdomain_id = '100 104
100 104'
[]
[region_5_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.7 2.40538 0'
input = region_5_gen
[]
[region_5_extend]
type = FillBetweenSidesetsGenerator
input_mesh_1 = 'region_4_move'
input_mesh_2 = 'region_5_move'
boundary_1 = 1
boundary_2 = 3
num_layers = 2
block_id= 96
use_quad_elements = true
keep_inputs = true
begin_side_boundary_id = '0'
end_side_boundary_id = '2'
[]
[rename_boundary_region_5]
type = RenameBoundaryGenerator
input = region_5_extend
old_boundary = '0'
new_boundary = '3'
[]
[stitch_1_2_6_5]
type = StitchedMeshGenerator
inputs = 'rename_boundary_stitch_1_2_6 rename_boundary_region_5'
stitch_boundaries_pairs = '2 3;'
merge_boundaries_with_same_name = false
[]
[region_7_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.24 0.24 0.24 0.24 0.24 0.065 0.13 0.305 0.17 0.196'
ix = ' 2 2 2 2 2 2 2 2 2 2'
dy = '0.744166666666667 0.744166666666667 0.744166666666667 0.744166666666667
0.744166666666667 0.744166666666667 0.744166666666666 0.744166666666666
0.744166666666666 0.458 0.86002'
iy = '2 2 2 2 2 2 2 2 2 2 4'
subdomain_id = '41 42 43 44 45 77 89 95 99 103
36 37 38 39 40 77 88 95 99 103
31 32 33 34 35 77 87 95 99 103
26 27 28 29 30 76 86 94 98 102
21 22 23 24 25 76 85 94 98 102
16 17 18 19 20 76 84 94 98 102
11 12 13 14 15 75 83 93 97 101
6 7 8 9 10 75 82 93 97 101
1 2 3 4 5 75 81 93 97 101
67 67 67 67 67 74 80 65 65 66
63 63 63 63 63 73 79 64 64 64'
[]
[region_7_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '0.0 4.63788 0'
input = region_7_gen
[]
[stitch]
type = StitchedMeshGenerator
inputs = 'stitch_1_2_6_5 region_7_move'
stitch_boundaries_pairs = '2 0'
merge_boundaries_with_same_name = false
[]
[rename_boundary_1]
type = BoundaryDeletionGenerator
input = stitch
boundary_names = '0 1 2 3'
[]
[rename_boundary_2]
type = SideSetsFromPointsGenerator
input = rename_boundary_1
new_boundary = '2 4 1 3'
points = '1.2 0. 0.
2.066 1.551 0.
1.2 12.6534 0.
0. 1.551 0.'
[]
[rename_boundary_3]
type = RenameBoundaryGenerator
input = rename_boundary_2
new_boundary = 'rbottom ssright rtop ssleft'
old_boundary = '2 4 1 3'
[]
[rename_blocks]
type = RenameBlockGenerator
input = rename_boundary_3
old_block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
101 102 103 104'
new_block = 'pbedfuel001 pbedfuel002 pbedfuel003 pbedfuel004 pbedfuel005
pbedfuel006 pbedfuel007 pbedfuel008 pbedfuel009 pbedfuel010
pbedfuel011 pbedfuel012 pbedfuel013 pbedfuel014 pbedfuel015
pbedfuel016 pbedfuel017 pbedfuel018 pbedfuel019 pbedfuel020
pbedfuel021 pbedfuel022 pbedfuel023 pbedfuel024 pbedfuel025
pbedfuel026 pbedfuel027 pbedfuel028 pbedfuel029 pbedfuel030
pbedfuel031 pbedfuel032 pbedfuel033 pbedfuel034 pbedfuel035
pbedfuel036 pbedfuel037 pbedfuel038 pbedfuel039 pbedfuel040
pbedfuel041 pbedfuel042 pbedfuel043 pbedfuel044 pbedfuel045
pbedfuel046 pbedfuel047 pbedfuel048 pbedfuel049 pbedfuel050
pbedfuel051 pbedfuel052 pbedfuel053 pbedfuel054 pbedfuel055
pbedfuel056 pbedfuel057 pbedfuel058 pbedfuel059 pbedfuel060
consfuel061 dischfuel062 upref063 upref064 upref065 upref066
upcvt067 lwref068 outch069 lwrpln070 htleg071 lwref072 buffr073
buffr074 buffr075 buffr076 buffr077 buffr078 crds079 crds080
crds081 crds082 crds083 crds084 crds085 crds086 crds087 crds088
crds089 crds090 crds091 crds092 radrf093 radrf094 radrf095 radrf096
risr097 risr098 risr099 risr100 radrf101 radrf102 radrf103 radrf104'
[]
[]
[Variables]
[T_solid]
type = MooseVariableFVReal
initial_condition = 100
[]
[]
[FVKernels]
[energy_storage]
type = FVTimeKernel
variable = T_solid
[]
[solid_energy_diffusion_core]
type = FVAnisotropicDiffusion
variable = T_solid
coeff = 'effective_thermal_conductivity'
[]
[]
[FVBCs]
[side_set_bc1]
type = FVDirichletBC
variable = T_solid
value = '300'
boundary = 'rtop'
[]
[side_set_bc2]
type = FVDirichletBC
variable = T_solid
value = '600'
boundary = 'rbottom'
[]
[]
[Materials]
[all_channels_porosity]
type = ADGenericFunctorMaterial
prop_names = 'porosity'
prop_values = 0.5
[]
[solid_blocks_full_density_graphite]
type = ADGenericFunctorMaterial
prop_names = 'rho_s cp_s k_s '
prop_values = '1.0 2.0 3.0'
[]
[effective_solid_thermal_conductivity_solid_only]
type = ADGenericVectorFunctorMaterial
prop_names = 'effective_thermal_conductivity'
prop_values = 'k_s k_s k_s'
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_factor_shift_type'
petsc_options_value = 'lu 100 NONZERO'
# Tolerances.
nl_abs_tol = 1e-8
nl_rel_tol = 1e-9
line_search = none
nl_max_its = 15
[TimeStepper]
type = IterationAdaptiveDT
dt = 0.05
cutback_factor = 0.5
growth_factor = 2.00
optimal_iterations = 6
[]
# Steady state detection.
steady_state_detection = true
steady_state_tolerance = 1e-13
abort_on_solve_fail = true
num_steps = 1
[]
[Outputs]
exodus = true
print_linear_residuals = false
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated-physics.i)
mu = 1
rho = 1
k = 1e-3
cp = 1
u_inlet = 1
T_inlet = 200
h_cv = 1.0
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '5 5'
dy = '1.0'
ix = '50 50'
iy = '20'
subdomain_id = '1 2'
[]
[]
[Variables]
[T_solid]
type = MooseVariableFVReal
[]
[]
[AuxVariables]
[porosity]
type = MooseVariableFVReal
initial_condition = 0.5
[]
[]
[Physics]
[NavierStokes]
[Flow]
[flow]
compressibility = 'incompressible'
porous_medium_treatment = true
density = ${rho}
dynamic_viscosity = ${mu}
porosity = 'porosity'
initial_velocity = '${u_inlet} 1e-6 0'
initial_pressure = 0.0
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '${u_inlet} 0'
wall_boundaries = 'top bottom'
momentum_wall_types = 'noslip symmetry'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0.1'
mass_advection_interpolation = 'average'
momentum_advection_interpolation = 'average'
[]
[]
[FluidHeatTransfer]
[heat]
thermal_conductivity = ${k}
specific_heat = ${cp}
# Reference file sets effective_conductivity by default that way
# so the conductivity is multiplied by the porosity in the kernel
effective_conductivity = false
initial_temperature = 0.0
energy_inlet_types = 'heatflux'
energy_inlet_function = '${fparse u_inlet * rho * cp * T_inlet}'
energy_wall_types = 'heatflux heatflux'
energy_wall_function = '0 0'
ambient_convection_alpha = ${h_cv}
ambient_temperature = 'T_solid'
energy_advection_interpolation = 'average'
[]
[]
[]
[]
[FVKernels]
[solid_energy_diffusion]
type = FVDiffusion
coeff = ${k}
variable = T_solid
[]
[solid_energy_convection]
type = PINSFVEnergyAmbientConvection
variable = 'T_solid'
is_solid = true
T_fluid = 'T_fluid'
T_solid = 'T_solid'
h_solid_fluid = ${h_cv}
[]
[]
[FVBCs]
[heated-side]
type = FVDirichletBC
boundary = 'top'
variable = 'T_solid'
value = 150
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-14
[]
# Some basic Postprocessors to examine the solution
[Postprocessors]
[inlet-p]
type = SideAverageValue
variable = pressure
boundary = 'left'
[]
[outlet-u]
type = SideAverageValue
variable = superficial_vel_x
boundary = 'right'
[]
[outlet-temp]
type = SideAverageValue
variable = T_fluid
boundary = 'right'
[]
[solid-temp]
type = ElementAverageValue
variable = T_solid
[]
[]
[Outputs]
exodus = true
csv = false
[]
(modules/navier_stokes/test/tests/finite_volume/ins/block_restriction/2d-rc.i)
mu = 1.1
rho = 1.1
advected_interp_method = 'average'
velocity_interp_method = 'rc'
restricted_blocks = '1'
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
block = ${restricted_blocks}
pressure = pressure
[]
[]
[Mesh]
parallel_type = 'replicated'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1'
ix = '7 7'
iy = 10
subdomain_id = '1 2'
[]
[mid]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 2
input = mesh
new_boundary = 'middle'
[]
[break_top]
type = PatchSidesetGenerator
boundary = 'top'
n_patches = 2
input = mid
[]
[break_bottom]
type = PatchSidesetGenerator
boundary = 'bottom'
n_patches = 2
input = break_top
[]
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 1
block = ${restricted_blocks}
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1
block = ${restricted_blocks}
[]
[pressure]
type = INSFVPressureVariable
block = ${restricted_blocks}
[]
[temperature]
type = INSFVEnergyVariable
block = ${restricted_blocks}
[]
[scalar]
type = INSFVScalarFieldVariable
block = ${restricted_blocks}
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[energy_advection]
type = INSFVEnergyAdvection
variable = temperature
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[energy_diffusion]
type = FVDiffusion
coeff = 1.1
variable = temperature
[]
[energy_loss]
type = FVBodyForce
variable = temperature
value = -0.1
[]
[scalar_advection]
type = INSFVScalarFieldAdvection
variable = scalar
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[scalar_diffusion]
type = FVDiffusion
coeff = 1
variable = scalar
[]
[scalar_src]
type = FVBodyForce
variable = scalar
value = 0.1
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = 0
[]
[top-wall-u]
type = INSFVNoSlipWallBC
boundary = 'top_0'
variable = u
function = 0
[]
[top-wall-v]
type = INSFVNoSlipWallBC
boundary = 'top_0'
variable = v
function = 0
[]
[bottom-wall-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom_0'
variable = u
mu = ${mu}
u = u
v = v
momentum_component = 'x'
[]
[bottom-wall-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom_0'
variable = v
mu = ${mu}
u = u
v = v
momentum_component = 'y'
[]
[bottom-wall-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom_0'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'middle'
variable = pressure
function = 0
[]
[inlet_t]
type = FVDirichletBC
boundary = 'left'
variable = temperature
value = 1
[]
[outlet_scalar]
type = FVDirichletBC
boundary = 'middle'
variable = scalar
value = 1
[]
[]
[FunctorMaterials]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'temperature'
rho = ${rho}
block = ${restricted_blocks}
[]
[const]
type = ADGenericFunctorMaterial
prop_names = 'cp'
prop_values = '2'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(modules/chemical_reactions/test/tests/thermochimica/MoRu_subblock.i)
[Mesh]
[two_blocks]
type = CartesianMeshGenerator
dim = 2
dx = '0.5 1.0'
dy = '1.0'
ix = '5 5'
iy = '5'
subdomain_id = '0 1'
[]
[]
[ChemicalComposition]
tunit = K
punit = atm
munit = moles
is_fv = true
temperature = T
[block_0]
block = '0'
elements = 'Mo Ru'
thermofile = Kaye_NobleMetals.dat
output_phases = 'BCCN HCPN'
output_species = 'BCCN:Mo'
is_fv = false
output_species_unit = mole_fraction
[]
[block_1]
block = '1'
elements = 'Fe O'
thermofile = FeTiVO.dat
output_phases = 'gas_ideal'
output_species = 'SlagBsoln:Fe2O3'
output_species_unit = moles
[]
[]
[ICs]
[Mo]
type = FunctionIC
variable = Mo
function = '0.8*(1-x)+4.3*x'
block = '0'
[]
[Ru]
type = FunctionIC
variable = Ru
function = '0.2*(1-x)+4.5*x'
block = '0'
[]
[O]
type = FunctionIC
variable = O
function = '2.0*(1-x)+1.6*x'
block = '1'
[]
[Fe]
type = FunctionIC
variable = Fe
function = '0.5*(1-x)+0.25*x'
block = '1'
[]
[]
[AuxVariables]
[T]
type = MooseVariable
[]
[]
[AuxKernels]
[T]
type = ParsedAux
variable = T
use_xyzt = true
expression = '1250.0+1000.0*(x/1.5)'
execute_on = 'INITIAL'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/actioncomponents/mesh_generator_component.i)
[Mesh]
[cylinder_1]
type = CartesianMeshGenerator
dim = 2
ix = 1
iy = 1
dx = 2
dy = 10
[]
[move_down]
type = TransformGenerator
input = 'cylinder_1'
transform = 'TRANSLATE'
vector_value = '0 -11 0'
[]
[cmg]
type = GeneratedMeshGenerator
dim = 2
nx = 1
ny = 1
xmax = 1
ymax = 4
subdomain_name = cyl_2
save_with_name = 'saved_mesh_0'
# We can't have names overlapping (likely by accident) between meshes from [Mesh]
# and from the [Components] block
boundary_name_prefix = 'cyl'
[]
final_generator = 'move_down'
[]
[ActionComponents]
# Note that we choose the parameters of the mesh generator to match the
# 'two_same_components.i' output
[cylinder_2]
type = MeshGeneratorComponent
mesh_generator = 'cmg'
mesh_generator_type = 'saved_mesh'
saved_mesh_name = 'saved_mesh_0'
[]
[]
[Problem]
skip_nl_system_check = true
[]
[Executioner]
type = Steady
[]
[AuxVariables]
[dummy]
[]
[]
[Outputs]
exodus = true
[]
(test/tests/meshdivisions/functor_values_division.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
[]
# To keep VPP output consistently ordered
allow_renumbering = false
[]
[MeshDivisions]
[functor_div]
type = FunctorBinnedValuesDivision
min_value = 0.1
max_value = 2
num_bins = 3
functor = 'xf'
[]
[]
[Functions]
[xf]
type = ParsedFunction
expression = 'x'
[]
[]
[AuxVariables]
[div]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[mesh_div]
type = MeshDivisionAux
variable = div
mesh_division = 'functor_div'
[]
[]
[VectorPostprocessors]
[div_out]
type = ElementValueSampler
variable = 'div'
sort_by = 'id'
[]
[]
[Postprocessors]
[ndiv]
type = NumMeshDivisions
mesh_division = functor_div
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/thermal_hydraulics/test/tests/userobjects/layered_flow_area_change/layered_flow_area_2D.i)
[Mesh]
[generated]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1'
dy = '4'
ix = '1 1 1'
iy = '40'
subdomain_id = '1 2 1'
[]
[interior_walls]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 2
new_boundary = interior
input = generated
[]
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[disp_x]
[]
[disp_y]
[]
[channel_dA]
[]
[]
[ICs]
[disp_x_ic]
type = FunctionIC
variable = disp_x
function = 'if (x < 1.5, 0.5 * (y - 2) * 0.1, 0)'
[]
[]
[AuxKernels]
[channel_dA_aux]
type = SpatialUserObjectAux
variable = channel_dA
user_object = layered_area_change
[]
[]
[UserObjects]
[layered_area_change]
type = LayeredFlowAreaChange
direction = y
displacements = 'disp_x disp_y'
boundary = interior
num_layers = 40
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/times/simulation_times.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Times]
[input]
type = InputTimes
times = '0.2 0.4 0.9'
[]
[check_times]
type = SimulationTimes
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
# Test recover
num_steps = 2
[TimeStepper]
type = TimeSequenceFromTimes
times = input
[]
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/2d-rc-friction-action.i)
mu = 1.1
rho = 1
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '2.5 2.5'
dy = '1.0'
ix = '20 20'
iy = '20'
subdomain_id = '1 2'
[]
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
porous_medium_treatment = true
density = 'rho'
dynamic_viscosity = 'mu'
porosity = 'porosity'
initial_velocity = '1 1e-6 0'
initial_pressure = 0.0
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '1 0'
wall_boundaries = 'top bottom'
momentum_wall_types = 'noslip symmetry'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0'
friction_types = 'darcy forchheimer'
friction_coeffs = 'Darcy_coefficient Forchheimer_coefficient'
standard_friction_formulation = true
mass_advection_interpolation = 'average'
momentum_advection_interpolation = 'average'
[]
[]
[FunctorMaterials]
[const]
type = ADGenericFunctorMaterial
prop_names = 'rho mu'
prop_values = '${rho} ${mu}'
[]
[friction]
type = ADGenericVectorFunctorMaterial
prop_names = 'Darcy_coefficient Forchheimer_coefficient'
prop_values = '0.1 0.1 0.1 0.1 0.1 0.1'
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
initial_condition = 0.5
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-11
nl_abs_tol = 1e-14
[]
# Some basic Postprocessors to visually examine the solution
[Postprocessors]
[inlet-p]
type = SideIntegralVariablePostprocessor
variable = pressure
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = superficial_vel_x
boundary = 'right'
[]
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/multiple_radiation_cavities/multiple_radiation_cavities.i)
[Problem]
kernel_coverage_check = false
material_coverage_check = false
[]
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '0.5 4 1 4 0.5'
ix = '2 2 2 2 2'
dy = '0.3 10 1'
iy = '2 2 2'
subdomain_id = '1 2 3 4 5
6 7 8 9 10
11 12 13 14 15'
[]
[add_side_left_left]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 6
paired_block = 7
new_boundary = left_left
input = cartesian
[]
[add_side_left_bottom]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 7
new_boundary = left_bottom
input = add_side_left_left
[]
[add_side_left_right]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 8
paired_block = 7
new_boundary = left_right
input = add_side_left_bottom
[]
[add_side_left_top]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 12
paired_block = 7
new_boundary = left_top
input = add_side_left_right
[]
[add_side_right_left]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 8
paired_block = 9
new_boundary = right_left
input = add_side_left_top
[]
[add_side_right_bottom]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 4
paired_block = 9
new_boundary = right_bottom
input = add_side_right_left
[]
[add_side_right_right]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 10
paired_block = 9
new_boundary = right_right
input = add_side_right_bottom
[]
[add_side_right_top]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 14
paired_block = 9
new_boundary = right_top
input = add_side_right_right
[]
[]
[GrayDiffuseRadiation]
[left]
boundary = 'left_left left_right left_bottom left_top'
emissivity = '0.8 0.8 0.9 0.5'
n_patches = '2 2 2 2'
temperature = temperature
ray_tracing_face_order = SECOND
[]
[right]
boundary = 'right_left right_right right_bottom right_top'
emissivity = '0.8 0.8 0.9 0.5'
n_patches = '2 2 2 2'
temperature = temperature
ray_tracing_face_order = SECOND
[]
[]
[Variables]
[temperature]
block = '1 2 3 4 5 6 8 10 11 12 13 14 15'
initial_condition = 300
[]
[]
[Kernels]
[conduction]
type = HeatConduction
variable = temperature
diffusion_coefficient = 10
block = '1 2 3 4 5 6 8 10 11 12 13 14 15'
[]
[]
[BCs]
[bottom]
type = DirichletBC
variable = temperature
value = 300
boundary = bottom
[]
[top]
type = DirichletBC
variable = temperature
value = 400
boundary = top
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/mesh/boundary_subdomain_list/2D_9reg.i)
# Create a mesh that looks like:
# -------------
# | 7 | 6 | 5 |
# -------------
# | 8 | 0 | 4 |
# ------------
# | 1 | 2 | 3 |
# -------------
# Where there is an internal interface around block 0
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1'
dy = '1 1 1'
subdomain_id = '7 6 5
8 0 4
1 2 3'
[]
[interface]
type = SideSetsAroundSubdomainGenerator
input = mesh
block = 0
new_boundary = 'interface'
[]
uniform_refine = 5
[]
# Here we output all the connections as vectorpostprocessors
[VectorPostprocessors]
[interface]
type = SubdomainBoundaryConnectivity
boundary = interface
interface_boundary = true
[]
[interface_parent]
type = SubdomainBoundaryConnectivity
boundary = interface
[]
[block_0]
type = SubdomainBoundaryConnectivity
block = 0
[]
[block_1]
type = SubdomainBoundaryConnectivity
block = 1
interface_boundary = true
[]
[block_2]
type = SubdomainBoundaryConnectivity
block = 2
interface_boundary = true
[]
[block_2_parent]
type = SubdomainBoundaryConnectivity
block = 2
[]
[]
[Variables]
[u]
[]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Outputs]
exodus = false
csv = true
[]
(test/tests/functions/piecewise_constant_from_csv/piecewise_constant.i)
[Mesh]
allow_renumbering = false
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
ix = '2 1 1'
iy = '1 3'
subdomain_id = '0 1 1
2 2 2'
[]
[]
[Variables]
[u]
[]
[]
[UserObjects]
[reader_element]
type = PropertyReadFile
prop_file_name = 'data_element.csv'
read_type = 'element'
nprop = 3 # number of columns in CSV
[]
[reader_node]
type = PropertyReadFile
prop_file_name = 'data_node.csv'
read_type = 'node'
nprop = 3 # number of columns in CSV
[]
[reader_nearest]
type = PropertyReadFile
prop_file_name = 'data_nearest.csv'
read_type = 'voronoi'
nprop = 4 # number of columns in CSV
nvoronoi = 3 # number of rows that are considered
[]
[reader_block]
type = PropertyReadFile
prop_file_name = 'data_nearest.csv'
read_type = 'block'
nprop = 4 # number of columns in CSV
nblock = 3 # number of rows that are considered
[]
[]
[Functions]
[element]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_element'
read_type = 'element'
# 0-based indexing
column_number = '2'
[]
[node]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_node'
read_type = 'node'
# 0-based indexing
column_number = '2'
[]
[nearest]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_nearest'
read_type = 'voronoi'
# 0-based indexing
column_number = '3'
[]
[block]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_block'
read_type = 'block'
# 0-based indexing
column_number = '3'
[]
[]
[ICs]
active = 'element'
[element]
type = FunctionIC
variable = 'u'
function = 'element'
[]
[node]
type = FunctionIC
variable = 'u'
function = 'node'
[]
[nearest]
type = FunctionIC
variable = 'u'
function = 'nearest'
[]
[block]
type = FunctionIC
variable = 'u'
function = 'block'
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[unity]
type = DirichletBC
variable = u
boundary = 'left bottom'
value = 1
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
end_time = 0.1
[]
[Outputs]
exodus = true
[]
(test/tests/userobjects/property_read_file/piecewise_constant_elem_multiple.i)
[Mesh]
allow_renumbering = false
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
ix = '2 1 1'
iy = '1 3'
subdomain_id = '0 1 1
2 2 2'
[]
[]
[AuxVariables]
[u]
family = MONOMIAL
order = CONSTANT
[]
[]
[UserObjects]
[reader_element]
type = PropertyReadFile
prop_file_names_csv = 'data_files.csv'
read_type = 'element'
nprop = 3 # number of columns in CSV
execute_on = TIMESTEP_END
[]
[]
[Functions]
[element]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_element'
read_type = 'element'
column_number = '2'
[]
[]
[ICs]
[element]
type = FunctionIC
variable = 'u'
function = 'element'
[]
[]
[AuxKernels]
[set_elem]
type = FunctionAux
variable = 'u'
function = 'element'
[]
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Executioner]
type = Transient
num_steps = 2
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/refine_block_generator/test_multi.i)
[Mesh]
[eg]
type = CartesianMeshGenerator
dim = 3
dx = '2 1 1'
dy = '2 3'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1 1
1 2 0 1
0 1 1 1
2 2 2 2
2 3 1 2
1 1 1 1'
[]
[refine]
type = RefineBlockGenerator
input = eg
block = '0 1 2 3'
refinement = '3 2 1 0'
enable_neighbor_refinement = false
[]
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/materials/flow_diode/friction.i)
mu = 0.1
rho = 10
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 0.5 1'
dy = '0.5 0.5'
ix = '3 2 3'
iy = '3 3'
subdomain_id = '1 1 2
2 1 1'
[]
[top_outlet]
type = ParsedGenerateSideset
input = cmg
combinatorial_geometry = 'x>2.499 & y>0.4999'
new_sideset_name = top_right
[]
[bottom_outlet]
type = ParsedGenerateSideset
input = top_outlet
combinatorial_geometry = 'x>2.499 & y<0.50001'
new_sideset_name = bottom_right
[]
[]
[GlobalParams]
rhie_chow_user_object = 'pins_rhie_chow_interpolator'
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
porous_medium_treatment = true
density = ${rho}
dynamic_viscosity = ${mu}
initial_velocity = '1e-6 1e-6 0'
initial_pressure = 0.0
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '1 0'
wall_boundaries = 'top bottom'
momentum_wall_types = 'noslip noslip'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '1'
use_friction_correction = true
consistent_scaling = 10
friction_blocks = '1; 2'
friction_types = 'darcy forchheimer; darcy forchheimer'
# Base friction
# friction_coeffs = 'Darcy Forchheimer; Darcy Forchheimer'
# Combined with diode
friction_coeffs = 'combined_linear combined_quadratic; combined_linear combined_quadratic'
standard_friction_formulation = true
mass_advection_interpolation = 'average'
momentum_advection_interpolation = 'average'
[]
[]
[FunctorMaterials]
[porosity]
type = ADGenericFunctorMaterial
prop_names = 'porosity'
prop_values = '0.5'
[]
[base_friction]
type = ADGenericVectorFunctorMaterial
prop_names = 'Darcy Forchheimer'
prop_values = '220 240 260 0 0 0'
[]
[diode]
type = NSFVFrictionFlowDiodeFunctorMaterial
direction = '1 0 0'
additional_linear_resistance = '4000 0 0'
additional_quadratic_resistance = '0 0 0'
base_linear_friction_coefs = 'Darcy'
base_quadratic_friction_coefs = 'Forchheimer'
sum_linear_friction_name = 'diode_linear'
sum_quadratic_friction_name = 'diode_quad'
block = '2'
turn_on_diode = true
[]
[combine_linear_friction]
type = ADPiecewiseByBlockVectorFunctorMaterial
prop_name = 'combined_linear'
subdomain_to_prop_value = '1 Darcy
2 diode_linear'
[]
[combine_quadratic_friction]
type = ADPiecewiseByBlockVectorFunctorMaterial
prop_name = 'combined_quadratic'
subdomain_to_prop_value = '1 Forchheimer
2 diode_quad'
[]
[]
[Executioner]
type = Steady
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_shift_type -ksp_gmres_restart'
petsc_options_value = 'lu NONZERO 200'
line_search = 'none'
nl_abs_tol = 1e-14
[]
[Postprocessors]
[mdot_top]
type = VolumetricFlowRate
boundary = 'top_right'
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = ${rho}
[]
[mdot_bottom]
type = VolumetricFlowRate
boundary = 'bottom_right'
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = ${rho}
[]
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated-disp-system.i)
mu = 1
rho = 1
k = 1e-3
cp = 1
u_inlet = 1
T_inlet = 200
advected_interp_method = 'average'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '5 5'
dy = '1.0'
ix = '50 50'
iy = '20'
subdomain_id = '1 2'
[]
displacements = 'disp_x disp_y'
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
use_displaced_mesh = true
[]
[AuxVariables]
[disp_x][]
[disp_y][]
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = superficial_vel_x
v = superficial_vel_y
pressure = pressure
porosity = porosity
disp_x = disp_x
disp_y = disp_y
[]
[]
[Variables]
[superficial_vel_x]
type = PINSFVSuperficialVelocityVariable
initial_condition = ${u_inlet}
[]
[superficial_vel_y]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[T_fluid]
type = INSFVEnergyVariable
[]
[]
[AuxVariables]
[T_solid]
family = 'MONOMIAL'
order = 'CONSTANT'
fv = true
initial_condition = 100
[]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
initial_condition = 0.5
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_x
mu = ${mu}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_x
momentum_component = 'x'
pressure = pressure
porosity = porosity
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'y'
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_y
mu = ${mu}
porosity = porosity
momentum_component = 'y'
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_y
momentum_component = 'y'
pressure = pressure
porosity = porosity
[]
[energy_advection]
type = PINSFVEnergyAdvection
variable = T_fluid
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[energy_diffusion]
type = PINSFVEnergyDiffusion
k = ${k}
variable = T_fluid
porosity = porosity
[]
[energy_convection]
type = PINSFVEnergyAmbientConvection
variable = T_fluid
is_solid = false
T_fluid = 'T_fluid'
T_solid = 'T_solid'
h_solid_fluid = 'h_cv'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_x
function = ${u_inlet}
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_y
function = 0
[]
[inlet-T]
type = FVNeumannBC
variable = T_fluid
value = '${fparse u_inlet * rho * cp * T_inlet}'
boundary = 'left'
[]
[no-slip-u]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_x
function = 0
[]
[no-slip-v]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_y
function = 0
[]
[symmetry-u]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_x
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'x'
[]
[symmetry-v]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_y
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'y'
[]
[symmetry-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet-p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 0.1
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
num_steps = 1
dtmin = 1
[]
[FunctorMaterials]
[constants]
type = ADGenericFunctorMaterial
prop_names = 'h_cv'
prop_values = '1'
[]
[functor_constants]
type = ADGenericFunctorMaterial
prop_names = 'cp'
prop_values = '${cp}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
rho = ${rho}
temperature = 'T_fluid'
[]
[]
# Some basic Postprocessors to examine the solution
[Postprocessors]
[inlet-p]
type = SideAverageValue
variable = pressure
boundary = 'left'
[]
[outlet-u]
type = SideAverageValue
variable = superficial_vel_x
boundary = 'right'
[]
[outlet-temp]
type = SideAverageValue
variable = T_fluid
boundary = 'right'
[]
[solid-temp]
type = ElementAverageValue
variable = T_solid
[]
[]
[Outputs]
hide = 'disp_x disp_y'
exodus = true
csv = false
[]
(test/tests/meshgenerators/block_deletion_generator/block_deletion_not_prepared.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '4 2 3'
dy = '1 2'
ix = '10 10 10'
iy = '8 8'
subdomain_id = '1 2 3
2 2 2'
[]
[feg]
type = AdvancedExtruderGenerator
input = cmg
direction = '0 0 1'
heights = 1
num_layers = 1
[]
[bdg]
type = BlockDeletionGenerator
input = feg
block = '1 3'
new_boundary = 'new_external'
[]
[]
(modules/heat_transfer/test/tests/gap_heat_transfer_mortar/large_gap_heat_transfer_test_rz_cylinder.i)
rpv_core_gap_size = 0.2
core_outer_radius = 2
rpv_inner_radius = '${fparse 2 + rpv_core_gap_size}'
rpv_outer_radius = '${fparse 2.5 + rpv_core_gap_size}'
rpv_width = '${fparse rpv_outer_radius - rpv_inner_radius}'
rpv_outer_htc = 10 # W/m^2/K
rpv_outer_Tinf = 300 # K
core_blocks = '1'
rpv_blocks = '3'
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 2
dx = '${core_outer_radius} ${rpv_core_gap_size} ${rpv_width}'
ix = '400 1 100'
dy = 1
iy = '5'
[]
[set_block_id1]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0 0 0'
top_right = '${core_outer_radius} 1 0'
block_id = 1
location = INSIDE
[]
[rename_core_bdy]
type = SideSetsBetweenSubdomainsGenerator
input = set_block_id1
primary_block = 1
paired_block = 0
new_boundary = 'core_outer'
[]
[set_block_id3]
type = SubdomainBoundingBoxGenerator
input = rename_core_bdy
bottom_left = '${rpv_inner_radius} 0 0'
top_right = '${rpv_outer_radius} 1 0'
block_id = 3
location = INSIDE
[]
[rename_inner_rpv_bdy]
type = SideSetsBetweenSubdomainsGenerator
input = set_block_id3
primary_block = 3
paired_block = 0
new_boundary = 'rpv_inner'
[]
# comment out for test without gap
[2d_mesh]
type = BlockDeletionGenerator
input = rename_inner_rpv_bdy
block = 0
[]
allow_renumbering = false
[]
[Problem]
coord_type = RZ
[]
[Variables]
[Tsolid]
initial_condition = 500
[]
[]
[Kernels]
[heat_source]
type = CoupledForce
variable = Tsolid
block = '${core_blocks}'
v = power_density
[]
[heat_conduction]
type = HeatConduction
variable = Tsolid
[]
[]
[BCs]
[RPV_out_BC] # k \nabla T = h (T- T_inf) at RPV outer boundary
type = ConvectiveFluxFunction # (Robin BC)
variable = Tsolid
boundary = 'right' # outer RPV
coefficient = ${rpv_outer_htc}
T_infinity = ${rpv_outer_Tinf}
[]
[]
[ThermalContact]
[RPV_gap]
type = GapHeatTransfer
gap_geometry_type = 'CYLINDER'
emissivity_primary = 0.8
emissivity_secondary = 0.8
variable = Tsolid
primary = 'core_outer'
secondary = 'rpv_inner'
gap_conductivity = 0.1
quadrature = true
[]
[]
[AuxVariables]
[power_density]
block = '${core_blocks}'
initial_condition = 50e3
[]
[]
[Materials]
[simple_mat]
type = HeatConductionMaterial
thermal_conductivity = 34.6 # W/m/K
[]
[]
[Postprocessors]
[Tcore_avg]
type = ElementAverageValue
variable = Tsolid
block = '${core_blocks}'
[]
[Tcore_max]
type = ElementExtremeValue
value_type = max
variable = Tsolid
block = '${core_blocks}'
[]
[Tcore_min]
type = ElementExtremeValue
value_type = min
variable = Tsolid
block = '${core_blocks}'
[]
[Trpv_avg]
type = ElementAverageValue
variable = Tsolid
block = '${rpv_blocks}'
[]
[Trpv_max]
type = ElementExtremeValue
value_type = max
variable = Tsolid
block = '${rpv_blocks}'
[]
[Trpv_min]
type = ElementExtremeValue
value_type = min
variable = Tsolid
block = '${rpv_blocks}'
[]
[ptot]
type = ElementIntegralVariablePostprocessor
variable = power_density
block = '${core_blocks}'
[]
[rpv_convective_out]
type = ConvectiveHeatTransferSideIntegral
T_solid = Tsolid
boundary = 'right' # outer RVP
T_fluid = ${rpv_outer_Tinf}
htc = ${rpv_outer_htc}
[]
[heat_balance] # should be equal to 0 upon convergence
type = ParsedPostprocessor
expression = '(rpv_convective_out - ptot) / ptot'
pp_names = 'rpv_convective_out ptot'
[]
[flux_from_core] # converges to ptot as the mesh is refined
type = SideDiffusiveFluxIntegral
variable = Tsolid
boundary = core_outer
diffusivity = thermal_conductivity
[]
[flux_into_rpv] # converges to rpv_convective_out as the mesh is refined
type = SideDiffusiveFluxIntegral
variable = Tsolid
boundary = rpv_inner
diffusivity = thermal_conductivity
[]
[]
[VectorPostprocessors]
[NodalTemperature]
type = NodalValueSampler
sort_by = id
boundary = 'rpv_inner core_outer'
variable = Tsolid
[]
[]
[Executioner]
type = Steady
automatic_scaling = true
compute_scaling_once = false
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart '
petsc_options_value = 'hypre boomeramg 100'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
l_max_its = 100
[Quadrature]
# order = fifth
side_order = seventh
[]
line_search = none
[]
[Outputs]
exodus = false
csv = true
[]
(modules/navier_stokes/test/tests/postprocessors/flow_rates/conservation_INSFV.i)
mu=1
rho=1
advected_interp_method='average'
velocity_interp_method='rc'
[GlobalParams]
rhie_chow_user_object = 'rc'
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
pressure = pressure
[]
[]
[Mesh]
inactive = 'mesh internal_boundary_bot internal_boundary_top'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1'
dy = '1 1 1'
ix = '5'
iy = '5 5 5'
subdomain_id = '1
2
3'
[]
[internal_boundary_bot]
type = SideSetsBetweenSubdomainsGenerator
input = mesh
new_boundary = 'internal_bot'
primary_block = 1
paired_block = 2
[]
[internal_boundary_top]
type = SideSetsBetweenSubdomainsGenerator
input = internal_boundary_bot
new_boundary = 'internal_top'
primary_block = 2
paired_block = 3
[]
[diverging_mesh]
type = FileMeshGenerator
file = 'expansion_quad.e'
[]
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 0
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[temperature]
type = INSFVEnergyVariable
[]
[]
[AuxVariables]
[advected_density]
type = MooseVariableFVReal
initial_condition = ${rho}
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
force_boundary_execution = true
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
force_boundary_execution = true
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[temp_advection]
type = INSFVEnergyAdvection
variable = temperature
advected_interp_method = 'upwind'
[]
[temp_source]
type = FVBodyForce
variable = temperature
function = 10
block = 1
[]
[]
[FVBCs]
inactive = 'noslip-u noslip-v'
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'bottom'
variable = u
function = 0
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'bottom'
variable = v
function = 1
[]
[noslip-u]
type = INSFVNoSlipWallBC
boundary = 'right'
variable = u
function = 0
[]
[noslip-v]
type = INSFVNoSlipWallBC
boundary = 'right'
variable = v
function = 0
[]
[free-slip-u]
type = INSFVNaturalFreeSlipBC
boundary = 'right'
variable = u
momentum_component = 'x'
[]
[free-slip-v]
type = INSFVNaturalFreeSlipBC
boundary = 'right'
variable = v
momentum_component = 'y'
[]
[axis-u]
type = INSFVSymmetryVelocityBC
boundary = 'left'
variable = u
u = u
v = v
mu = ${mu}
momentum_component = x
[]
[axis-v]
type = INSFVSymmetryVelocityBC
boundary = 'left'
variable = v
u = u
v = v
mu = ${mu}
momentum_component = y
[]
[axis-p]
type = INSFVSymmetryPressureBC
boundary = 'left'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'top'
variable = pressure
function = 0
[]
[inlet_temp]
type = FVNeumannBC
boundary = 'bottom'
variable = temperature
value = 300
[]
[]
[FunctorMaterials]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'temperature'
rho = ${rho}
[]
[advected_material_property]
type = ADGenericFunctorMaterial
prop_names = 'advected_rho cp'
prop_values ='${rho} 1'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm 200 lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-12
[]
[Postprocessors]
[inlet_mass_variable]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = advected_density
[]
[inlet_mass_constant]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[inlet_mass_matprop]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = 'advected_rho'
[]
[mid1_mass]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[mid2_mass]
type = VolumetricFlowRate
boundary = internal_top
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[outlet_mass]
type = VolumetricFlowRate
boundary = top
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[inlet_momentum_x]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = u
[]
[inlet_momentum_y]
type = VolumetricFlowRate
boundary = bottom
vel_x = u
vel_y = v
advected_quantity = v
[]
[mid1_advected_energy]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = u
vel_y = v
advected_quantity = 'rho_cp_temp'
advected_interp_method = 'upwind'
[]
[mid2_advected_energy]
type = VolumetricFlowRate
boundary = internal_top
vel_x = u
vel_y = v
advected_quantity = 'rho_cp_temp'
advected_interp_method = 'upwind'
[]
[outlet_advected_energy]
type = VolumetricFlowRate
boundary = top
vel_x = u
vel_y = v
advected_quantity = 'rho_cp_temp'
advected_interp_method = 'upwind'
[]
[]
[Outputs]
csv = true
[]
(modules/reactor/test/tests/positions/cartesian_grid_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
# active = 'cart_grid'
[cart_grid]
type = CartesianGridPositions
center = '0 0 0'
nx = 3
ny = 2
nz = 1
dx = 10
dy = 4
dz = 2
outputs = 'out'
[]
[cart_grid_exclusions_2D]
type = CartesianGridPositions
center = '100 100 0'
nx = 3
ny = 2
nz = 1
dx = 10
dy = 4
dz = 2
pattern = '1 1 1;
2 1 1'
include_in_pattern = '1'
outputs = 'out'
[]
[cart_grid_exclusions_3D]
type = CartesianGridPositions
center = '100 100 0'
nx = 3
ny = 2
nz = 2
dx = 10
dy = 4
dz = 2
pattern = '1 1 1;
2 1 1|
10 1 0;
1 1 0'
include_in_pattern = '1'
outputs = 'out'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-scalar.i)
mu = 2.6
rho = 1.0
diff = 1.5
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.3'
dy = '0.3'
ix = '3'
iy = '3'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system scalar_1_system scalar_2_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[scalar_1]
type = INSFVScalarFieldVariable
solver_sys = scalar_1_system
initial_condition = 1.2
[]
[scalar_2]
type = INSFVScalarFieldVariable
solver_sys = scalar_2_system
initial_condition = 1.2
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[scalar_1_advection]
type = INSFVScalarFieldAdvection
variable = scalar_1
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[scalar_1_diffusion]
type = FVDiffusion
coeff = ${diff}
variable = scalar_1
[]
[scalar_1_src]
type = FVBodyForce
variable = scalar_1
value = 1.0
[]
[scalar_1_coupled_source]
type = FVCoupledForce
variable = scalar_1
v = scalar_2
coef = 0.1
[]
[scalar_2_advection]
type = INSFVScalarFieldAdvection
variable = scalar_2
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[scalar_2_diffusion]
type = FVDiffusion
coeff = '${fparse 2*diff}'
variable = scalar_2
[]
[scalar_2_src]
type = FVBodyForce
variable = scalar_2
value = 5.0
[]
[scalar_2_coupled_source]
type = FVCoupledForce
variable = scalar_2
v = scalar_1
coef = 0.05
[]
[]
[FVBCs]
inactive = "symmetry-u symmetry-v symmetry-p"
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1.1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0.0'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = vel_y
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1.4
[]
[inlet_scalar_1]
type = FVDirichletBC
boundary = 'left'
variable = scalar_1
value = 1
[]
[inlet_scalar_2]
type = FVDirichletBC
boundary = 'left'
variable = scalar_2
value = 2
[]
### Inactive by default, some tests will turn these on ###
[symmetry-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_x
u = vel_x
v = vel_y
mu = ${mu}
momentum_component = 'x'
[]
[symmetry-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_y
u = vel_x
v = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[symmetry-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
##########################################################
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
passive_scalar_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
passive_scalar_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
passive_scalar_systems = 'scalar_1_system scalar_2_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
passive_scalar_equation_relaxation = '0.9 0.9'
num_iterations = 100
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
passive_scalar_absolute_tolerance = '1e-13 1e-13'
print_fields = false
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = FINAL
[]
[]
[Postprocessors]
inactive = "out1 out2 in1 in2"
[out1]
type = VolumetricFlowRate
vel_x = vel_x
vel_y = vel_y
advected_quantity = 'scalar_1'
boundary = right
execute_on = FINAL
outputs = csv
[]
[in1]
type = VolumetricFlowRate
vel_x = vel_x
vel_y = vel_y
advected_quantity = 'scalar_1'
boundary = left
execute_on = FINAL
outputs = csv
[]
[out2]
type = VolumetricFlowRate
vel_x = vel_x
vel_y = vel_y
advected_quantity = 'scalar_2'
boundary = right
execute_on = FINAL
outputs = csv
[]
[in2]
type = VolumetricFlowRate
vel_x = vel_x
vel_y = vel_y
advected_quantity = 'scalar_2'
boundary = left
execute_on = FINAL
outputs = csv
[]
[]
(modules/heat_transfer/test/tests/gap_heat_transfer_mortar/large_gap_heat_transfer_test_rz_cylinder_mortar.i)
rpv_core_gap_size = 0.2
core_outer_radius = 2
rpv_inner_radius = '${fparse 2 + rpv_core_gap_size}'
rpv_outer_radius = '${fparse 2.5 + rpv_core_gap_size}'
rpv_width = '${fparse rpv_outer_radius - rpv_inner_radius}'
rpv_outer_htc = 10 # W/m^2/K
rpv_outer_Tinf = 300 # K
core_blocks = '1'
rpv_blocks = '3'
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 2
dx = '${core_outer_radius} ${rpv_core_gap_size} ${rpv_width}'
ix = '400 1 100'
dy = 1
iy = '5'
[]
[set_block_id1]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0 0 0'
top_right = '${core_outer_radius} 1 0'
block_id = 1
location = INSIDE
[]
[rename_core_bdy]
type = SideSetsBetweenSubdomainsGenerator
input = set_block_id1
primary_block = 1
paired_block = 0
new_boundary = 'core_outer'
[]
[set_block_id3]
type = SubdomainBoundingBoxGenerator
input = rename_core_bdy
bottom_left = '${rpv_inner_radius} 0 0'
top_right = '${rpv_outer_radius} 1 0'
block_id = 3
location = INSIDE
[]
[rename_inner_rpv_bdy]
type = SideSetsBetweenSubdomainsGenerator
input = set_block_id3
primary_block = 3
paired_block = 0
new_boundary = 'rpv_inner'
[]
# comment out for test without gap
[2d_mesh]
type = BlockDeletionGenerator
input = rename_inner_rpv_bdy
block = 0
[]
[secondary]
type = LowerDBlockFromSidesetGenerator
sidesets = 'rpv_inner'
new_block_id = 10001
new_block_name = 'secondary_lower'
input = 2d_mesh
[]
[primary]
type = LowerDBlockFromSidesetGenerator
sidesets = 'core_outer'
new_block_id = 10000
new_block_name = 'primary_lower'
input = secondary
[]
allow_renumbering = false
[]
[Problem]
coord_type = RZ
[]
[Variables]
[Tsolid]
initial_condition = 500
[]
[lm]
order = FIRST
family = LAGRANGE
block = 'secondary_lower'
[]
[]
[Kernels]
[heat_source]
type = CoupledForce
variable = Tsolid
block = '${core_blocks}'
v = power_density
[]
[heat_conduction]
type = HeatConduction
variable = Tsolid
[]
[]
[BCs]
[RPV_out_BC] # k \nabla T = h (T- T_inf) at RPV outer boundary
type = ConvectiveFluxFunction # (Robin BC)
variable = Tsolid
boundary = 'right' # outer RPV
coefficient = ${rpv_outer_htc}
T_infinity = ${rpv_outer_Tinf}
[]
[]
[UserObjects]
[radiation]
type = GapFluxModelRadiation
temperature = Tsolid
boundary = 'rpv_inner'
primary_emissivity = 0.8
secondary_emissivity = 0.8
[]
[conduction]
type = GapFluxModelConduction
temperature = Tsolid
boundary = 'rpv_inner'
gap_conductivity = 0.1
[]
[]
[Constraints]
[ced]
type = ModularGapConductanceConstraint
variable = lm
secondary_variable = Tsolid
primary_boundary = 'core_outer'
primary_subdomain = 10000
secondary_boundary = 'rpv_inner'
secondary_subdomain = 10001
gap_flux_models = 'radiation conduction'
gap_geometry_type = 'CYLINDER'
[]
[]
[AuxVariables]
[power_density]
block = '${core_blocks}'
initial_condition = 50e3
[]
[]
[Materials]
[simple_mat]
type = HeatConductionMaterial
thermal_conductivity = 34.6 # W/m/K
[]
[]
[Postprocessors]
[Tcore_avg]
type = ElementAverageValue
variable = Tsolid
block = '${core_blocks}'
[]
[Tcore_max]
type = ElementExtremeValue
value_type = max
variable = Tsolid
block = '${core_blocks}'
[]
[Tcore_min]
type = ElementExtremeValue
value_type = min
variable = Tsolid
block = '${core_blocks}'
[]
[Trpv_avg]
type = ElementAverageValue
variable = Tsolid
block = '${rpv_blocks}'
[]
[Trpv_max]
type = ElementExtremeValue
value_type = max
variable = Tsolid
block = '${rpv_blocks}'
[]
[Trpv_min]
type = ElementExtremeValue
value_type = min
variable = Tsolid
block = '${rpv_blocks}'
[]
[ptot]
type = ElementIntegralVariablePostprocessor
variable = power_density
block = '${core_blocks}'
[]
[rpv_convective_out]
type = ConvectiveHeatTransferSideIntegral
T_solid = Tsolid
boundary = 'right' # outer RVP
T_fluid = ${rpv_outer_Tinf}
htc = ${rpv_outer_htc}
[]
[heat_balance] # should be equal to 0 upon convergence
type = ParsedPostprocessor
expression = '(rpv_convective_out - ptot) / ptot'
pp_names = 'rpv_convective_out ptot'
[]
[flux_from_core] # converges to ptot as the mesh is refined
type = SideDiffusiveFluxIntegral
variable = Tsolid
boundary = core_outer
diffusivity = thermal_conductivity
[]
[flux_into_rpv] # converges to rpv_convective_out as the mesh is refined
type = SideDiffusiveFluxIntegral
variable = Tsolid
boundary = rpv_inner
diffusivity = thermal_conductivity
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[VectorPostprocessors]
[NodalTemperature]
type = NodalValueSampler
sort_by = id
boundary = 'rpv_inner core_outer'
variable = Tsolid
[]
[]
[Executioner]
type = Steady
petsc_options = '-snes_converged_reason -pc_svd_monitor'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package -mat_mffd_err -pc_factor_shift_type '
'-pc_factor_shift_amount'
petsc_options_value = ' lu superlu_dist 1e-5 NONZERO '
'1e-15'
snesmf_reuse_base = false
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
l_max_its = 100
line_search = none
[]
[Outputs]
exodus = false
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/neighbor-connected-boundary/test.i)
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '5 5 5 10 5'
ix = '5 5 5 10 5'
dy = '5 10 5 5 5'
iy = '5 10 5 5 5'
subdomain_id = '2 3 2 2 2
2 1 2 2 2
2 1 2 2 2
2 1 1 1 4
2 2 2 2 2'
[]
[attached_to_fluid_block_inlet]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 3
input = gen
new_boundary = attached_to_fluid_block_inlet
[]
[attached_to_fluid_block_outlet]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 4
input = attached_to_fluid_block_inlet
new_boundary = attached_to_fluid_block_outlet
[]
[attached_to_fluid_block_walls]
type = SideSetsBetweenSubdomainsGenerator
input = attached_to_fluid_block_outlet
primary_block = '1'
paired_block = '2'
new_boundary = attached_to_fluid_block_walls
[]
[attached_to_non_fluid_block_inlet]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 3
paired_block = 1
input = attached_to_fluid_block_walls
new_boundary = attached_to_non_fluid_block_inlet
[]
[attached_to_non_fluid_block_outlet]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 4
paired_block = 1
input = attached_to_non_fluid_block_inlet
new_boundary = attached_to_non_fluid_block_outlet
[]
[attached_to_non_fluid_block_walls]
type = SideSetsBetweenSubdomainsGenerator
input = attached_to_non_fluid_block_outlet
primary_block = '2'
paired_block = '1'
new_boundary = attached_to_non_fluid_block_walls
[]
[]
[Problem]
kernel_coverage_check = false
material_coverage_check = false
[]
[Modules]
[NavierStokesFV]
block = 1
compressibility = 'incompressible'
pressure_face_interpolation = average
momentum_advection_interpolation = upwind
mass_advection_interpolation = upwind
# fluid properties
density = '1'
dynamic_viscosity = '1e-2'
# initial conditions
initial_velocity = '0 0 0'
initial_pressure = 0
# boundary conditions
inlet_boundaries = 'attached_to_non_fluid_block_inlet'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '0 0.1'
outlet_boundaries = 'attached_to_non_fluid_block_outlet'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0'
wall_boundaries = 'attached_to_non_fluid_block_walls'
momentum_wall_types = 'slip'
[]
[]
[Postprocessors]
[outlet_mfr]
type = VolumetricFlowRate
vel_x = 'vel_x'
vel_y = 'vel_y'
advected_quantity = 1
boundary = attached_to_fluid_block_outlet
rhie_chow_user_object = ins_rhie_chow_interpolator
[]
[inlet_mfr]
type = VolumetricFlowRate
vel_x = 'vel_x'
vel_y = 'vel_y'
advected_quantity = 1
boundary = attached_to_fluid_block_inlet
rhie_chow_user_object = ins_rhie_chow_interpolator
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options = '-pc_svd_monitor'
petsc_options_iname = '-pc_type'
petsc_options_value = 'svd'
[TimeStepper]
type = IterationAdaptiveDT
dt = 0.1
growth_factor = 1.1
cutback_factor = 0.9
optimal_iterations = 6
iteration_window = 2
[]
nl_max_its = 10
nl_abs_tol = 1e-5
# Steady state detection.
steady_state_detection = true
steady_state_tolerance = 1e-10
num_steps = 1
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/fviks/convection/convection_cavity.i)
mu = 1
rho = 1
k = .01
cp = 1
velocity_interp_method = 'rc'
advected_interp_method = 'average'
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 0.5'
dy = '1'
ix = '8 5'
iy = '8'
subdomain_id = '0 1'
[]
[interface]
type = SideSetsBetweenSubdomainsGenerator
input = 'cmg'
primary_block = 0
paired_block = 1
new_boundary = 'interface'
[]
[secondary_interface]
type = SideSetsBetweenSubdomainsGenerator
input = 'interface'
primary_block = 1
paired_block = 0
new_boundary = 'secondary_interface'
[]
[]
[GlobalParams]
# retain behavior at time of test creation
two_term_boundary_expansion = false
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
block = 0
pressure = pressure
[]
[]
[Variables]
[u]
type = INSFVVelocityVariable
block = 0
[]
[v]
type = INSFVVelocityVariable
block = 0
[]
[pressure]
type = INSFVPressureVariable
block = 0
[]
[T]
type = INSFVEnergyVariable
block = 0
[]
[Ts]
type = INSFVEnergyVariable
block = 1
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[ICs]
[T]
type = ConstantIC
variable = T
value = 1
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
block = 0
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
block = 0
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
rho = ${rho}
block = 0
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
block = 0
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
block = 0
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
rho = ${rho}
block = 0
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
block = 0
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
block = 0
[]
[temp_conduction]
type = FVDiffusion
coeff = 'k'
variable = T
block = 0
[]
[temp_advection]
type = INSFVEnergyAdvection
variable = T
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
block = 0
[]
[solid_temp_conduction]
type = FVDiffusion
coeff = 'k'
variable = Ts
block = 1
[]
[]
[FVInterfaceKernels]
[convection]
type = FVConvectionCorrelationInterface
variable1 = T
variable2 = Ts
boundary = 'interface'
h = 5
T_solid = Ts
T_fluid = T
subdomain1 = 0
subdomain2 = 1
bulk_distance = 0.3
[]
[]
[FVBCs]
[top_x]
type = INSFVNoSlipWallBC
variable = u
boundary = 'top'
function = 'lid_function'
[]
[no_slip_x]
type = INSFVNoSlipWallBC
variable = u
boundary = 'left interface bottom'
function = 0
[]
[no_slip_y]
type = INSFVNoSlipWallBC
variable = v
boundary = 'left interface top bottom'
function = 0
[]
[T_hot]
type = FVDirichletBC
variable = T
boundary = 'bottom'
value = 1
[]
[T_cold]
type = FVDirichletBC
variable = Ts
boundary = 'right'
value = 0
[]
[]
[FunctorMaterials]
[functor_constants]
type = ADGenericFunctorMaterial
prop_names = 'cp k'
prop_values = '${cp} ${k}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'T'
rho = ${rho}
block = 0
[]
[]
[Functions]
[lid_function]
type = ParsedFunction
expression = '4*x*(1-x)'
[]
[]
[Executioner]
type = Steady
solve_type = NEWTON
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -ksp_gmres_restart'
petsc_options_value = 'asm lu NONZERO 200'
line_search = 'none'
nl_rel_tol = 1e-12
nl_max_its = 6
l_max_its = 200
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/mms/porosity_change/1d-rc-continuous.i)
mu = 1.5
rho = 1.1
advected_interp_method = 'average'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 1
dx = '1 1'
ix = '15 15'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
porosity = porosity
pressure = pressure
[]
[]
[Problem]
error_on_jacobian_nonzero_reallocation = true
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
[]
[]
[ICs]
[porosity_continuous]
type = FunctionIC
variable = porosity
function = smooth_jump
[]
[]
[Functions]
[smooth_jump]
type = ParsedFunction
expression = '1 - 0.5 * 1 / (1 + exp(-30*(x-1)))'
[]
# Generated by compute-functions-1d.py
[exact_u]
type = ParsedFunction
expression = 'cos((1/2)*x*pi)'
[]
[forcing_u]
type = ParsedFunction
expression = '-mu*(1 - 0.5/(exp(30 - 30*x) + 1))*(-1/4*pi^2*cos((1/2)*x*pi)/(1 - 0.5/(exp(30 - 30*x) + 1)) - 15.0*pi*exp(30 - 30*x)*sin((1/2)*x*pi)/((1 - 0.5/(exp(30 - 30*x) + 1))^2*(exp(30 - 30*x) + 1)^2) - 450.0*exp(30 - 30*x)*cos((1/2)*x*pi)/((1 - 0.5/(exp(30 - 30*x) + 1))^2*(exp(30 - 30*x) + 1)^2) + 900.0*exp(60 - 60*x)*cos((1/2)*x*pi)/((1 - 0.5/(exp(30 - 30*x) + 1))^2*(exp(30 - 30*x) + 1)^3) + 450.0*exp(60 - 60*x)*cos((1/2)*x*pi)/((1 - 0.5/(exp(30 - 30*x) + 1))^3*(exp(30 - 30*x) + 1)^4)) + 15.0*mu*(-1/2*pi*sin((1/2)*x*pi)/(1 - 0.5/(exp(30 - 30*x) + 1)) + 15.0*exp(30 - 30*x)*cos((1/2)*x*pi)/((1 - 0.5/(exp(30 - 30*x) + 1))^2*(exp(30 - 30*x) + 1)^2))*exp(30 - 30*x)/(exp(30 - 30*x) + 1)^2 - pi*rho*sin((1/2)*x*pi)*cos((1/2)*x*pi)/(1 - 0.5/(exp(30 - 30*x) + 1)) + 15.0*rho*exp(30 - 30*x)*cos((1/2)*x*pi)^2/((1 - 0.5/(exp(30 - 30*x) + 1))^2*(exp(30 - 30*x) + 1)^2) + (1 - 0.5/(exp(30 - 30*x) + 1))*cos(x)'
symbol_names = 'mu rho'
symbol_values = '${mu} ${rho}'
[]
[exact_p]
type = ParsedFunction
expression = 'sin(x)'
[]
[forcing_p]
type = ParsedFunction
expression = '-1/2*pi*rho*sin((1/2)*x*pi)'
symbol_names = 'rho'
symbol_values = '${rho}'
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[mass_forcing]
type = FVBodyForce
variable = pressure
function = forcing_p
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = u
mu = ${mu}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
pressure = pressure
porosity = porosity
momentum_component = 'x'
[]
[u_forcing]
type = INSFVBodyForce
variable = u
functor = forcing_u
momentum_component = 'x'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
functor = 'exact_u'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 'exact_p'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm 200 lu NONZERO'
line_search = 'none'
# ksp_gmres_restart bumped to 200 for linear convergence
nl_max_its = 100
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[h]
type = AverageElementSize
outputs = 'console csv'
execute_on = 'timestep_end'
[]
[L2u]
type = ElementL2FunctorError
approximate = u
exact = exact_u
outputs = 'console csv'
execute_on = 'timestep_end'
[]
[L2p]
approximate = pressure
exact = exact_p
type = ElementL2FunctorError
outputs = 'console csv'
execute_on = 'timestep_end'
[]
[]
[Outputs]
csv = true
[]
(test/tests/times/csv_times.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Times]
[file]
type = CSVFileTimes
files = '../outputs/csv/gold/csv_transient_out.csv'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(test/tests/meshgenerators/coarsen_block_generator/coarsen_hex.i)
[Mesh]
allow_renumbering = false
[big_one]
type = GeneratedMeshGenerator
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 1
xmax = 2
ymin = 0
ymax = 1
zmin = 0
zmax = 1
[]
[cut_one]
type = CartesianMeshGenerator
dim = 3
dx = 1
dy = 1
dz = 1
ix = 2
iy = 2
iz = 2
[]
[cmbn]
type = CombinerGenerator
inputs = 'big_one cut_one'
[]
[coarsen]
type = CoarsenBlockGenerator
input = cmbn
block = 0
coarsening = 1
starting_point = '0.25 0.25 0.1'
[]
# Stitch now as the coarsening does not stitch
[stitch]
type = MeshRepairGenerator
input = coarsen
fix_node_overlap = true
[]
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/block_restriction/segregated/2d-segregated-block.i)
mu = 1.1
rho = 1.1
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
restricted_blocks = '1'
[Mesh]
parallel_type = 'replicated'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1'
ix = '7 7'
iy = 10
subdomain_id = '1 2'
[]
[mid]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 2
input = mesh
new_boundary = 'middle'
[]
[break_top]
type = PatchSidesetGenerator
boundary = 'top'
n_patches = 2
input = mid
[]
[break_bottom]
type = PatchSidesetGenerator
boundary = 'bottom'
n_patches = 2
input = break_top
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system energy_system scalar_system'
previous_nl_solution_required = true
kernel_coverage_check = false
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
pressure = pressure
block = ${restricted_blocks}
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1.0
solver_sys = u_system
two_term_boundary_expansion = false
block = ${restricted_blocks}
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
block = ${restricted_blocks}
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
block = ${restricted_blocks}
[]
[T_fluid]
type = INSFVEnergyVariable
initial_condition = 300
solver_sys = energy_system
two_term_boundary_expansion = false
block = ${restricted_blocks}
[]
[scalar]
type = INSFVScalarFieldVariable
block = ${restricted_blocks}
solver_sys = scalar_system
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[energy_advection]
type = INSFVEnergyAdvection
variable = T_fluid
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
boundaries_to_force = 'bottom_0'
[]
[energy_diffusion]
type = FVDiffusion
coeff = 1.1
variable = T_fluid
[]
[energy_loss]
type = FVBodyForce
variable = T_fluid
value = -0.1
[]
[scalar_advection]
type = INSFVScalarFieldAdvection
variable = scalar
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
boundaries_to_force = 'bottom_0'
[]
[scalar_diffusion]
type = FVDiffusion
coeff = 1.0
variable = scalar
[]
[scalar_src]
type = FVBodyForce
variable = scalar
value = 0.1
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1.0'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0.0'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'top_0'
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'top_0'
variable = vel_y
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'middle'
variable = pressure
function = 0
[]
[inlet_t]
type = FVDirichletBC
boundary = 'left'
variable = T_fluid
value = 1
[]
[outlet_scalar]
type = FVDirichletBC
boundary = 'middle'
variable = scalar
value = 1
[]
[symmetry-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom_0'
variable = vel_x
u = vel_x
v = vel_y
mu = ${mu}
momentum_component = 'x'
[]
[symmetry-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom_0'
variable = vel_y
u = vel_x
v = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[symmetry-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom_0'
variable = pressure
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-12
pressure_l_abs_tol = 1e-12
energy_l_abs_tol = 1e-12
passive_scalar_l_abs_tol = 1e-12
momentum_l_tol = 0
pressure_l_tol = 0
energy_l_tol = 0
passive_scalar_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
energy_system = 'energy_system'
passive_scalar_systems = 'scalar_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
energy_equation_relaxation = 0.99
passive_scalar_equation_relaxation = 0.99
num_iterations = 100
pressure_absolute_tolerance = 1e-9
momentum_absolute_tolerance = 1e-9
energy_absolute_tolerance = 1e-9
passive_scalar_absolute_tolerance = 1e-9
print_fields = false
[]
[FunctorMaterials]
[const_functor]
type = ADGenericFunctorMaterial
prop_names = 'cp'
prop_values = '2'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
rho = ${rho}
temperature = 'T_fluid'
block = ${restricted_blocks}
[]
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(test/tests/physics/diffusion_fv.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 2'
dy = '2 1'
ix = '2 3'
iy = '3 2'
subdomain_id = '0 1
1 0'
[]
[split_boundaries]
type = BreakBoundaryOnSubdomainGenerator
input = cmg
[]
allow_renumbering = false
[]
[Physics]
[Diffusion]
[FiniteVolume]
[diff]
source_functor = 2
# Test all the ways of setting the boundary conditions
neumann_boundaries = 'left_to_0 right_to_0 top_to_0 bottom_to_0'
boundary_fluxes = '1 flux_pp flux_function flux_variable'
dirichlet_boundaries = 'left_to_1 right_to_1 top_to_1 bottom_to_1'
boundary_values = '2 value_pp value_function value_variable'
[]
[]
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
num_steps = 10
# Output the setup
verbose = true
[]
# To test setting up a boundary condition with a postprocessor
[Postprocessors]
[flux_pp]
type = Receiver
default = 1
outputs = 'none'
[]
[value_pp]
type = Receiver
default = 2
outputs = 'none'
[]
[]
# To test setting up a boundary condition with a function
[Functions]
[flux_function]
type = ConstantFunction
value = 1
[]
[value_function]
type = ConstantFunction
value = 2
[]
[]
# To test setting up a boundary condition with a variable
[AuxVariables]
[flux_variable]
type = MooseVariableFVReal
initial_condition = 1
[]
[value_variable]
type = MooseVariableFVReal
initial_condition = 2
[]
[]
# Form output for testing
[VectorPostprocessors]
[sample]
type = ElementValueSampler
variable = 'u'
sort_by = 'id'
[]
[]
[Outputs]
csv = true
[]
(test/tests/positions/quadrature_point_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
ix = 2
iy = 1
iz = 1
dx = 1
dy = 2
dz = 1.5
dim = 3
[]
[new_block]
type = ParsedSubdomainMeshGenerator
input = cmg
combinatorial_geometry = 'x>0.6'
block_name = 1
block_id = 1
[]
[]
[Positions]
[all_mesh]
type = QuadraturePointsPositions
# For testing reproducibility
auto_sort = true
[]
[block_1]
type = QuadraturePointsPositions
block = 1
# For testing reproducibility
auto_sort = true
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Postprocessors]
[num_pos]
type = NumPositions
positions = all_mesh
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/pins/mms/1d-rc.i)
mu = 1.1
rho = 1.1
advected_interp_method = 'average'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 1
dx = '1 1'
ix = '5 5'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
pressure = pressure
porosity = porosity
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
initial_condition = 0.8
[]
[]
[Problem]
error_on_jacobian_nonzero_reallocation = true
[]
[Functions]
[exact_u]
type = ParsedFunction
expression = 'cos((1/2)*x*pi)'
[]
[forcing_u]
type = ParsedFunction
expression = '0.25*pi^2*mu*cos((1/2)*x*pi) - 1.25*pi*rho*sin((1/2)*x*pi)*cos((1/2)*x*pi) + 0.8*cos(x)'
symbol_names = 'mu rho'
symbol_values = '${mu} ${rho}'
[]
[exact_p]
type = ParsedFunction
expression = 'sin(x)'
[]
[forcing_p]
type = ParsedFunction
expression = '-1/2*pi*rho*sin((1/2)*x*pi)'
symbol_names = 'rho'
symbol_values = '${rho}'
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[mass_forcing]
type = FVBodyForce
variable = pressure
function = forcing_p
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = u
mu = ${mu}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressureFlux
variable = u
pressure = pressure
porosity = porosity
momentum_component = 'x'
[]
[u_forcing]
type = INSFVBodyForce
variable = u
functor = forcing_u
momentum_component = 'x'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
functor = 'exact_u'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 'exact_p'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[h]
type = AverageElementSize
outputs = 'console csv'
execute_on = 'timestep_end'
[]
[L2u]
type = ElementL2FunctorError
approximate = u
exact = exact_u
outputs = 'console csv'
execute_on = 'timestep_end'
[]
[L2p]
approximate = pressure
exact = exact_p
type = ElementL2FunctorError
outputs = 'console csv'
execute_on = 'timestep_end'
[]
[]
[Outputs]
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_and_counterpump_loop.i)
mu = 1.0
rho = 1.0
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.1 0.8 0.1'
dy = '0.1 0.8 0.1'
ix = '5 20 5'
iy = '5 20 5'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[delete_internal_part]
type = BlockDeletionGenerator
input = gen
block = '2'
new_boundary = 'wall-internal'
[]
[lump_bdries_to_wall]
type = RenameBoundaryGenerator
input = delete_internal_part
old_boundary = 'bottom right top left'
new_boundary = 'wall-external wall-external wall-external wall-external'
[]
[pump_1_domain]
type = ParsedSubdomainMeshGenerator
input = lump_bdries_to_wall
combinatorial_geometry = 'x > 0.3 & x < 0.4 & y > 0.5'
block_id = '3'
[]
[pump_2_domain]
type = ParsedSubdomainMeshGenerator
input = pump_1_domain
combinatorial_geometry = 'x > 0.5 & y > 0.3 & y < 0.4'
block_id = '4'
[]
[rename_blocks]
type = RenameBlockGenerator
input = pump_2_domain
old_block = '1 3 4'
new_block = 'pipe pump_1 pump_2'
[]
[side_pump]
type = ParsedGenerateSideset
input = rename_blocks
included_subdomains = 'pump_1'
included_neighbors = 'pipe'
new_sideset_name = 'pump_side'
normal = '1 0 0'
combinatorial_geometry = 'x > 0.35'
[]
[]
[GlobalParams]
velocity_interp_method = 'rc'
advected_interp_method = 'upwind'
rhie_chow_user_object = 'rc'
[]
[Problem]
material_coverage_check = False
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
correct_volumetric_force = true
volumetric_force_functors = 'pump_volume_force_1 pump_volume_force_2'
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[AuxVariables]
[U]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[AuxKernels]
[mag]
type = VectorMagnitudeAux
variable = U
x = vel_x
y = vel_y
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
phi0 = 0.0
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[u_pump_1]
type = INSFVPump
variable = vel_x
momentum_component = 'x'
pump_volume_force = 'pump_volume_force_1'
block = 'pump_1'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[u_pump_2]
type = INSFVPump
variable = vel_y
momentum_component = 'y'
pump_volume_force = 'pump_volume_force_2'
block = 'pump_2'
[]
[]
[FVBCs]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_x
function = '0'
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_y
function = '0'
[]
[]
[Functions]
[pump_head]
type = PiecewiseLinear
x = '0.0 10.0'
y = '1000.0 0.0'
[]
[]
[FunctorMaterials]
[pump_mat_1]
type = NSFVPumpFunctorMaterial
rho = ${rho}
speed = 'U'
pressure_head_function = 'pump_head'
rotation_speed = 120
rotation_speed_rated = 100
area_rated = 0.1
volume_rated = 0.01
flow_rate_rated = 1.0
flow_rate = 'flow_rate'
block = 'pump_1'
pump_force_name = 'pump_volume_force_1'
[]
[pump_mat_2]
type = NSFVPumpFunctorMaterial
rho = ${rho}
speed = 'U'
pressure_head_function = 'pump_head'
rotation_speed = 50
rotation_speed_rated = 100
area_rated = 0.1
volume_rated = 0.01
flow_rate_rated = 1.0
flow_rate = 'flow_rate'
block = 'pump_2'
pump_force_name = 'pump_volume_force_2'
[]
[]
[Postprocessors]
[flow_rate]
type = Receiver
default = 1.0
[]
[flow_rate_to_pipe]
type = VolumetricFlowRate
advected_quantity = ${rho}
boundary = 'pump_side'
vel_x = 'vel_x'
vel_y = 'vel_y'
[]
[maximum_speed]
type = ADElementExtremeFunctorValue
functor = vel_x
value_type = max
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = false
[out]
type = CSV
execute_on = FINAL
show = 'flow_rate_to_pipe maximum_speed'
[]
[]
(test/tests/meshgenerators/refine_sideset_generator/test_left.i)
[Mesh]
[eg]
type = CartesianMeshGenerator
dim = 3
dx = '2 1 1'
dy = '2 3'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1 1
1 2 0 1
0 1 1 1
2 2 2 2
3 3 1 3
1 1 1 1'
[]
[refine]
type = RefineSidesetGenerator
input = eg
boundaries = 'left'
refinement = '3'
boundary_side = 'primary'
enable_neighbor_refinement = false
[]
[]
[Outputs]
exodus = true
[]
(modules/geochemistry/test/tests/nodal_void_volume/nodal_void_volume.i)
# Computes nodal void volume and compares with the Postprocessor hand-calculated values
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 2 2'
dy = '1 4'
[]
[]
[Variables]
[u]
[]
[]
[Kernels]
[u]
type = Diffusion
variable = u
[]
[]
[Executioner]
type = Transient
end_time = 1
[]
[Outputs]
csv = true
[]
[UserObjects]
[nodal_void_volume]
type = NodalVoidVolume
porosity = porosity
concentration = u
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
[]
[vol]
[]
[]
[AuxKernels]
[porosity]
type = FunctionAux
variable = porosity
function = 'if(x<4, 1, 2)'
[]
[vol]
type = NodalVoidVolumeAux
variable = vol
nodal_void_volume_uo = nodal_void_volume
[]
[]
[Postprocessors]
[quarter]
type = PointValue
point = '0 0 0'
variable = vol
[]
[half]
type = PointValue
point = '1 0 0'
variable = vol
[]
[three_quarters]
type = PointValue
point = '2 0 0'
variable = vol
[]
[one_and_half]
type = PointValue
point = '4 0 0'
variable = vol
[]
[one]
type = PointValue
point = '6 0 0'
variable = vol
[]
[one_and_quarter]
type = PointValue
point = '0 1 0'
variable = vol
[]
[two_and_half]
type = PointValue
point = '1 1 0'
variable = vol
[]
[three_and_three_quarters]
type = PointValue
point = '2 1 0'
variable = vol
[]
[seven_and_half]
type = PointValue
point = '4 1 0'
variable = vol
[]
[five]
type = PointValue
point = '6 1 0'
variable = vol
[]
[]
(test/tests/tag/tag-array-grad.i)
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
ix = '2 2'
dy = '1 1'
iy = '2 2'
subdomain_id = '0 0 0 1'
[]
[]
[Variables]
[u]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[]
[Kernels]
[diff]
type = ArrayDiffusion
variable = u
diffusion_coefficient = dc
[]
[reaction]
type = ArrayReaction
variable = u
reaction_coefficient = rc
[]
[]
[DGKernels]
[dgdiff]
type = ArrayDGDiffusion
variable = u
diff = dc
[]
[]
[BCs]
[left]
type = ArrayVacuumBC
variable = u
boundary = 1
[]
[right]
type = ArrayPenaltyDirichletBC
variable = u
boundary = 2
value = '1 2'
penalty = 4
[]
[]
[Materials]
[dc0]
type = GenericConstantArray
block = 0
prop_name = dc
prop_value = '1 1'
[]
[dc1]
type = GenericConstantArray
block = 1
prop_name = dc
prop_value = '2 1'
[]
[rc]
type = GenericConstant2DArray
block = '0 1'
prop_name = rc
prop_value = '1 0; -0.1 1'
[]
[]
[AuxVariables]
[u_tag_x]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[u_tag_y]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[]
[AuxKernels]
[u_tag_x]
type = TagVectorArrayVariableGradientAux
variable = u_tag_x
v = u
grad_component = x
vector_tag = 'SOLUTION'
[]
[u_tag_y]
type = TagVectorArrayVariableGradientAux
variable = u_tag_y
v = u
grad_component = y
vector_tag = 'NONTIME'
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
exodus = true
[]
(test/tests/kernels/hfem/robin_displaced.i)
[Mesh]
[square]
type = CartesianMeshGenerator
dx = '0.3125 0.3125 0.3125'
dy = '0.3333333333333 0.3333333333333 0.3333333333333'
dim = 2
[]
displacements = 'x_disp y_disp'
build_all_side_lowerd_mesh = true
[]
[Variables]
[u]
order = THIRD
family = MONOMIAL
block = 0
components = 2
[]
[lambda]
order = CONSTANT
family = MONOMIAL
block = INTERNAL_SIDE_LOWERD_SUBDOMAIN
components = 2
[]
[]
[AuxVariables]
[v]
order = CONSTANT
family = MONOMIAL
block = 0
initial_condition = '1'
[]
[x_disp]
block = 0
[]
[y_disp]
block = 0
initial_condition = 0
[]
[]
[AuxKernels]
[x_disp]
type = ParsedAux
variable = x_disp
use_xyzt = true
expression = 'x/15'
[]
[]
[Kernels]
[diff]
type = ArrayDiffusion
variable = u
block = 0
diffusion_coefficient = dc
use_displaced_mesh = true
[]
[source]
type = ArrayCoupledForce
variable = u
v = v
coef = '1 2'
block = 0
use_displaced_mesh = true
[]
[]
[DGKernels]
[surface]
type = ArrayHFEMDiffusion
variable = u
lowerd_variable = lambda
use_displaced_mesh = true
[]
[]
[BCs]
[all]
type = ArrayVacuumBC
boundary = 'left right top bottom'
variable = u
use_displaced_mesh = true
[]
[]
[Materials]
[dc]
type = GenericConstantArray
prop_name = dc
prop_value = '1 1'
[]
[]
[Postprocessors]
[intu]
type = ElementIntegralArrayVariablePostprocessor
variable = u
block = 0
use_displaced_mesh = true
[]
[lambdanorm]
type = ElementArrayL2Norm
variable = lambda
block = INTERNAL_SIDE_LOWERD_SUBDOMAIN
use_displaced_mesh = true
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -snes_linesearch_type -pc_factor_mat_solver_type'
petsc_options_value = 'lu basic mumps'
[]
[Outputs]
[out]
# we hide lambda because it may flip sign due to element
# renumbering with distributed mesh
type = Exodus
hide = lambda
[]
[]
(test/tests/positions/creating_multiapps/apps_from_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[AuxVariables]
[u]
[]
[]
[Positions]
[input]
type = InputPositions
positions = '0 1 0
1 0 2'
outputs = none
[]
[file]
type = FilePositions
files = '../../multiapps/positions_from_file/positions.txt'
outputs = none
[]
[reporter_forward]
type = ReporterPositions
reporters = 'file/positions_1d'
outputs = none
[]
[mesh]
type = ElementCentroidPositions
outputs = none
[]
[results_m1]
type = MultiAppPositions
multiapps = 'm1'
[]
[results_m2]
type = MultiAppPositions
multiapps = 'm2'
[]
[results_m3]
type = MultiAppPositions
multiapps = 'm3'
[]
[results_m4]
type = MultiAppPositions
multiapps = 'm4'
[]
[]
[MultiApps]
[m1]
type = FullSolveMultiApp
input_files = 'apps_from_positions.i'
cli_args = "MultiApps/active='';Positions/active='';Outputs/active=''"
positions_objects = input
[]
[m2]
type = FullSolveMultiApp
input_files = 'apps_from_positions.i'
cli_args = "MultiApps/active='';Positions/active='';Outputs/active=''"
positions_objects = 'input file'
[]
# Those Positions are executed too late
[m3]
type = TransientMultiApp
input_files = 'apps_from_positions.i'
cli_args = "MultiApps/active='';Positions/active='';Outputs/active=''"
positions_objects = reporter_forward
[]
[m4]
type = TransientMultiApp
input_files = 'apps_from_positions.i'
cli_args = "MultiApps/active='';Positions/active='';Outputs/active=''"
positions_objects = mesh
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-velocity-rz.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
coord_type = 'RZ'
rz_coord_axis = X
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1.25'
dy = '0.2'
ix = '30'
iy = '7'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1.1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0.0'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = vel_y
function = 0.0
[]
[symmetry_u]
type = INSFVSymmetryVelocityBC
variable = vel_x
boundary = 'bottom'
momentum_component = 'x'
mu = ${mu}
u = vel_x
v = vel_y
[]
[symmetry_v]
type = INSFVSymmetryVelocityBC
variable = vel_y
boundary = 'bottom'
momentum_component = 'y'
mu = ${mu}
u = vel_x
v = vel_y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1.4
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-15
pressure_l_abs_tol = 1e-15
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
num_iterations = 100
pressure_absolute_tolerance = 1e-14
momentum_absolute_tolerance = 1e-14
print_fields = false
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(modules/heat_transfer/test/tests/gap_heat_transfer_balance/large_gap_heat_transfer_test_rz_cylinder.i)
rpv_core_gap_size = 0.2
core_outer_radius = 2
rpv_inner_radius = '${fparse 2 + rpv_core_gap_size}'
rpv_outer_radius = '${fparse 2.5 + rpv_core_gap_size}'
rpv_width = '${fparse rpv_outer_radius - rpv_inner_radius}'
rpv_outer_htc = 10 # W/m^2/K
rpv_outer_Tinf = 300 # K
core_blocks = '1'
rpv_blocks = '3'
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 2
dx = '${core_outer_radius} ${rpv_core_gap_size} ${rpv_width}'
ix = '400 1 100'
dy = 1
iy = '5'
[]
[set_block_id1]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0 0 0'
top_right = '${core_outer_radius} 1 0'
block_id = 1
location = INSIDE
[]
[rename_core_bdy]
type = SideSetsBetweenSubdomainsGenerator
input = set_block_id1
primary_block = 1
paired_block = 0
new_boundary = 'core_outer'
[]
[set_block_id3]
type = SubdomainBoundingBoxGenerator
input = rename_core_bdy
bottom_left = '${rpv_inner_radius} 0 0'
top_right = '${rpv_outer_radius} 1 0'
block_id = 3
location = INSIDE
[]
[rename_inner_rpv_bdy]
type = SideSetsBetweenSubdomainsGenerator
input = set_block_id3
primary_block = 3
paired_block = 0
new_boundary = 'rpv_inner'
[]
# comment out for test without gap
[2d_mesh]
type = BlockDeletionGenerator
input = rename_inner_rpv_bdy
block = 0
[]
[]
[Problem]
coord_type = RZ
[]
[Variables]
[Tsolid]
initial_condition = 500
[]
[]
[Kernels]
[heat_source]
type = CoupledForce
variable = Tsolid
block = '${core_blocks}'
v = power_density
[]
[heat_conduction]
type = HeatConduction
variable = Tsolid
[]
[]
[BCs]
[RPV_out_BC] # k \nabla T = h (T- T_inf) at RPV outer boundary
type = ConvectiveFluxFunction # (Robin BC)
variable = Tsolid
boundary = 'right' # outer RPV
coefficient = ${rpv_outer_htc}
T_infinity = ${rpv_outer_Tinf}
[]
[]
[ThermalContact]
[RPV_gap]
type = GapHeatTransfer
gap_geometry_type = 'CYLINDER'
emissivity_primary = 0.8
emissivity_secondary = 0.8
variable = Tsolid
primary = 'core_outer'
secondary = 'rpv_inner'
gap_conductivity = 0.1
quadrature = true
[]
[]
[AuxVariables]
[power_density]
block = '${core_blocks}'
initial_condition = 50e3
[]
[]
[Materials]
[simple_mat]
type = HeatConductionMaterial
thermal_conductivity = 34.6 # W/m/K
[]
[]
[Postprocessors]
[Tcore_avg]
type = ElementAverageValue
variable = Tsolid
block = '${core_blocks}'
[]
[Tcore_max]
type = ElementExtremeValue
value_type = max
variable = Tsolid
block = '${core_blocks}'
[]
[Tcore_min]
type = ElementExtremeValue
value_type = min
variable = Tsolid
block = '${core_blocks}'
[]
[Trpv_avg]
type = ElementAverageValue
variable = Tsolid
block = '${rpv_blocks}'
[]
[Trpv_max]
type = ElementExtremeValue
value_type = max
variable = Tsolid
block = '${rpv_blocks}'
[]
[Trpv_min]
type = ElementExtremeValue
value_type = min
variable = Tsolid
block = '${rpv_blocks}'
[]
[ptot]
type = ElementIntegralVariablePostprocessor
variable = power_density
block = '${core_blocks}'
[]
[rpv_convective_out]
type = ConvectiveHeatTransferSideIntegral
T_solid = Tsolid
boundary = 'right' # outer RVP
T_fluid = ${rpv_outer_Tinf}
htc = ${rpv_outer_htc}
[]
[heat_balance] # should be equal to 0 upon convergence
type = ParsedPostprocessor
expression = '(rpv_convective_out - ptot) / ptot'
pp_names = 'rpv_convective_out ptot'
[]
[flux_from_core] # converges to ptot as the mesh is refined
type = SideDiffusiveFluxIntegral
variable = Tsolid
boundary = core_outer
diffusivity = thermal_conductivity
[]
[flux_into_rpv] # converges to rpv_convective_out as the mesh is refined
type = SideDiffusiveFluxIntegral
variable = Tsolid
boundary = rpv_inner
diffusivity = thermal_conductivity
[]
[]
[Executioner]
type = Steady
automatic_scaling = true
compute_scaling_once = false
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart '
petsc_options_value = 'hypre boomeramg 100'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
l_max_its = 100
[Quadrature]
# order = fifth
side_order = seventh
[]
line_search = none
[]
[Outputs]
exodus = false
csv = true
[]
(modules/scalar_transport/test/tests/physics/diffusion_multi_options.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 2'
dy = '2 1'
ix = '2 3'
iy = '3 2'
subdomain_id = '0 1
1 0'
[]
[split_boundaries]
type = BreakBoundaryOnSubdomainGenerator
input = cmg
[]
allow_renumbering = false
[]
[Physics]
[MultiSpeciesDiffusion]
[ContinuousGalerkin]
[diff]
# A and C have the same equation, on purpose
species = 'A B C'
diffusivity_functors = 'da db 1'
source_functors = 'heat_pp heat_var heat_function'
source_coefs = '1 2 1'
# Test all the ways of setting the boundary conditions (from variable, pp, etc)
# B and (A,C) have different boundary conditions to make sure the data is read for
# the right species
neumann_boundaries = 'left_to_0 right_to_0 top_to_0 bottom_to_0;
left_to_0 right_to_0;
left_to_0 right_to_0 top_to_0 bottom_to_0'
boundary_fluxes = '1 flux_pp flux_function flux_variable;
1 flux_pp;
1 flux_pp flux_function flux_variable'
dirichlet_boundaries = 'left_to_1 right_to_1;
left_to_1 right_to_1 top_to_1 bottom_to_1;
left_to_1 right_to_1'
boundary_values = '2 value_pp;
2 value_pp value_function value_variable;
2 value_pp'
[]
[]
[]
[]
[Functions]
[da]
type = ConstantFunction
value = 1
[]
[db]
type = ConstantFunction
value = 2
[]
[heat_function]
type = ConstantFunction
value = 0
[]
[]
[AuxVariables]
[heat_var]
family = MONOMIAL
order = CONSTANT
initial_condition = 2
[]
[]
[Postprocessors]
[heat_pp]
type = Receiver
default = 0
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
num_steps = 10
# Output the setup
verbose = true
[]
# To test setting up a boundary condition with a postprocessor
[Postprocessors]
[flux_pp]
type = Receiver
default = 1
outputs = 'none'
[]
[value_pp]
type = Receiver
default = 2
outputs = 'none'
[]
[]
# To test setting up a boundary condition with a function
[Functions]
[flux_function]
type = ConstantFunction
value = 1
[]
[value_function]
type = ConstantFunction
value = 2
[]
[]
# To test setting up a boundary condition with a variable
[AuxVariables]
[flux_variable]
initial_condition = 1
[]
[value_variable]
initial_condition = 2
[]
[]
# Form output for testing
[VectorPostprocessors]
[sample]
type = NodalValueSampler
variable = 'A B C'
sort_by = 'id'
[]
[]
[Outputs]
csv = true
[]
(modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_action.i)
[Problem]
kernel_coverage_check = false
[]
[Mesh]
type = MeshGeneratorMesh
[./cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1.3 1.9'
ix = '3 3 3'
dy = '2 1.2 0.9'
iy = '3 3 3'
subdomain_id = '0 1 0
4 5 2
0 3 0'
[../]
[./inner_bottom]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 1
paired_block = 5
new_boundary = 'inner_bottom'
[../]
[./inner_left]
type = SideSetsBetweenSubdomainsGenerator
input = inner_bottom
primary_block = 4
paired_block = 5
new_boundary = 'inner_left'
[../]
[./inner_right]
type = SideSetsBetweenSubdomainsGenerator
input = inner_left
primary_block = 2
paired_block = 5
new_boundary = 'inner_right'
[../]
[./inner_top]
type = SideSetsBetweenSubdomainsGenerator
input = inner_right
primary_block = 3
paired_block = 5
new_boundary = 'inner_top'
[../]
[./rename]
type = RenameBlockGenerator
old_block = '1 2 3 4'
new_block = '0 0 0 0'
input = inner_top
[../]
[]
[Variables]
[./temperature]
block = 0
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temperature
block = 0
diffusion_coefficient = 5
[../]
[]
[GrayDiffuseRadiation]
[./cavity]
boundary = '4 5 6 7'
emissivity = '0.9 0.8 0.4 1'
n_patches = '2 2 2 3'
partitioners = 'centroid centroid centroid centroid'
centroid_partitioner_directions = 'x y y x'
temperature = temperature
adiabatic_boundary = '7'
fixed_temperature_boundary = '4'
fixed_boundary_temperatures = '1200'
view_factor_calculator = analytical
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = temperature
boundary = left
value = 600
[../]
[./right]
type = DirichletBC
variable = temperature
boundary = right
value = 300
[../]
[]
[Postprocessors]
[./average_T_inner_right]
type = SideAverageValue
variable = temperature
boundary = inner_right
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_loop.i)
mu = 1.0
rho = 1.0
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.1 0.8 0.1'
dy = '0.1 0.8 0.1'
ix = '5 20 5'
iy = '5 20 5'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[delete_internal_part]
type = BlockDeletionGenerator
input = gen
block = '2'
new_boundary = 'wall-internal'
[]
[lump_bdries_to_wall]
type = RenameBoundaryGenerator
input = delete_internal_part
old_boundary = 'bottom right top left'
new_boundary = 'wall-external wall-external wall-external wall-external'
[]
[pump_domain]
type = ParsedSubdomainMeshGenerator
input = lump_bdries_to_wall
combinatorial_geometry = 'x > 0.3 & x < 0.4 & y > 0.5'
block_id = '3'
[]
[rename_blocks]
type = RenameBlockGenerator
input = pump_domain
old_block = '1 3'
new_block = 'pipe pump'
[]
[side_pump]
type = ParsedGenerateSideset
input = rename_blocks
included_subdomains = 'pump'
included_neighbors = 'pipe'
new_sideset_name = 'pump_side'
normal = '1 0 0'
combinatorial_geometry = 'x > 0.35'
[]
[]
[GlobalParams]
velocity_interp_method = 'rc'
advected_interp_method = 'upwind'
rhie_chow_user_object = 'rc'
[]
[Problem]
material_coverage_check = False
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
correct_volumetric_force = true
volumetric_force_functors = 'pump_volume_force'
volume_force_correction_method = 'pressure-consistent'
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[AuxVariables]
[U]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[AuxKernels]
[mag]
type = VectorMagnitudeAux
variable = U
x = vel_x
y = vel_y
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
phi0 = 0.0
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[u_pump]
type = INSFVPump
variable = vel_x
momentum_component = 'x'
pump_volume_force = 'pump_volume_force'
block = 'pump'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[]
[FVBCs]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_x
function = '0'
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_y
function = '0'
[]
[]
[Functions]
[pump_head]
type = PiecewiseLinear
x = '0.0 10.0'
y = '1000.0 0.0'
[]
[]
[FunctorMaterials]
[pump_mat]
type = NSFVPumpFunctorMaterial
rho = ${rho}
speed = 'U'
pressure_head_function = 'pump_head'
rotation_speed = 120
rotation_speed_rated = 100
area_rated = 0.1
volume_rated = 0.01
flow_rate_rated = 1.0
flow_rate = 'flow_rate'
block = 'pump'
[]
[]
[Postprocessors]
[flow_rate]
type = Receiver
default = 1.0
[]
[flow_rate_to_pipe]
type = VolumetricFlowRate
advected_quantity = ${rho}
boundary = 'pump_side'
vel_x = 'vel_x'
vel_y = 'vel_y'
[]
[maximum_speed]
type = ADElementExtremeFunctorValue
functor = vel_x
value_type = max
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = false
[out]
type = CSV
execute_on = FINAL
show = 'flow_rate_to_pipe maximum_speed'
[]
[]
(test/tests/physics/diffusion_cg.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 2'
dy = '2 1'
ix = '2 3'
iy = '3 2'
subdomain_id = '0 1
1 0'
[]
[split_boundaries]
type = BreakBoundaryOnSubdomainGenerator
input = cmg
[]
allow_renumbering = false
[]
[Physics]
[Diffusion]
[ContinuousGalerkin]
[diff]
source_functor = 2
# Test all the ways of setting the boundary conditions
neumann_boundaries = 'left_to_0 right_to_0 top_to_0 bottom_to_0'
boundary_fluxes = '1 flux_pp flux_function flux_variable'
dirichlet_boundaries = 'left_to_1 right_to_1 top_to_1 bottom_to_1'
boundary_values = '2 value_pp value_function value_variable'
[]
[]
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
num_steps = 10
# Output the setup
verbose = true
[]
# To test setting up a boundary condition with a postprocessor
[Postprocessors]
[flux_pp]
type = Receiver
default = 1
outputs = 'none'
[]
[value_pp]
type = Receiver
default = 2
outputs = 'none'
[]
[]
# To test setting up a boundary condition with a function
[Functions]
[flux_function]
type = ConstantFunction
value = 1
[]
[value_function]
type = ConstantFunction
value = 2
[]
[]
# To test setting up a boundary condition with a variable
[AuxVariables]
[flux_variable]
initial_condition = 1
[]
[value_variable]
initial_condition = 2
[]
[]
# Form output for testing
[VectorPostprocessors]
[sample]
type = NodalValueSampler
variable = 'u'
sort_by = 'id'
[]
[]
[Outputs]
csv = true
[]
(test/tests/positions/distributed_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
[input]
type = InputPositions
positions = '0 0 0
1 0 0
0 1 0
1 1 0'
outputs = none
[]
[input_2]
type = InputPositions
positions = '10 0 0
0 10 0'
outputs = none
[]
[distributed]
type = DistributedPositions
positions = 'input_2 input'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated-comparison/segregated-linear.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.3'
dy = '0.3'
ix = '3'
iy = '3'
[]
[]
[Problem]
linear_sys_names = 'u_system v_system pressure_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = RhieChowMassFlux
u = vel_x
v = vel_y
pressure = pressure
rho = ${rho}
p_diffusion_kernel = p_diffusion
[]
[]
[Variables]
[vel_x]
type = MooseLinearVariableFVReal
initial_condition = 0.5
solver_sys = u_system
[]
[vel_y]
type = MooseLinearVariableFVReal
solver_sys = v_system
initial_condition = 0.0
[]
[pressure]
type = MooseLinearVariableFVReal
solver_sys = pressure_system
initial_condition = 0.2
[]
[]
[LinearFVKernels]
[u_advection_stress]
type = LinearWCNSFVMomentumFlux
variable = vel_x
advected_interp_method = ${advected_interp_method}
mu = ${mu}
u = vel_x
v = vel_y
momentum_component = 'x'
rhie_chow_user_object = 'rc'
use_nonorthogonal_correction = false
[]
[v_advection_stress]
type = LinearWCNSFVMomentumFlux
variable = vel_y
advected_interp_method = ${advected_interp_method}
mu = ${mu}
u = vel_x
v = vel_y
momentum_component = 'y'
rhie_chow_user_object = 'rc'
use_nonorthogonal_correction = false
[]
[u_pressure]
type = LinearFVMomentumPressure
variable = vel_x
pressure = pressure
momentum_component = 'x'
[]
[v_pressure]
type = LinearFVMomentumPressure
variable = vel_y
pressure = pressure
momentum_component = 'y'
[]
[p_diffusion]
type = LinearFVAnisotropicDiffusion
variable = pressure
diffusion_tensor = Ainv
use_nonorthogonal_correction = false
[]
[HbyA_divergence]
type = LinearFVDivergence
variable = pressure
face_flux = HbyA
force_boundary_execution = true
[]
[]
[LinearFVBCs]
[inlet-u]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'left'
variable = vel_x
functor = '1.1'
[]
[inlet-v]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'left'
variable = vel_y
functor = '0.0'
[]
[walls-u]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'top bottom'
variable = vel_x
functor = 0.0
[]
[walls-v]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'top bottom'
variable = vel_y
functor = 0.0
[]
[outlet_p]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'right'
variable = pressure
functor = 1.4
[]
[outlet_u]
type = LinearFVAdvectionDiffusionOutflowBC
variable = vel_x
use_two_term_expansion = false
boundary = right
[]
[outlet_v]
type = LinearFVAdvectionDiffusionOutflowBC
variable = vel_y
use_two_term_expansion = false
boundary = right
[]
[]
[Executioner]
type = SIMPLE
momentum_l_abs_tol = 1e-10
pressure_l_abs_tol = 1e-10
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
num_iterations = 2
pressure_absolute_tolerance = 1e-10
momentum_absolute_tolerance = 1e-10
momentum_petsc_options_iname = '-pc_type -pc_hypre_type'
momentum_petsc_options_value = 'hypre boomeramg'
pressure_petsc_options_iname = '-pc_type -pc_hypre_type'
pressure_petsc_options_value = 'hypre boomeramg'
print_fields = false
[]
[Outputs]
exodus = true
execute_on = FINAL
[]
(modules/heat_transfer/test/tests/physics/test_fv.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = 10
dy = 10
[]
[]
[Physics]
[HeatConduction]
[FiniteVolume]
[h1]
temperature_name = 'T'
heat_source_var = 'Q'
heat_source_blocks = '0'
initial_temperature = 0
# Thermal properties
thermal_conductivity_functor = 'k0'
specific_heat = 5
density = 10
# Boundary conditions
heat_flux_boundaries = 'left right'
boundary_heat_fluxes = '0 500'
insulated_boundaries = 'top'
fixed_temperature_boundaries = 'bottom'
boundary_temperatures = '300'
[]
[]
[]
[]
[Executioner]
type = Transient
num_steps = 1
verbose = true
[]
[AuxVariables]
[Q]
initial_condition = 100
[]
[]
[FunctorMaterials]
[mat_k]
type = ADGenericFunctorMaterial
prop_names = 'k0'
prop_values = '1'
[]
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/radiation_transfer_action/cavity_with_pillar_vf.i)
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 3
dx = '0.1 0.3 0.4 0.3 0.1'
ix = ' 1 3 4 3 1'
dy = '0.1 0.3 0.4 0.3 0.1'
iy = ' 1 3 4 3 1'
dz = '0.1 0.8 0.2 0.1'
iz = ' 1 8 2 1'
subdomain_id = '1 1 1 1 1
1 15 15 15 1
1 15 1 15 1
1 15 15 15 1
1 1 1 1 1
1 12 12 12 1
11 0 103 0 14
11 104 2 102 14
11 0 101 0 14
1 13 13 13 1
1 12 12 12 1
11 0 0 0 14
11 0 105 0 14
11 0 0 0 14
1 13 13 13 1
1 1 1 1 1
1 16 16 16 1
1 16 16 16 1
1 16 16 16 1
1 1 1 1 1'
[]
[left_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 11
paired_block = '0 101 102 103 104 105'
new_boundary = left_interior_wall
input = cartesian
[]
[right_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 14
paired_block = '0 101 102 103 104 105'
new_boundary = right_interior_wall
input = left_interior
[]
[bottom_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 12
paired_block = '0 101 102 103 104 105'
new_boundary = bottom_interior_wall
input = right_interior
[]
[top_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 13
paired_block = '0 101 102 103 104 105'
new_boundary = top_interior_wall
input = bottom_interior
[]
[front_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 15
paired_block = '0 101 102 103 104 105'
new_boundary = front_interior_wall
input = top_interior
[]
[back_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 16
paired_block = '0 101 102 103 104 105'
new_boundary = back_interior_wall
input = front_interior
[]
[pillar_left]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 104
new_boundary = pillar_left
input = 'back_interior'
[]
[pillar_right]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 102
new_boundary = pillar_right
input = 'pillar_left'
[]
[pillar_bottom]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 103
new_boundary = pillar_bottom
input = 'pillar_right'
[]
[pillar_top]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 101
new_boundary = pillar_top
input = 'pillar_bottom'
[]
[pillar_back]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 105
new_boundary = pillar_back
input = 'pillar_top'
[]
[rename_block]
type = RenameBlockGenerator
old_block = '2 11 12 13 14 15 16 101 102 103 104 105'
new_block = '2 1 1 1 1 1 1 0 0 0 0 0'
input = 'pillar_back'
[]
[]
[GrayDiffuseRadiation]
[cavity]
sidesets = '6 7 8 9 10 11 12 13 14 15 16'
emissivity = '0.8 0.8 0.8 0.8 0.8 eps_fn 0.8 0.8 0.8 0.8 0.8'
n_patches = '5 5 5 5 5 5 5 5 5 5 5'
partitioners = 'metis metis metis metis metis metis metis metis metis metis metis'
temperature = temperature
ray_tracing_face_order = SECOND
[]
[]
[Functions]
[eps_fn]
type = ConstantFunction
value = 0.8
[]
[]
[Variables]
[temperature]
initial_condition = 300
block = '1 2'
[]
[]
[Kernels]
[hc]
type = HeatConduction
variable = temperature
block = '1 2'
[]
[]
[BCs]
[left]
type = DirichletBC
variable = temperature
boundary = left
value = 500
[]
[front]
type = DirichletBC
variable = temperature
boundary = front
value = 300
[]
[]
[Materials]
[hcmat]
type = HeatConductionMaterial
thermal_conductivity = 25.0
specific_heat = 490.0
block = '1 2'
[]
[density]
type = GenericConstantMaterial
prop_names = 'density'
prop_values = '80'
block = '1 2'
[]
[]
[Executioner]
type = Steady
nl_abs_tol = 1e-8
nl_rel_tol = 1e-8
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/move_node_generator/test2.i)
[Mesh]
allow_renumbering=false
inactive = 'missingNode mismatchSize'
[./eg]
type = CartesianMeshGenerator
dim = 3
dx = '1'
dy = '1'
dz = '1'
ix = '4'
iy = '4'
iz = '4'
subdomain_id = '0'
[]
[modifyNode]
type = MoveNodeGenerator
input = eg
node_id = '0 1 2'
new_position = '0.1 0 0
0.35 0 0
0.6 0 0'
[]
[missingNode]
type = MoveNodeGenerator
input = eg
node_id = '999'
new_position = '0.1 0 0'
[]
[mismatchSize]
type = MoveNodeGenerator
input = eg
node_id = '0 1 2'
new_position = '0.1 0 0'
[]
[]
[Variables]
[u]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/coarsen_block_generator/coarsen_quad.i)
[Mesh]
allow_renumbering = false
[big_one]
type = GeneratedMeshGenerator
dim = 2
nx = 1
ny = 1
xmin = 1
xmax = 2
ymin = 0
ymax = 1
[]
[cut_one]
type = CartesianMeshGenerator
dim = 2
dx = 1
dy = 1
ix = 2
iy = 2
[]
[cmbn]
type = CombinerGenerator
inputs = 'big_one cut_one'
[]
[coarsen]
type = CoarsenBlockGenerator
input = cmbn
block = 0
coarsening = 1
starting_point = '0.25 0.25 0'
[]
# Stitch now as the coarsening does not stitch
[stitch]
type = MeshRepairGenerator
input = coarsen
fix_node_overlap = true
[]
[]
[Outputs]
exodus = true
[]
(test/tests/fviks/diffusion/multisystem.i)
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 1
ix = '50 50'
dx = '1 1'
subdomain_id = '0 1'
[]
[sds]
type = SideSetsBetweenSubdomainsGenerator
input = gmg
new_boundary = 'between'
paired_block = '1'
primary_block = '0'
[]
[]
[Problem]
nl_sys_names = 'u v'
error_on_jacobian_nonzero_reallocation = true
[]
[Variables]
[u]
type = MooseVariableFVReal
solver_sys = 'u'
block = 0
[]
[v]
type = MooseVariableFVReal
solver_sys = 'v'
block = 1
[]
[]
[FVKernels]
[diff_u]
type = FVDiffusion
variable = u
coeff = 3.0
[]
[force_u]
type = FVBodyForce
variable = u
function = 5
[]
[diff_v]
type = FVDiffusion
variable = v
coeff = 1.0
[]
[force_v]
type = FVBodyForce
variable = v
function = 5
[]
[]
[FVInterfaceKernels]
[diff_ik]
type = FVDiffusionInterface
variable1 = u
variable2 = v
boundary = 'between'
coeff1 = 3
coeff2 = 1
subdomain1 = 0
subdomain2 = 1
[]
[diff_ik_v]
type = FVDiffusionInterface
variable1 = v
variable2 = u
boundary = 'between'
coeff1 = 1
coeff2 = 3
subdomain1 = 1
subdomain2 = 0
[]
[]
[FVBCs]
[left_u]
type = FVDirichletBC
variable = u
boundary = left
value = 0
[]
[right_v]
type = FVDirichletBC
variable = v
boundary = right
value = 1
[]
[]
[Executioner]
type = SteadySolve2
solve_type = 'NEWTON'
petsc_options = '-snes_monitor'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
first_nl_sys_to_solve = 'u'
second_nl_sys_to_solve = 'v'
number_of_iterations = 200
nl_abs_tol = 1e-10
[]
[Outputs]
print_nonlinear_residuals = false
print_linear_residuals = false
exodus = true
[]
(modules/navier_stokes/test/tests/postprocessors/flow_rates/mass_flux_weighted_pp.i)
# Fluid properties
mu = 1
rho = 1
cp = 1
k = 1e-3
# Operating conditions
u_inlet = 1
T_inlet = 200
p_outlet = 10
# expected temperature at outlet
#
# mdot * cp dT = Qdot
# Qdot = 500
# mdot = 1
# cp = 1
# dT = 500
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '5 0.1 4.9'
ix = '10 3 10'
dy = '0.5 0.5'
iy = '2 2'
subdomain_id = '1 2 3 1 3 3'
[]
[interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = '1'
paired_block = '2 3'
new_boundary = 'interior'
input = gen
[]
[]
[AuxVariables]
[porosity]
type = MooseVariableFVReal
[]
[hsrc]
type = MooseVariableFVReal
[]
[]
[ICs]
[porosity_1]
type = ConstantIC
variable = porosity
value = 0.5
block = '1 3'
[]
[porosity_2]
type = ConstantIC
variable = porosity
value = 0.1
block = 2
[]
[hsrc]
type = ConstantIC
variable = hsrc
value = 100
block = 1
[]
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
porous_medium_treatment = true
add_energy_equation = true
density = 'rho'
dynamic_viscosity = 'mu'
thermal_conductivity = 'k'
specific_heat = 'cp'
porosity = 'porosity'
# Reference file sets effective_conductivity by default that way
# so the conductivity is multiplied by the porosity in the kernel
effective_conductivity = false
initial_velocity = '${u_inlet} 1e-6 0'
initial_pressure = ${p_outlet}
initial_temperature = ${T_inlet}
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '${u_inlet} 0'
energy_inlet_types = 'fixed-temperature'
energy_inlet_function = '${T_inlet}'
wall_boundaries = 'top bottom'
momentum_wall_types = 'noslip symmetry'
energy_wall_types = 'heatflux heatflux'
energy_wall_function = '0 0'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '${p_outlet}'
mass_advection_interpolation = 'upwind'
momentum_advection_interpolation = 'upwind'
energy_advection_interpolation = 'upwind'
external_heat_source = hsrc
[]
[]
[FunctorMaterials]
[constants]
type = ADGenericFunctorMaterial
prop_names = 'cp rho mu k'
prop_values = '${cp} ${rho} ${mu} ${k}'
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
nl_abs_tol = 1e-8
end_time = 1000
dt = 10
num_steps = 5
[]
# Some basic Postprocessors to examine the solution
[Postprocessors]
[Qdot]
type = ElementIntegralVariablePostprocessor
variable = hsrc
[]
[mass-flux-weighted-T-out]
type = MassFluxWeightedFlowRate
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = T_fluid
density = rho
rhie_chow_user_object = 'pins_rhie_chow_interpolator'
boundary = 'right'
[]
[mass-flux-weighted-T-interior]
type = MassFluxWeightedFlowRate
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = T_fluid
density = rho
rhie_chow_user_object = 'pins_rhie_chow_interpolator'
boundary = 'interior'
[]
[mdot]
type = VolumetricFlowRate
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = rho
rhie_chow_user_object = 'pins_rhie_chow_interpolator'
boundary = 'right'
[]
[outlet-u]
type = SideAverageValue
variable = superficial_vel_x
boundary = 'right'
[]
[outlet-temp]
type = SideAverageValue
variable = T_fluid
boundary = 'right'
[]
[]
[Outputs]
csv = true
[]
(test/tests/auxkernels/volume_aux/element.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
ix = '2 1 1'
iy = '2 3'
[]
[]
[AuxVariables/volume]
order = CONSTANT
family = MONOMIAL
[]
[AuxKernels/volume_aux]
type = VolumeAux
variable = volume
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/postprocessors/pressure_drop/drop_insad.i)
[Mesh]
second_order = true
inactive = 'mesh internal_boundary_bot internal_boundary_top'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1'
dy = '1 1 1'
ix = '5'
iy = '5 5 5'
subdomain_id = '1
2
3'
[]
[internal_boundary_bot]
type = SideSetsBetweenSubdomainsGenerator
input = mesh
new_boundary = 'internal_bot'
primary_block = 1
paired_block = 2
[]
[internal_boundary_top]
type = SideSetsBetweenSubdomainsGenerator
input = internal_boundary_bot
new_boundary = 'internal_top'
primary_block = 2
paired_block = 3
[]
[diverging_mesh]
type = FileMeshGenerator
file = 'expansion_quad.e'
[]
[]
[Modules]
[IncompressibleNavierStokes]
equation_type = steady-state
# no slip BCs
velocity_boundary = 'bottom right left'
velocity_function = '0 1 0 0 0 0'
pressure_boundary = 'top'
pressure_function = '1'
density_name = rho
dynamic_viscosity_name = mu
integrate_p_by_parts = false
order = SECOND
[]
[]
[Materials]
[const]
type = GenericConstantMaterial
block = '1 2 3'
prop_names = 'rho mu'
prop_values = '1 1'
[]
[]
[FunctorMaterials]
[ADconst]
type = ADGenericFunctorMaterial
block = '1 2 3'
prop_names = 'rho_ad'
prop_values = '1'
[]
[vel_functor]
type = ADGenericVectorFunctorMaterial
prop_names = 'velocity'
prop_values = 'vel_x vel_y 0'
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-ksp_gmres_restart -pc_type -sub_pc_type -sub_pc_factor_levels'
petsc_options_value = '300 bjacobi ilu 4'
line_search = none
nl_rel_tol = 1e-12
nl_max_its = 6
l_tol = 1e-6
l_max_its = 300
[]
[Postprocessors]
[pdrop_total]
type = PressureDrop
pressure = p
upstream_boundary = 'bottom'
downstream_boundary = 'top'
boundary = 'top bottom'
[]
[pdrop_mid1]
type = PressureDrop
pressure = p
upstream_boundary = 'bottom'
downstream_boundary = 'internal_bot'
boundary = 'bottom internal_bot'
[]
[pdrop_mid2]
type = PressureDrop
pressure = p
upstream_boundary = 'internal_bot'
downstream_boundary = 'internal_top'
boundary = 'internal_top internal_bot'
[]
[pdrop_mid3]
type = PressureDrop
pressure = p
upstream_boundary = 'internal_top'
downstream_boundary = 'top'
boundary = 'top internal_top'
[]
[sum_drops]
type = ParsedPostprocessor
expression = 'pdrop_mid1 + pdrop_mid2 + pdrop_mid3'
pp_names = 'pdrop_mid1 pdrop_mid2 pdrop_mid3'
[]
[p_upstream]
type = SideAverageValue
variable = p
boundary = 'bottom'
[]
[p_downstream]
type = SideAverageValue
variable = p
boundary = 'top'
[]
[]
[Outputs]
exodus = false
csv = true
[]
(test/tests/physics/errors/base_fv.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 2'
dy = '2 1'
ix = '2 3'
iy = '3 2'
[]
[]
[Physics]
[Diffusion]
[FiniteVolume]
[diff]
source_functor = 2
transient = true
[]
[]
[]
[]
[Executioner]
type = Steady
[]
(modules/navier_stokes/test/tests/finite_volume/pins/block-restriction/with-empty-block.i)
mu = 1.2
rho_fluid = 0.2
k_fluid = 1.1
cp_fluid = 2.3
T_cold = 310
alpha = 1e-3
Q = 200
[Problem]
kernel_coverage_check = false
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
velocity_interp_method = 'rc'
advected_interp_method = 'average'
[]
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.3683 0.0127'
dy = '0.0127 0.2292 2.5146 0.2292 0.0127'
ix = '2 1'
iy = '1 2 3 2 1'
subdomain_id = '0 0
1 0
2 0
1 0
0 0
'
[]
[rename_block_name]
type = RenameBlockGenerator
input = cmg
old_block = '0 1 2'
new_block = 'wall_block spacer_block porous_block'
[]
[solid_fluid_interface_1]
type = SideSetsBetweenSubdomainsGenerator
input = rename_block_name
primary_block = porous_block
paired_block = wall_block
new_boundary = 'solid_fluid_interface'
[]
[solid_fluid_interface_2]
type = SideSetsBetweenSubdomainsGenerator
input = solid_fluid_interface_1
primary_block = spacer_block
paired_block = wall_block
new_boundary = 'solid_fluid_interface'
[]
[wall_left_boundary_1]
type = SideSetsFromBoundingBoxGenerator
input = solid_fluid_interface_2
bottom_left = '0 0 0'
top_right = '0.1 0.0127 0'
included_boundaries = left
boundary_new = wall_left
[]
[wall_left_boundary_2]
type = SideSetsFromBoundingBoxGenerator
input = wall_left_boundary_1
bottom_left = '0 2.9857 0'
top_right = '0.1 2.9984 0'
included_boundaries = left
boundary_new = wall_left
[]
[fluid_left_boundary]
type = SideSetsFromBoundingBoxGenerator
input = wall_left_boundary_2
bottom_left = '0 0.0127 0'
top_right = '0.1 2.9857 0'
included_boundaries = left
boundary_new = fluid_left
[]
coord_type = RZ
rz_coord_axis = Y
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = superficial_vel_x
v = superficial_vel_y
pressure = pressure
porosity = porosity
block = 'spacer_block porous_block'
[]
[]
[Variables]
[superficial_vel_x]
type = PINSFVSuperficialVelocityVariable
block = 'spacer_block porous_block'
[]
[superficial_vel_y]
type = PINSFVSuperficialVelocityVariable
block = 'spacer_block porous_block'
[]
[pressure]
type = INSFVPressureVariable
block = 'spacer_block porous_block'
[]
[T_fluid]
type = INSFVEnergyVariable
block = 'spacer_block porous_block'
[]
[lambda]
family = SCALAR
order = FIRST
block = 'spacer_block porous_block'
[]
[]
[AuxVariables]
[porosity]
type = MooseVariableFVReal
block = 'spacer_block porous_block'
[]
[]
[FVKernels]
# No mass time derivative because imcompressible (derivative = 0)
[mass]
type = PINSFVMassAdvection
variable = pressure
rho = ${rho_fluid}
block = 'spacer_block porous_block'
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
block = 'spacer_block porous_block'
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_x
rho = ${rho_fluid}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_x
mu = ${mu}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_x
momentum_component = 'x'
pressure = pressure
block = 'spacer_block porous_block'
porosity = porosity
[]
[u_buoyancy]
type = PINSFVMomentumBoussinesq
variable = superficial_vel_x
T_fluid = T_fluid
gravity = '0 -1 0'
rho = ${rho_fluid}
ref_temperature = ${T_cold}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[u_gravity]
type = PINSFVMomentumGravity
variable = superficial_vel_x
gravity = '0 -1 0'
rho = ${rho_fluid}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_y
rho = ${rho_fluid}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_y
mu = ${mu}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_y
momentum_component = 'y'
pressure = pressure
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_buoyancy]
type = PINSFVMomentumBoussinesq
variable = superficial_vel_y
T_fluid = T_fluid
gravity = '0 -1 0'
rho = ${rho_fluid}
ref_temperature = ${T_cold}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_gravity]
type = PINSFVMomentumGravity
variable = superficial_vel_y
gravity = '0 -1 0'
rho = ${rho_fluid}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[temp_conduction]
type = PINSFVEnergyDiffusion
k = 'k_fluid'
variable = T_fluid
block = 'spacer_block porous_block'
porosity = porosity
[]
[temp_advection]
type = PINSFVEnergyAdvection
variable = T_fluid
block = 'spacer_block porous_block'
[]
[heat_source]
type = FVBodyForce
variable = T_fluid
function = ${Q}
block = 'porous_block'
[]
[]
[FVBCs]
[no_slip_x]
type = INSFVNoSlipWallBC
variable = superficial_vel_x
boundary = 'solid_fluid_interface'
function = 0
[]
[no_slip_y]
type = INSFVNoSlipWallBC
variable = superficial_vel_y
boundary = 'solid_fluid_interface'
function = 0
[]
[reflective_x]
type = INSFVSymmetryVelocityBC
variable = superficial_vel_x
boundary = fluid_left
momentum_component = 'x'
mu = ${mu}
u = superficial_vel_x
v = superficial_vel_y
[]
[reflective_y]
type = INSFVSymmetryVelocityBC
variable = superficial_vel_y
boundary = fluid_left
momentum_component = 'y'
mu = ${mu}
u = superficial_vel_x
v = superficial_vel_y
[]
[reflective_p]
type = INSFVSymmetryPressureBC
boundary = fluid_left
variable = pressure
[]
[T_reflective]
type = FVNeumannBC
variable = T_fluid
boundary = fluid_left
value = 0
[]
[T_cold_boundary]
type = FVDirichletBC
variable = T_fluid
boundary = solid_fluid_interface
value = ${T_cold}
[]
[]
[ICs]
[porosity_spacer]
type = ConstantIC
variable = porosity
block = spacer_block
value = 1.0
[]
[porosity_fuel]
type = ConstantIC
variable = porosity
block = porous_block
value = 0.1
[]
[temp_ic_fluid]
type = ConstantIC
variable = T_fluid
value = ${T_cold}
block = 'spacer_block porous_block'
[]
[superficial_vel_x]
type = ConstantIC
variable = superficial_vel_x
value = 1E-5
block = 'spacer_block porous_block'
[]
[superficial_vel_y]
type = ConstantIC
variable = superficial_vel_y
value = 1E-5
block = 'spacer_block porous_block'
[]
[]
[FunctorMaterials]
[functor_constants_fluid]
type = ADGenericFunctorMaterial
prop_names = 'alpha_b cp k_fluid'
prop_values = '${alpha} ${cp_fluid} ${k_fluid}'
block = 'spacer_block porous_block'
[]
[density_fluid]
type = INSFVEnthalpyFunctorMaterial
temperature = 'T_fluid'
rho = ${rho_fluid}
block = 'spacer_block porous_block'
[]
[functor_constants_steel]
# We need this to avoid errors for materials not existing on every block
type = ADGenericFunctorMaterial
prop_names = 'dummy'
prop_values = 0.0
block = wall_block
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = none
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
[]
[Outputs]
exodus = true
[]
[Debug]
show_var_residual_norms = true
[]
(modules/optimization/examples/diffusion_reaction/parameter_mesh.i)
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.5 0.5'
dy = '0.5 0.5'
ix = '1 1'
iy = '1 1'
subdomain_id = '0 0
0 1'
[]
parallel_type = REPLICATED
[]
[Adaptivity]
initial_steps = 2
initial_marker = box
[Markers/box]
type = BoxMarker
bottom_left = '0.75 0.75 0'
top_right = '1 1 0'
inside = REFINE
outside = DO_NOTHING
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
execute_on = TIMESTEP_END
[]
(modules/navier_stokes/test/tests/finite_volume/pins/physics/diffusion_interfaces/three_zones-physics.i)
D0 = 1
D1 = 2
D2 = 6
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 1
dx = '1.5 3 2'
ix = '3 3 4'
subdomain_id = '0 1 2'
[]
[]
[Physics]
[NavierStokes]
[SolidHeatTransfer]
[solid]
block = '0 1 2'
thermal_conductivity_solid = '${D0} ${D1} ${D2}'
thermal_conductivity_blocks = '0; 1; 2'
fixed_temperature_boundaries = 'right'
boundary_temperatures = '1'
external_heat_source = '1'
external_heat_source_blocks = '1'
# not needed for steady state
use_external_enthalpy_material = true
# to match reference results
initial_temperature = 0
porosity = 1
verbose = true
[]
[]
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
[VectorPostprocessors]
[all_values]
type = ElementValueSampler
variable = T_solid
sort_by = 'x'
[]
[]
(test/tests/times/reporter_times.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Times]
[input]
type = InputTimes
times = '0.2 0.4 0.9'
outputs = none
[]
[input_2]
type = InputTimes
times = '0.2 0.5 0.6'
outputs = none
[]
[reporter]
type = ReporterTimes
reporters = 'input/times input_2/times'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/exceptions/bad-restriction.i)
mu=1.1
rho=1.1
advected_interp_method='average'
velocity_interp_method='rc'
restricted_blocks = '1'
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
block = '1 2'
pressure = pressure
[]
[]
[Mesh]
parallel_type = 'replicated'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1'
ix = '7 7'
iy = 10
subdomain_id = '1 2'
[]
[mid]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 2
input = mesh
new_boundary = 'middle'
[]
[break_top]
type = PatchSidesetGenerator
boundary = 'top'
n_patches = 2
input = mid
[]
[break_bottom]
type = PatchSidesetGenerator
boundary = 'bottom'
n_patches = 2
input = break_top
[]
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 1
block = ${restricted_blocks}
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1
block = ${restricted_blocks}
[]
[pressure]
type = INSFVPressureVariable
block = ${restricted_blocks}
[]
[temperature]
type = INSFVEnergyVariable
block = ${restricted_blocks}
[]
[scalar]
type = INSFVScalarFieldVariable
block = ${restricted_blocks}
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[energy_advection]
type = INSFVEnergyAdvection
variable = temperature
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[energy_diffusion]
type = FVDiffusion
coeff = 1.1
variable = temperature
[]
[energy_loss]
type = FVBodyForce
variable = temperature
value = -0.1
[]
[scalar_advection]
type = INSFVScalarFieldAdvection
variable = scalar
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[scalar_diffusion]
type = FVDiffusion
coeff = 1
variable = scalar
[]
[scalar_src]
type = FVBodyForce
variable = scalar
value = 0.1
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = 0
[]
[top-wall-u]
type = INSFVNoSlipWallBC
boundary = 'top_0'
variable = u
function = 0
[]
[top-wall-v]
type = INSFVNoSlipWallBC
boundary = 'top_0'
variable = v
function = 0
[]
[bottom-wall-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom_0'
variable = u
mu = ${mu}
u = u
v = v
momentum_component = 'x'
[]
[bottom-wall-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom_0'
variable = v
mu = ${mu}
u = u
v = v
momentum_component = 'y'
[]
[bottom-wall-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom_0'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'middle'
variable = pressure
function = 0
[]
[inlet_t]
type = FVDirichletBC
boundary = 'left'
variable = temperature
value = 1
[]
[outlet_scalar]
type = FVDirichletBC
boundary = 'middle'
variable = scalar
value = 1
[]
[]
[FunctorMaterials]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'temperature'
rho = ${rho}
block = ${restricted_blocks}
[]
[const]
type = ADGenericFunctorMaterial
prop_names = 'cp'
prop_values = '2'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm 100 lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-12
[]
(test/tests/meshdivisions/spherical_division.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
[]
# To keep VPP output consistently ordered
allow_renumbering = false
[]
[MeshDivisions]
active = 'spherical_div'
[spherical_div]
type = SphericalGridDivision
center = '1 1 0'
# Number of bins
n_radial = 3
# Extent of the sphere
r_min = 0.5
r_max = 4
[]
[spherical_div_positions]
type = SphericalGridDivision
center_positions = center
# Number of bins
n_radial = 3
# Extent of the sphere
r_min = 0.5
r_max = 4
[]
[]
[Positions]
[center]
type = InputPositions
positions = '1 1 0'
[]
[]
[AuxVariables]
[div]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[mesh_div]
type = MeshDivisionAux
variable = div
mesh_division = 'spherical_div'
[]
[]
[VectorPostprocessors]
[div_out]
type = ElementValueSampler
variable = 'div'
sort_by = 'id'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(test/tests/meshdivisions/cartesian_division.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
[]
# To keep VPP output consistently ordered
allow_renumbering = false
[]
[MeshDivisions]
active = 'cartesian_div'
[cartesian_div]
type = CartesianGridDivision
bottom_left = '0.1 0.5 0.5'
top_right = '5 2 1'
nx = '3'
ny = '4'
nz = '1'
[]
[cartesian_div_center]
type = CartesianGridDivision
center = '2.55 1.25 0.75'
widths = '4.9 1.5 0.5'
nx = '3'
ny = '4'
nz = '1'
[]
[cartesian_div_center_pos]
type = CartesianGridDivision
center_positions = 'center'
widths = '4.9 1.5 0.5'
nx = '3'
ny = '4'
nz = '1'
[]
[]
[Positions]
[center]
type = InputPositions
positions = '2.55 1.25 0.75'
[]
[]
[AuxVariables]
[div]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[mesh_div]
type = MeshDivisionAux
variable = div
mesh_division = 'cartesian_div'
[]
[]
[VectorPostprocessors]
[div_out]
type = ElementValueSampler
variable = 'div'
sort_by = 'id'
outputs = csv
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/3d/3d-segregated-energy.i)
mu = 0.002
rho = 1.0
k = 5.0
cp = 700
alpha = 150
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 3
dx = '0.2'
dy = '0.2'
dz = '0.8'
ix = '3'
iy = '3'
iz = '12'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system w_system pressure_system energy_system'
previous_nl_solution_required = true
error_on_jacobian_nonzero_reallocation = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
w = vel_z
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[vel_z]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = w_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[T_fluid]
type = INSFVEnergyVariable
initial_condition = 300
solver_sys = energy_system
two_term_boundary_expansion = false
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[w_advection]
type = INSFVMomentumAdvection
variable = vel_z
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[w_viscosity]
type = INSFVMomentumDiffusion
variable = vel_z
mu = ${mu}
momentum_component = 'z'
[]
[w_pressure]
type = INSFVMomentumPressure
variable = vel_z
momentum_component = 'z'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[energy_advection]
type = INSFVEnergyAdvection
variable = T_fluid
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[energy_diffusion]
type = FVDiffusion
coeff = ${k}
variable = T_fluid
[]
[ambient_convection]
type = NSFVEnergyAmbientConvection
variable = T_fluid
T_ambient = 350
alpha = 'alpha'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_x
function = '0'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_y
function = '0'
[]
[inlet-w]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_z
function = '1.1'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom '
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom'
variable = vel_y
function = 0.0
[]
[walls-w]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom'
variable = vel_z
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'front'
variable = pressure
function = 1.4
[]
[zero-grad-pressure]
type = FVFunctionNeumannBC
variable = pressure
boundary = 'back left right top bottom'
function = 0.0
[]
[inlet_t]
type = FVDirichletBC
boundary = 'back'
variable = T_fluid
value = 300
[]
[]
[FunctorMaterials]
[const_functor]
type = ADGenericFunctorMaterial
prop_names = 'cp alpha'
prop_values = '${cp} ${alpha}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
rho = ${rho}
temperature = 'T_fluid'
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
# petsc_options_iname = '-pc_type -pc_hypre_type -pc_factor_shift_type'
# petsc_options_value = 'hypre boomeramg NONZERO'
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system w_system'
pressure_system = 'pressure_system'
energy_system = 'energy_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
energy_equation_relaxation = 0.95
num_iterations = 150
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
energy_absolute_tolerance = 1e-13
print_fields = false
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
energy_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
energy_l_tol = 0
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/2d-rc-epsjump.i)
mu=1.1
rho=1.1
advected_interp_method='upwind'
velocity_interp_method='rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '0.5'
ix = '30 30'
iy = '20'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
porosity = porosity
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
v = v
porosity = porosity
pressure = pressure
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[v]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[porosity]
type = MooseVariableFVReal
[]
[]
[ICs]
inactive = 'porosity_continuous'
[porosity_1]
type = ConstantIC
variable = porosity
block = 1
value = 1
[]
[porosity_2]
type = ConstantIC
variable = porosity
block = 2
value = 0.5
[]
[porosity_continuous]
type = FunctionIC
variable = porosity
block = '1 2'
function = smooth_jump
[]
[]
[Functions]
[smooth_jump]
type = ParsedFunction
expression = '1 - 0.5 * 1 / (1 + exp(-30*(x-1)))'
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
pressure = pressure
momentum_component = 'x'
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = v
pressure = pressure
momentum_component = 'y'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = 0
[]
[walls-u]
type = INSFVNaturalFreeSlipBC
boundary = 'top bottom'
variable = u
momentum_component = 'x'
[]
[walls-v]
type = INSFVNaturalFreeSlipBC
boundary = 'top bottom'
variable = v
momentum_component = 'y'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 0.4
[]
[]
[FunctorMaterials]
inactive = 'smooth'
[jump]
type = ADPiecewiseByBlockFunctorMaterial
prop_name = 'porosity'
subdomain_to_prop_value = '1 1
2 0.5'
[]
[smooth]
type = ADGenericFunctionFunctorMaterial
prop_names = 'porosity'
prop_values = 'smooth_jump'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-10
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = false
[]
(modules/heat_transfer/test/tests/physics/test_fv_convective_bc.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = 10
dy = 10
[]
[]
[Physics]
[HeatConduction]
[FiniteVolume]
[h1]
temperature_name = 'T'
heat_source_functor = '100'
heat_source_blocks = '0'
initial_temperature = 0
# Thermal properties
thermal_conductivity_functor = 'k0'
specific_heat = 5
density = 10
# Boundary conditions
fixed_convection_boundaries = 'left right'
fixed_convection_T_fluid = '0 500'
fixed_convection_htc = '1 2'
insulated_boundaries = 'top'
fixed_temperature_boundaries = 'bottom'
boundary_temperatures = '300'
[]
[]
[]
[]
[Executioner]
type = Transient
num_steps = 1
verbose = true
[]
[FunctorMaterials]
[mat_k]
type = ADGenericFunctorMaterial
prop_names = 'k0'
prop_values = '1'
[]
[]
[Outputs]
exodus = true
[]
(test/tests/auxkernels/volume_aux/side.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1'
dy = '0.5 1.2'
ix = '1'
iy = '4 6'
[]
[]
[AuxVariables/volume]
order = CONSTANT
family = MONOMIAL
[]
[AuxKernels/volume_aux]
type = VolumeAux
variable = volume
boundary = right
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/meshdivisions/nearest_position_division.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
[]
# To keep VPP output consistently ordered
allow_renumbering = false
[]
[Positions]
[input]
type = InputPositions
# avoid indetermination
positions = '0.0001 0 0
1 0 0
1.46543 2.1233 3.1211'
[]
[]
[MeshDivisions]
[nearest_pos_div]
type = NearestPositionsDivision
positions = input
[]
[]
[Functions]
[xf]
type = ParsedFunction
expression = 'x'
[]
[]
[AuxVariables]
[div]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[mesh_div]
type = MeshDivisionAux
variable = div
mesh_division = 'nearest_pos_div'
[]
[]
[VectorPostprocessors]
[div_out]
type = ElementValueSampler
variable = 'div'
sort_by = 'id'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/heat_transfer/test/tests/physics/test_cg_convective_bc.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = 10
dy = 10
[]
[]
[Physics]
[HeatConduction]
[FiniteElement]
[h1]
temperature_name = 'T'
heat_source_functor = '100'
heat_source_blocks = '0'
initial_temperature = 0
# Thermal properties
thermal_conductivity = 'k0'
# Boundary conditions
fixed_convection_boundaries = 'left right'
fixed_convection_T_fluid = '0 500'
fixed_convection_htc = '1 2'
insulated_boundaries = 'top'
fixed_temperature_boundaries = 'bottom'
boundary_temperatures = '300'
[]
[]
[]
[]
[Executioner]
type = Steady
verbose = true
[]
[Materials]
[mat_k]
type = ADGenericConstantMaterial
prop_names = 'k0'
prop_values = '1'
[]
[]
[Outputs]
exodus = true
[]
(test/tests/positions/transformed_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
[input]
type = InputPositions
positions = '0 0 0
1 0 0
0 1 0'
outputs = none
[]
[scale]
type = TransformedPositions
base_positions = 'input'
vector_value = '1 2 3'
transform = 'SCALE'
[]
[rotate]
type = TransformedPositions
base_positions = 'input'
vector_value = '0 0 90'
transform = 'ROTATE_XYZ'
[]
[translate]
type = TransformedPositions
base_positions = 'input'
vector_value = '10 0 0'
transform = 'TRANSLATE'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(test/tests/postprocessors/side_integral/side_integral_functor.i)
[Mesh]
inactive = 'refine'
# U-shaped domains to have internal boundaries in
# a variety of directions
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1'
dy = '3 1'
ix = '4 5 3'
iy = '12 4'
subdomain_id = '1 2 1
1 1 1'
[]
[internal_boundary_dir1]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 1
paired_block = 2
new_boundary = 'inside_1'
[]
[internal_boundary_dir2]
type = SideSetsBetweenSubdomainsGenerator
input = internal_boundary_dir1
primary_block = 2
paired_block = 1
new_boundary = 'inside_2'
[]
[refine]
type = RefineBlockGenerator
input = internal_boundary_dir2
block = '1 2'
refinement = '2 1'
[]
[]
[Variables]
[u]
type = MooseVariableFVReal
block = 1
[]
[]
[AuxVariables]
[v1]
type = MooseVariableFVReal
block = 1
[FVInitialCondition]
type = FVFunctionIC
function = 'x + y'
[]
[]
[v2]
type = MooseVariableFVReal
block = 2
[FVInitialCondition]
type = FVFunctionIC
function = '2*x*x - y'
[]
[]
[]
[Functions]
[f1]
type = ParsedFunction
expression = 'exp(x - y)'
[]
[]
[Materials]
[m1]
type = ADGenericFunctorMaterial
prop_names = 'm1'
prop_values = 'f1'
[]
[m2]
type = ADPiecewiseByBlockFunctorMaterial
prop_name = 'm2'
subdomain_to_prop_value = '1 12
2 4'
[]
[]
[FVKernels]
[diff]
type = FVDiffusion
variable = u
coeff = '1'
[]
[]
[FVBCs]
[left]
type = FVDirichletBC
variable = u
boundary = 3
value = 0
[]
[right]
type = FVDirichletBC
variable = u
boundary = 1
value = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Postprocessors]
# Mesh external boundaries integration
[ext_u]
type = ADSideIntegralFunctorPostprocessor
boundary = 'left top right'
functor = u
restrict_to_functors_domain = true
[]
[ext_v1]
type = ADSideIntegralFunctorPostprocessor
boundary = 'left right'
functor = v1
[]
[ext_v2]
type = ADSideIntegralFunctorPostprocessor
boundary = 'top'
functor = v2
restrict_to_functors_domain = true
[]
[ext_f1]
type = ADSideIntegralFunctorPostprocessor
boundary = 'left top right'
functor = f1
prefactor = f1
[]
[ext_m1]
type = ADSideIntegralFunctorPostprocessor
boundary = 'left top right'
functor = m1
restrict_to_functors_domain = true
[]
[ext_m2]
type = ADSideIntegralFunctorPostprocessor
boundary = 'left top right'
functor = m2
restrict_to_functors_domain = true
[]
# Internal to the mesh, but a side to the variables
# With orientation of normal 1->2
[int_s1_u]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_1
functor = u
[]
[int_s1_v1]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_1
functor = v1
[]
[int_s1_f1]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_1
functor = f1
[]
[int_s1_m1]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_1
functor = m1
[]
[int_s1_m2]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_1
functor = m2
[]
# With orientation of normal 2->1
[int_s2_v2]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_2
functor = v2
[]
[int_s2_f1]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_2
functor = f1
[]
[int_s2_m1]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_2
functor = m1
[]
[int_s2_m2]
type = ADSideIntegralFunctorPostprocessor
boundary = inside_2
functor = m2
[]
[]
[Outputs]
csv = true
exodus = true
[]
[Problem]
kernel_coverage_check = false
[]
(modules/scalar_transport/test/tests/physics/restart/test_cg.i)
[Mesh]
active = 'cmg'
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = 10
dy = 10
[]
[fmg_restart]
type = FileMeshGenerator
file = user_ics.e
use_for_exodus_restart = true
[]
[]
[Debug]
show_actions=true
[]
[Physics]
[MultiSpeciesDiffusion]
[ContinuousGalerkin]
[diff]
# A and C have the same equation, on purpose
species = 'A B C'
diffusivity_matprops = '1 1 1'
source_functors = '0 2 0'
source_coefs = '1 2 1'
[]
[]
[]
[]
[Executioner]
type = Transient
num_steps = 1
verbose = true
[]
[Problem]
solve = false
[]
[Outputs]
# Used to set up a restart from checkpoint
checkpoint = true
# Used to set up a restart from exodus file
[exodus]
type = Exodus
execute_on = TIMESTEP_END
[]
# Used to check results
csv = true
execute_on = INITIAL
[]
[Postprocessors]
[min_A]
type = ElementExtremeValue
variable = 'A'
value_type = 'min'
execute_on = 'INITIAL'
[]
[max_A]
type = ElementExtremeValue
variable = 'A'
value_type = 'max'
execute_on = 'INITIAL'
[]
[min_B]
type = ElementExtremeValue
variable = 'B'
value_type = 'min'
execute_on = 'INITIAL'
[]
[max_B]
type = ElementExtremeValue
variable = 'B'
value_type = 'max'
execute_on = 'INITIAL'
[]
[min_C]
type = ElementExtremeValue
variable = 'C'
value_type = 'min'
execute_on = 'INITIAL'
[]
[max_C]
type = ElementExtremeValue
variable = 'C'
value_type = 'max'
execute_on = 'INITIAL'
[]
[]
(modules/heat_transfer/test/tests/gray_lambert_radiator/coupled_heat_conduction.i)
[Problem]
kernel_coverage_check = false
[]
[Mesh]
type = MeshGeneratorMesh
[./cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1'
ix = '2 2 2'
dy = '5'
iy = '10'
subdomain_id = '1 2 3'
[../]
[./break_sides]
type = BreakBoundaryOnSubdomainGenerator
boundaries = 'bottom top'
input = cartesian
[../]
[./left_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 2
new_boundary = left_interior
input = break_sides
[../]
[./right_interior]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 3
paired_block = 2
new_boundary = right_interior
input = left_interior
[../]
[./rename]
type = RenameBlockGenerator
input = right_interior
old_block = '1 2 3'
new_block = '1 4 3'
[../]
[]
[Variables]
[./temperature]
initial_condition = 300
block = '1 3'
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temperature
diffusion_coefficient = 1
block = '1 3'
[../]
[]
[UserObjects]
[./cavity_radiation]
type = ConstantViewFactorSurfaceRadiation
boundary = 'left_interior right_interior bottom_to_2 top_to_2'
temperature = temperature
emissivity = '0.8 0.8 0.8 0.8'
adiabatic_boundary = 'bottom_to_2 top_to_2'
# these view factors are made up to exactly balance energy
# transfer through the cavity
view_factors = '0 0.8 0.1 0.1;
0.8 0 0.1 0.1;
0.45 0.45 0 0.1;
0.45 0.45 0.1 0'
execute_on = 'INITIAL LINEAR TIMESTEP_END'
[../]
[]
[BCs]
[./bottom_left]
type = DirichletBC
preset = false
variable = temperature
boundary = bottom_to_1
value = 1500
[../]
[./top_right]
type = DirichletBC
preset = false
variable = temperature
boundary = top_to_3
value = 300
[../]
[./radiation]
type = GrayLambertNeumannBC
variable = temperature
reconstruct_emission = false
surface_radiation_object_name = cavity_radiation
boundary = 'left_interior right_interior'
[../]
[]
[Postprocessors]
[./qdot_left]
type = GrayLambertSurfaceRadiationPP
boundary = left_interior
surface_radiation_object_name = cavity_radiation
return_type = HEAT_FLUX_DENSITY
[../]
[./qdot_right]
type = GrayLambertSurfaceRadiationPP
boundary = right_interior
surface_radiation_object_name = cavity_radiation
return_type = HEAT_FLUX_DENSITY
[../]
[./qdot_top]
type = GrayLambertSurfaceRadiationPP
boundary = top_to_2
surface_radiation_object_name = cavity_radiation
return_type = HEAT_FLUX_DENSITY
[../]
[./qdot_bottom]
type = GrayLambertSurfaceRadiationPP
boundary = bottom_to_2
surface_radiation_object_name = cavity_radiation
return_type = HEAT_FLUX_DENSITY
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/positions/file_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
[file]
type = FilePositions
files = '../multiapps/positions_from_file/positions.txt'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/materials/flow_diode/transient_operation.i)
# Horizontal H junction with flow in different directions in the two branches
# One of the branches has a diode against the direction of the flow that can
# be triggered using the Controls
# There are 3 different strategies available for the diode blocking the flow
# - based on a time trigger
# - based on a pressure drop (here chosen across the diode)
# - based on a mass flow rate (here chosen through the diode)
mu = 0.1
rho = 10
nx = 10
ny = 5
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 0.3 1'
dy = '0.5 0.2 0.5'
ix = '${nx} ${fparse nx/2} ${nx}'
iy = '${ny} ${ny} ${ny}'
subdomain_id = '1 1 1
2 1 2
3 4 1'
[]
[add_walls]
type = SideSetsBetweenSubdomainsGenerator
input = 'cmg'
primary_block = '1 3 4'
paired_block = '2'
new_boundary = 'walls'
[]
[remove_wall_blocks]
type = BlockDeletionGenerator
input = add_walls
block = 2
[]
# Add inlets and outlets
[top_left]
type = ParsedGenerateSideset
input = remove_wall_blocks
combinatorial_geometry = 'x<0.001 & y>0.6'
new_sideset_name = top_left
[]
[bottom_left]
type = ParsedGenerateSideset
input = top_left
combinatorial_geometry = 'x<0.001 & y<0.6'
new_sideset_name = bottom_left
[]
[top_right]
type = ParsedGenerateSideset
input = bottom_left
combinatorial_geometry = 'x>2.299 & y>0.6'
new_sideset_name = top_right
[]
[bottom_right]
type = ParsedGenerateSideset
input = top_right
combinatorial_geometry = 'x>2.299 & y<0.6'
new_sideset_name = bottom_right
[]
# Extra surfaces
[diode_inlet]
type = SideSetsBetweenSubdomainsGenerator
input = bottom_right
primary_block = 4
paired_block = 3
new_boundary = 'diode_inlet'
[]
[mid_section]
type = SideSetsBetweenSubdomainsGenerator
input = diode_inlet
primary_block = 4
paired_block = 1
new_boundary = 'mid_connection'
[]
[reduce_blocks]
type = RenameBlockGenerator
input = 'mid_section'
old_block = '4 3 1'
new_block = '1 diode fluid'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'pins_rhie_chow_interpolator'
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
porous_medium_treatment = true
density = ${rho}
dynamic_viscosity = ${mu}
initial_velocity = '1e-6 1e-6 0'
initial_pressure = 0.0
inlet_boundaries = 'bottom_left top_right'
momentum_inlet_types = 'fixed-velocity fixed-velocity'
momentum_inlet_function = '1 0; -1 0'
wall_boundaries = 'top bottom walls'
momentum_wall_types = 'noslip noslip noslip'
outlet_boundaries = 'bottom_right top_left'
momentum_outlet_types = 'fixed-pressure fixed-pressure'
pressure_function = '1 1'
friction_blocks = 'fluid; diode'
friction_types = 'darcy forchheimer; darcy forchheimer'
standard_friction_formulation = true
# Base friction
# friction_coeffs = 'Darcy Forchheimer; Darcy Forchheimer'
# Combined with diode
friction_coeffs = 'combined_linear combined_quadratic; combined_linear combined_quadratic'
# Porosity jump treatment
# Option 1: diffusion correction
use_friction_correction = true
consistent_scaling = 10
# Option 2: bernouilli jump
# porosity_interface_pressure_treatment = bernoulli
mass_advection_interpolation = 'average'
momentum_advection_interpolation = 'average'
[]
[]
[FunctorMaterials]
[porosity]
type = ADGenericFunctorMaterial
prop_names = 'porosity'
prop_values = '0.5'
[]
[base_friction]
type = ADGenericVectorFunctorMaterial
prop_names = 'Darcy Forchheimer'
prop_values = '220 240 260 0 0 0'
[]
# Material definitions needed for the diode
[diode]
type = NSFVFrictionFlowDiodeFunctorMaterial
# Friction only in X direction
direction = '-1 0 0'
additional_linear_resistance = '20000 0 0'
additional_quadratic_resistance = '0 0 0'
base_linear_friction_coefs = 'Darcy'
base_quadratic_friction_coefs = 'Forchheimer'
sum_linear_friction_name = 'diode_linear'
sum_quadratic_friction_name = 'diode_quad'
block = 'diode'
turn_on_diode = false
[]
[combine_linear_friction]
type = ADPiecewiseByBlockVectorFunctorMaterial
prop_name = 'combined_linear'
subdomain_to_prop_value = 'fluid Darcy
diode diode_linear'
[]
[combine_quadratic_friction]
type = ADPiecewiseByBlockVectorFunctorMaterial
prop_name = 'combined_quadratic'
subdomain_to_prop_value = 'fluid Forchheimer
diode diode_quad'
[]
# density is constant
[momentum]
type = ADGenericVectorFunctorMaterial
prop_names = 'momentum'
prop_values = 'superficial_vel_x superficial_vel_y 0'
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_shift_type -ksp_gmres_restart'
petsc_options_value = 'lu NONZERO 200'
line_search = 'none'
end_time = 0.2
dt = 0.015
nl_abs_tol = 1e-12
[]
[Controls]
active = 'pdrop_based'
# Case 1: Diode turns on at a certain time and blocks (adds friction) flow at a given time
[time_based]
type = BoolFunctionControl
function = time_function
parameter = 'FunctorMaterials/diode/turn_on_diode'
execute_on = timestep_begin
[]
# Case 2: Diode looks at pressure drop, reduces flow if positive pressure drop
# This will not oscillate as the diode increases the pressure drop
[pdrop_based]
type = BoolFunctionControl
function = pdrop_positive
parameter = 'FunctorMaterials/diode/turn_on_diode'
execute_on = timestep_begin
[]
# Case 3: Diode looks at flow direction & quantity, reduces flow if too much flow
# in a given direction
# This will oscillate (turn on/off on each step) if the action of turning the diode
# makes the amount of flow smaller than the threshold for turning on the diode
[flow_based]
type = BoolFunctionControl
function = velocity_big_enough
parameter = 'FunctorMaterials/diode/turn_on_diode'
execute_on = timestep_begin
[]
[]
[Functions]
# Functions are used to parse postprocessors and provide them to a BoolFunctionControl
[time_function]
type = ParsedFunction
expression = 'if(t<0.1, 0, 1)'
[]
[pdrop_positive]
type = ParsedFunction
expression = 'if(pdrop_diode>100, 1, 0)'
symbol_names = pdrop_diode
symbol_values = pdrop_diode
[]
[velocity_big_enough]
type = ParsedFunction
expression = 'if(flow_diode<-0.4, 1, 0)'
symbol_names = flow_diode
symbol_values = flow_diode
[]
[]
[Postprocessors]
# Analysis of the simulation
[mdot_top]
type = VolumetricFlowRate
boundary = 'top_right'
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = ${rho}
[]
[mdot_bottom]
type = VolumetricFlowRate
boundary = 'bottom_right'
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = ${rho}
[]
[mdot_middle]
type = VolumetricFlowRate
boundary = 'mid_connection'
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = ${rho}
[]
[pdrop_top_channel]
type = PressureDrop
upstream_boundary = 'top_left'
downstream_boundary = 'top_right'
weighting_functor = 'momentum'
boundary = 'top_left top_right'
pressure = pressure
[]
[pdrop_bottom_channel]
type = PressureDrop
upstream_boundary = 'bottom_left'
downstream_boundary = 'bottom_right'
weighting_functor = 'momentum'
boundary = 'bottom_left bottom_right'
pressure = pressure
[]
# Diode operation
[pdrop_diode]
type = PressureDrop
upstream_boundary = 'diode_inlet'
downstream_boundary = 'top_left'
weighting_functor = 'momentum'
boundary = 'diode_inlet top_left'
pressure = pressure
[]
[flow_diode]
type = VolumetricFlowRate
boundary = 'diode_inlet'
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = ${rho}
[]
[]
[Outputs]
exodus = true
csv = true
[]
(modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_no_action.i)
[Problem]
kernel_coverage_check = false
[]
[Mesh]
type = MeshGeneratorMesh
[./cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1.3 1.9'
ix = '3 3 3'
dy = '2 1.2 0.9'
iy = '3 3 3'
subdomain_id = '0 1 0
4 5 2
0 3 0'
[../]
[./inner_bottom]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 1
paired_block = 5
new_boundary = 'inner_bottom'
[../]
[./inner_left]
type = SideSetsBetweenSubdomainsGenerator
input = inner_bottom
primary_block = 4
paired_block = 5
new_boundary = 'inner_left'
[../]
[./inner_right]
type = SideSetsBetweenSubdomainsGenerator
input = inner_left
primary_block = 2
paired_block = 5
new_boundary = 'inner_right'
[../]
[./inner_top]
type = SideSetsBetweenSubdomainsGenerator
input = inner_right
primary_block = 3
paired_block = 5
new_boundary = 'inner_top'
[../]
[./rename]
type = RenameBlockGenerator
old_block = '1 2 3 4'
new_block = '0 0 0 0'
input = inner_top
[../]
[./split_inner_bottom]
type = PatchSidesetGenerator
boundary = 4
n_patches = 2
partitioner = centroid
centroid_partitioner_direction = x
input = rename
[../]
[./split_inner_left]
type = PatchSidesetGenerator
boundary = 5
n_patches = 2
partitioner = centroid
centroid_partitioner_direction = y
input = split_inner_bottom
[../]
[./split_inner_right]
type = PatchSidesetGenerator
boundary = 6
n_patches = 2
partitioner = centroid
centroid_partitioner_direction = y
input = split_inner_left
[../]
[./split_inner_top]
type = PatchSidesetGenerator
boundary = 7
n_patches = 3
partitioner = centroid
centroid_partitioner_direction = x
input = split_inner_right
[../]
[]
[Variables]
[./temperature]
block = 0
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temperature
block = 0
diffusion_coefficient = 5
[../]
[]
[UserObjects]
[./gray_lambert]
type = ViewFactorObjectSurfaceRadiation
boundary = 'inner_bottom_0 inner_bottom_1
inner_left_0 inner_left_1
inner_right_0 inner_right_1
inner_top_0 inner_top_1 inner_top_2'
fixed_temperature_boundary = 'inner_bottom_0 inner_bottom_1'
fixed_boundary_temperatures = '1200 1200'
adiabatic_boundary = 'inner_top_0 inner_top_1 inner_top_2'
emissivity = '0.9 0.9
0.8 0.8
0.4 0.4
1 1 1'
temperature = temperature
view_factor_object_name = view_factor
execute_on = 'LINEAR TIMESTEP_END'
[../]
[./view_factor]
type = UnobstructedPlanarViewFactor
boundary = 'inner_bottom_0 inner_bottom_1
inner_left_0 inner_left_1
inner_right_0 inner_right_1
inner_top_0 inner_top_1 inner_top_2'
normalize_view_factor = true
execute_on = 'INITIAL'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = temperature
boundary = left
value = 600
[../]
[./right]
type = DirichletBC
variable = temperature
boundary = right
value = 300
[../]
[./radiation]
type = GrayLambertNeumannBC
variable = temperature
surface_radiation_object_name = gray_lambert
boundary = 'inner_left_0 inner_left_1
inner_right_0 inner_right_1'
[../]
[]
[Postprocessors]
[./average_T_inner_right]
type = SideAverageValue
variable = temperature
boundary = inner_right
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/wcns/natural_convection/natural_circulation_pipe.i)
# natural convection through a pipe
# Reference solution in "reference_pipe_natural_convection.py"
# Reference mdot: 0.0792 kg/s
# this input
# iy mdot
# 10 8.302364e-02
# 20 8.111192e-02
# 40 8.007924e-02
# 80 7.954403e-02
# 160 7.927201e-02
# Convergence to the analytical result is observed
height = 10.0
gravity = 9.81
p0 = 1e5
molar_mass = 29.0e-3
T0 = 328
Ru = 8.3145
Ri = '${fparse Ru / molar_mass}'
density = '${fparse p0 / (Ri * T0)}'
head = '${fparse height * density * gravity}'
k = 25.68e-3
gamma = 1.4
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.1'
ix = '2'
dy = '${height}'
iy = '5'
[]
[]
[GlobalParams]
rhie_chow_user_object = pins_rhie_chow_interpolator
[]
[FluidProperties]
[air]
type = IdealGasFluidProperties
molar_mass = ${molar_mass}
k = ${k}
gamma = ${gamma}
[]
[]
[Modules]
[NavierStokesFV]
compressibility = 'weakly-compressible'
add_energy_equation = true
gravity = '0 -${gravity} 0'
density = rho
dynamic_viscosity = mu
specific_heat = cp
thermal_conductivity = k
initial_velocity = '0 1e-6 0'
initial_pressure = ${p0}
initial_temperature = ${T0}
inlet_boundaries = 'bottom'
momentum_inlet_types = 'fixed-pressure'
momentum_inlet_function = '${fparse p0 + head}'
energy_inlet_types = 'fixed-temperature'
energy_inlet_function = '${T0}'
energy_scaling = 1e-5
wall_boundaries = 'left right'
momentum_wall_types = 'slip slip'
energy_wall_types = 'heatflux heatflux'
energy_wall_function = '300 300'
outlet_boundaries = 'top'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '${fparse p0}'
momentum_advection_interpolation = 'upwind'
mass_advection_interpolation = 'upwind'
porous_medium_treatment = true
porosity = porosity
energy_advection_interpolation = 'average'
[]
[]
[FVKernels]
[u_friction]
type = PINSFVMomentumFriction
variable = superficial_vel_x
Darcy_name = linear_friction_coeff
momentum_component = 'x'
standard_friction_formulation = false
rho = rho
[]
[v_friction]
type = PINSFVMomentumFriction
variable = superficial_vel_y
Darcy_name = linear_friction_coeff
momentum_component = 'y'
standard_friction_formulation = false
rho = rho
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-6
end_time = 1e4
[TimeStepper]
type = IterationAdaptiveDT
dt = 0.1
growth_factor = 2
iteration_window = 2
optimal_iterations = 6
[]
[]
[Functions]
[mu_rampdown_fn]
type = PiecewiseLinear
x = '0 0.5 1 5 10 100 1000 2000'
y = '1000 1000 100 10 1 1 1 0'
[]
[]
[FunctorMaterials]
[fluid_props_to_mat_props]
type = GeneralFunctorFluidProps
fp = air
pressure = pressure
T_fluid = T_fluid
speed = speed
force_define_density = true
mu_rampdown = 'mu_rampdown_fn'
characteristic_length = 1
porosity = porosity
[]
[scalar_props]
type = ADGenericFunctorMaterial
prop_names = 'porosity loss_coeff'
prop_values = '1 1.3'
[]
[linear_friction]
type = ADParsedFunctorMaterial
property_name = 'linear_friction'
expression = 'loss_coeff * rho'
functor_names = 'loss_coeff rho'
[]
[linear_friction_coeff]
type = ADGenericVectorFunctorMaterial
prop_names = 'linear_friction_coeff'
prop_values = 'linear_friction linear_friction linear_friction'
[]
[]
[AuxVariables]
[rho_var]
type = MooseVariableFVReal
[]
[cp_var]
type = MooseVariableFVReal
[]
[rho_cp_T_fluid_var]
type = MooseVariableFVReal
[]
[]
[AuxKernels]
[rho_var_aux]
type = FunctorAux
variable = rho_var
functor = rho
[]
[cp_var_aux]
type = FunctorAux
variable = cp_var
functor = cp
[]
[rho_cp_T_fluid_var_aux]
type = ParsedAux
variable = rho_cp_T_fluid_var
coupled_variables = 'rho_var cp_var T_fluid'
expression = 'rho_var * cp_var * T_fluid'
[]
[]
[Postprocessors]
[inlet_mfr]
type = VolumetricFlowRate
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = rho
boundary = bottom
advected_interp_method = average
[]
[outlet_mfr]
type = VolumetricFlowRate
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = rho
boundary = top
advected_interp_method = average
[]
[inlet_energy]
type = VolumetricFlowRate
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = rho_cp_T_fluid_var
boundary = bottom
advected_interp_method = average
[]
[outlet_energy]
type = VolumetricFlowRate
vel_x = superficial_vel_x
vel_y = superficial_vel_y
advected_quantity = rho_cp_T_fluid_var
boundary = top
advected_interp_method = average
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-velocity-rz-slip.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
coord_type = 'RZ'
rz_coord_axis = X
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1.25'
dy = '0.2'
ix = '30'
iy = '7'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[]
[FVKernels]
inactive = 'u_friction v_friction'
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[u_friction]
type = PINSFVMomentumFriction
variable = vel_x
u = vel_x
v = vel_y
momentum_component = 'x'
Darcy_name = 'Darcy_coefficient'
Forchheimer_name = 'Forchheimer_coefficient'
standard_friction_formulation = false
rho = ${rho}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_friction]
type = PINSFVMomentumFriction
variable = vel_y
u = vel_x
v = vel_y
momentum_component = 'y'
Darcy_name = 'Darcy_coefficient'
Forchheimer_name = 'Forchheimer_coefficient'
standard_friction_formulation = false
rho = ${rho}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1.1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0.0'
[]
[walls-u]
type = INSFVNaturalFreeSlipBC
boundary = 'top'
variable = vel_x
momentum_component = 'x'
[]
[walls-v]
type = INSFVNaturalFreeSlipBC
boundary = 'top'
variable = vel_y
momentum_component = 'y'
[]
[symmetry_u]
type = INSFVSymmetryVelocityBC
variable = vel_x
boundary = 'bottom'
momentum_component = 'x'
mu = ${mu}
u = vel_x
v = vel_y
[]
[symmetry_v]
type = INSFVSymmetryVelocityBC
variable = vel_y
boundary = 'bottom'
momentum_component = 'y'
mu = ${mu}
u = vel_x
v = vel_y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1.4
[]
[]
[FunctorMaterials]
[darcy]
type = ADGenericVectorFunctorMaterial
prop_names = 'Darcy_coefficient Forchheimer_coefficient'
prop_values = '0.1 0.1 0.1 0.1 0.1 0.1'
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.5
pressure_variable_relaxation = 0.3
num_iterations = 150
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
print_fields = false
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(test/tests/auxkernels/divergence_aux/test_fe.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 1 0.1'
dy = '1.3 1 0.9'
ix = '2 4 1'
iy = '2 3 3'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[add_inner_boundaries_top]
type = SideSetsAroundSubdomainGenerator
input = cmg
new_boundary = 'block_2_top'
block = 2
normal = '0 1 0'
[]
[add_inner_boundaries_bot]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_top
new_boundary = 'block_2_bot'
block = 2
normal = '0 -1 0'
[]
[add_inner_boundaries_right]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_bot
new_boundary = 'block_2_right'
block = 2
normal = '1 0 0'
[]
[add_inner_boundaries_left]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_right
new_boundary = 'block_2_left'
block = 2
normal = '-1 0 0'
[]
[]
[Variables]
[u]
[]
[v]
[]
[]
[Kernels]
[diff_u]
type = Diffusion
variable = u
[]
[reaction_u]
type = Reaction
variable = u
[]
[diff_v]
type = Diffusion
variable = v
[]
[reaction_v]
type = Reaction
variable = v
[]
[]
[AuxVariables]
[div]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[divergence]
type = ADDivergenceAux
variable = div
u = u
v = v
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 1
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[top]
type = DirichletBC
variable = v
boundary = top
value = 1
[]
[bottom]
type = DirichletBC
variable = v
boundary = bottom
value = 1
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[int_divergence]
type = ElementL1Error
block = 2
variable = div
function = 0
[]
[sum_surface_current]
type = ParsedPostprocessor
expression = 's1 - s2 + s3 - s4'
pp_names = 's1 s2 s3 s4'
[]
[s1]
type = SideIntegralVariablePostprocessor
boundary = 'block_2_right'
variable = 'u'
[]
[s2]
type = SideIntegralVariablePostprocessor
boundary = 'block_2_left'
variable = 'u'
[]
[s3]
type = SideIntegralVariablePostprocessor
boundary = 'block_2_top'
variable = 'v'
[]
[s4]
type = SideIntegralVariablePostprocessor
boundary = 'block_2_bot'
variable = 'v'
[]
[]
[Outputs]
csv = true
hide = 's1 s2 s3 s4'
[]
(test/tests/meshdivisions/cylindrical_division.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
[]
# To keep VPP output consistently ordered
allow_renumbering = false
[]
[MeshDivisions]
active = 'cylindrical_div'
[cylindrical_div]
type = CylindricalGridDivision
axis_direction = '0 0 1'
center = '1 1 0'
azimuthal_start = '1 0 0'
# Number of bins
n_radial = 3
n_azimuthal = 4
n_axial = 8
# Extent of the cylinder
cylinder_axial_min = 0.5
cylinder_axial_max = 2
r_min = 0.5
r_max = 4
[]
[cylindrical_div_positions]
type = CylindricalGridDivision
axis_direction = '0 0 1'
center_positions = center
azimuthal_start = '1 0 0'
# Number of bins
n_radial = 3
n_azimuthal = 4
n_axial = 8
# Extent of the cylinder
cylinder_axial_min = 0.5
cylinder_axial_max = 2
r_min = 0.5
r_max = 4
[]
[]
[Positions]
[center]
type = InputPositions
positions = '1 1 0'
[]
[]
[AuxVariables]
[div]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[mesh_div]
type = MeshDivisionAux
variable = div
mesh_division = 'cylindrical_div'
[]
[]
[VectorPostprocessors]
[div_out]
type = ElementValueSampler
variable = 'div'
sort_by = 'id'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/turbulence/bfs/BFS_ERCOFTAC.i)
##########################################################
# ERCOFTAC test case foe BFS
# Case Number: 031
# Author: Dr. Mauricio Tano
# Last Update: November, 2023
# Turbulent model using:
# k-epsilon model
# Equilibrium + Newton wall treatement
# SIMPLE solve
##########################################################
Re = 5100
rho = 1.0
bulk_u = 1.0
H = 1.0
mu = '${fparse rho * bulk_u * H/ Re}'
advected_interp_method = 'upwind'
pressure_tag = "pressure_grad"
### k-epsilon Closure Parameters ###
sigma_k = 1.0
sigma_eps = 1.3
C1_eps = 1.44
C2_eps = 1.92
C_mu = 0.09
### Initial and Boundary Conditions ###
intensity = 0.01
k_init = '${fparse 1.5*(intensity * bulk_u)^2}'
eps_init = '${fparse C_mu^0.75 * k_init^1.5 / H}'
### Modeling parameters ###
bulk_wall_treatment = false
walls = 'bottom wall-side top'
wall_treatment = 'eq_incremental' # Options: eq_newton, eq_incremental, eq_linearized, neq
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${fparse 10.0*H} ${fparse 20.0*H}'
dy = '${H} ${fparse 5*H}'
ix = '8 16'
iy = '2 8'
subdomain_id = '
2 1
1 1
'
[]
[corner_walls]
type = SideSetsBetweenSubdomainsGenerator
input = gen
primary_block = '1'
paired_block = '2'
new_boundary = 'wall-side'
[]
[delete_bottom]
type = BlockDeletionGenerator
input = corner_walls
block = '2'
[]
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system TKE_system TKED_system'
previous_nl_solution_required = true
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
advected_interp_method = ${advected_interp_method}
velocity_interp_method = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = ${bulk_u}
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
initial_condition = 1e-8
solver_sys = pressure_system
two_term_boundary_expansion = false
[]
[TKE]
type = INSFVEnergyVariable
solver_sys = TKE_system
initial_condition = ${k_init}
[]
[TKED]
type = INSFVEnergyVariable
solver_sys = TKED_system
initial_condition = ${eps_init}
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_viscosity_turbulent]
type = INSFVMomentumDiffusion
variable = vel_x
mu = 'mu_t'
momentum_component = 'x'
complete_expansion = true
u = vel_x
v = vel_y
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_viscosity_turbulent]
type = INSFVMomentumDiffusion
variable = vel_y
mu = 'mu_t'
momentum_component = 'y'
complete_expansion = true
u = vel_x
v = vel_y
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[TKE_advection]
type = INSFVTurbulentAdvection
variable = TKE
rho = ${rho}
[]
[TKE_diffusion]
type = INSFVTurbulentDiffusion
variable = TKE
coeff = ${mu}
[]
[TKE_diffusion_turbulent]
type = INSFVTurbulentDiffusion
variable = TKE
coeff = 'mu_t'
scaling_coef = ${sigma_k}
[]
[TKE_source_sink]
type = INSFVTKESourceSink
variable = TKE
u = vel_x
v = vel_y
epsilon = TKED
rho = ${rho}
mu = ${mu}
mu_t = 'mu_t'
walls = ${walls}
wall_treatment = ${wall_treatment}
[]
[TKED_advection]
type = INSFVTurbulentAdvection
variable = TKED
rho = ${rho}
walls = ${walls}
[]
[TKED_diffusion]
type = INSFVTurbulentDiffusion
variable = TKED
coeff = ${mu}
walls = ${walls}
[]
[TKED_diffusion_turbulent]
type = INSFVTurbulentDiffusion
variable = TKED
coeff = 'mu_t'
scaling_coef = ${sigma_eps}
walls = ${walls}
[]
[TKED_source_sink]
type = INSFVTKEDSourceSink
variable = TKED
u = vel_x
v = vel_y
k = TKE
rho = ${rho}
mu = ${mu}
mu_t = 'mu_t'
C1_eps = ${C1_eps}
C2_eps = ${C2_eps}
walls = ${walls}
wall_treatment = ${wall_treatment}
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
functor = '${bulk_u}'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
functor = 0
[]
[inlet_TKE]
type = INSFVInletIntensityTKEBC
boundary = 'left'
variable = TKE
u = vel_x
v = vel_y
intensity = ${intensity}
[]
[inlet_TKED]
type = INSFVMixingLengthTKEDBC
boundary = 'left'
variable = TKED
k = TKE
characteristic_length = '${fparse 2*H}'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
functor = 0
[]
[walls-u]
type = FVDirichletBC
boundary = ${walls}
variable = vel_x
value = 0
[]
[walls-v]
type = FVDirichletBC
boundary = ${walls}
variable = vel_y
value = 0
[]
[walls_mu_t]
type = INSFVTurbulentViscosityWallFunction
boundary = ${walls}
variable = mu_t
u = vel_x
v = vel_y
rho = ${rho}
mu = ${mu}
mu_t = 'mu_t'
k = TKE
wall_treatment = ${wall_treatment}
[]
[]
[AuxVariables]
[mu_t]
type = MooseVariableFVReal
initial_condition = '${fparse rho * C_mu * ${k_init}^2 / eps_init}'
two_term_boundary_expansion = false
[]
[]
[AuxKernels]
[compute_mu_t]
type = kEpsilonViscosityAux
variable = mu_t
C_mu = ${C_mu}
k = TKE
epsilon = TKED
mu = ${mu}
rho = ${rho}
u = vel_x
v = vel_y
bulk_wall_treatment = ${bulk_wall_treatment}
walls = ${walls}
wall_treatment = ${wall_treatment}
execute_on = 'NONLINEAR'
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
turbulence_systems = 'TKED_system TKE_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.7
pressure_variable_relaxation = 0.3
turbulence_equation_relaxation = '0.3 0.3'
num_iterations = 500
pressure_absolute_tolerance = 1e-12
momentum_absolute_tolerance = 1e-12
turbulence_absolute_tolerance = '1e-12 1e-12'
momentum_petsc_options_iname = '-pc_type -pc_hypre_type'
momentum_petsc_options_value = 'hypre boomeramg'
pressure_petsc_options_iname = '-pc_type -pc_hypre_type'
pressure_petsc_options_value = 'hypre boomeramg'
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
turbulence_l_abs_tol = 1e-14
momentum_l_max_its = 30
pressure_l_max_its = 30
momentum_l_tol = 0.0
pressure_l_tol = 0.0
turbulence_l_tol = 0.0
print_fields = false
[]
[Outputs]
exodus = true
[console]
type = Console
outlier_variable_norms = false
[]
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated.i)
mu = 1
rho = 1
k = 1e-3
cp = 1
u_inlet = 1
T_inlet = 200
advected_interp_method = 'average'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '5 5'
dy = '1.0'
ix = '50 50'
iy = '20'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = superficial_vel_x
v = superficial_vel_y
pressure = pressure
porosity = porosity
[]
[]
[Variables]
inactive = 'T_solid'
[superficial_vel_x]
type = PINSFVSuperficialVelocityVariable
initial_condition = ${u_inlet}
[]
[superficial_vel_y]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[T_fluid]
type = INSFVEnergyVariable
[]
[T_solid]
family = 'MONOMIAL'
order = 'CONSTANT'
fv = true
[]
[]
[AuxVariables]
[T_solid]
family = 'MONOMIAL'
order = 'CONSTANT'
fv = true
initial_condition = 100
[]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
initial_condition = 0.5
[]
[]
[FVKernels]
inactive = 'solid_energy_diffusion solid_energy_convection'
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_x
mu = ${mu}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_x
momentum_component = 'x'
pressure = pressure
porosity = porosity
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'y'
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_y
mu = ${mu}
porosity = porosity
momentum_component = 'y'
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_y
momentum_component = 'y'
pressure = pressure
porosity = porosity
[]
[energy_advection]
type = PINSFVEnergyAdvection
variable = T_fluid
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[energy_diffusion]
type = PINSFVEnergyDiffusion
k = ${k}
variable = T_fluid
porosity = porosity
[]
[energy_convection]
type = PINSFVEnergyAmbientConvection
variable = T_fluid
is_solid = false
T_fluid = 'T_fluid'
T_solid = 'T_solid'
h_solid_fluid = 'h_cv'
[]
[solid_energy_diffusion]
type = FVDiffusion
coeff = ${k}
variable = T_solid
[]
[solid_energy_convection]
type = PINSFVEnergyAmbientConvection
variable = T_solid
is_solid = true
T_fluid = 'T_fluid'
T_solid = 'T_solid'
h_solid_fluid = 'h_cv'
[]
[]
[FVBCs]
inactive = 'heated-side'
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_x
function = ${u_inlet}
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_y
function = 0
[]
[inlet-T]
type = FVNeumannBC
variable = T_fluid
value = '${fparse u_inlet * rho * cp * T_inlet}'
boundary = 'left'
[]
[no-slip-u]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_x
function = 0
[]
[no-slip-v]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_y
function = 0
[]
[heated-side]
type = FVDirichletBC
boundary = 'top'
variable = 'T_solid'
value = 150
[]
[symmetry-u]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_x
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'x'
[]
[symmetry-v]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_y
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'y'
[]
[symmetry-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet-p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 0.1
[]
[]
[FunctorMaterials]
[constants]
type = ADGenericFunctorMaterial
prop_names = 'h_cv'
prop_values = '1'
[]
[functor_constants]
type = ADGenericFunctorMaterial
prop_names = 'cp'
prop_values = '${cp}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
rho = ${rho}
temperature = 'T_fluid'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-14
[]
# Some basic Postprocessors to examine the solution
[Postprocessors]
[inlet-p]
type = SideAverageValue
variable = pressure
boundary = 'left'
[]
[outlet-u]
type = SideAverageValue
variable = superficial_vel_x
boundary = 'right'
[]
[outlet-temp]
type = SideAverageValue
variable = T_fluid
boundary = 'right'
[]
[solid-temp]
type = ElementAverageValue
variable = T_solid
[]
[]
[Outputs]
exodus = true
csv = false
[]
(test/tests/meshgenerators/rename_block_generator/rename_block.i)
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1 1'
ix = '2 2'
iy = '2 2'
subdomain_id = '0 1 2 3'
[]
[set_names]
type = RenameBlockGenerator
old_block = '0 1 2 3'
new_block = 'block0 block1 block2 block3'
input = gmg
[]
# Rename parameters supplied through the "tests" specifications
[rename]
type = RenameBlockGenerator
input = set_names
[]
# We compare by element numbers, which are not consistent in parallel
# if this is true
allow_renumbering = false
[]
[Reporters/mesh_info]
type = MeshInfo
items = subdomain_elems
[]
[Outputs/out]
type = JSON
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
(modules/reactor/test/tests/meshgenerators/subdomain_extra_element_id_generator/subdomain_elem_ids_test.i)
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 2
dx = 1
ix = 10
dy = '0.2 0.2 0.2 0.2 0.2'
iy = '2 2 2 2 2'
subdomain_id = '0 1 2 3 4'
[]
[give_subdomain_name]
type = RenameBlockGenerator
input = gmg
old_block = '1 3'
new_block = 'sub1 sub3'
[]
[subdomain_ids]
type = SubdomainExtraElementIDGenerator
input = give_subdomain_name
subdomains = '0 sub1 2 sub3'
extra_element_id_names = 'test_id1 test_id2 test_id3'
extra_element_ids = '
1 3 5 4;
2 9 10 11;
0 8 1 2
'
default_extra_element_ids = '-1 0 0'
[]
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[AuxVariables]
[test_id1]
family = MONOMIAL
order = CONSTANT
[]
[test_id2]
family = MONOMIAL
order = CONSTANT
[]
[test_id3]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[test_id1]
type = ExtraElementIDAux
variable = test_id1
extra_id_name = test_id1
[]
[test_id2]
type = ExtraElementIDAux
variable = test_id2
extra_id_name = test_id2
[]
[test_id3]
type = ExtraElementIDAux
variable = test_id3
extra_id_name = test_id3
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(modules/stochastic_tools/examples/surrogates/pod_rb/2d_multireg/sub.i)
halfa = 10
fulla = 20
[Problem]
type = FEProblem
extra_tag_vectors = 'diff0 diff1 diff2 diff3 abs0 abs1 abs2 abs3 src0 src1 src2'
[]
[Mesh]
[msh]
type = CartesianMeshGenerator
dim = 2
dx = '10 20 20 20 20 20 20 20 20'
dy = '10 20 20 20 20 20 20 20 20'
ix = '${halfa} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla}'
iy = '${halfa} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla} ${fulla}'
subdomain_id = '1 0 0 0 1 0 0 2 3
0 0 0 0 0 0 0 2 3
0 0 1 0 0 0 2 2 3
0 0 0 0 0 0 2 3 3
1 0 0 0 1 2 2 3 3
0 0 0 0 2 2 3 3 3
0 0 2 2 2 3 3 3 3
2 2 2 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3'
[]
[]
[Variables]
[psi]
[]
[]
[Kernels]
[diff0]
type = MatDiffusion
variable = psi
diffusivity = D0
extra_vector_tags = 'diff0'
block = 0
[]
[diff1]
type = MatDiffusion
variable = psi
diffusivity = D1
extra_vector_tags = 'diff1'
block = 1
[]
[diff2]
type = MatDiffusion
variable = psi
diffusivity = D2
extra_vector_tags = 'diff2'
block = 2
[]
[diff3]
type = MatDiffusion
variable = psi
diffusivity = D3
extra_vector_tags = 'diff3'
block = 3
[]
[abs0]
type = MaterialReaction
variable = psi
coefficient = absxs0
extra_vector_tags = 'abs0'
block = 0
[]
[abs1]
type = MaterialReaction
variable = psi
coefficient = absxs1
extra_vector_tags = 'abs1'
block = 1
[]
[abs2]
type = MaterialReaction
variable = psi
coefficient = absxs2
extra_vector_tags = 'abs2'
block = 2
[]
[abs3]
type = MaterialReaction
variable = psi
coefficient = absxs3
extra_vector_tags = 'abs3'
block = 3
[]
[src0]
type = BodyForce
variable = psi
value = 1
extra_vector_tags = 'src0'
block = 0
[]
[src1]
type = BodyForce
variable = psi
value = 1
extra_vector_tags = 'src1'
block = 1
[]
[src2]
type = BodyForce
variable = psi
value = 1
extra_vector_tags = 'src2'
block = 2
[]
[]
[Materials]
[D0]
type = GenericConstantMaterial
prop_names = D0
prop_values = 1
block = 0
[]
[D1]
type = GenericConstantMaterial
prop_names = D1
prop_values = 1
block = 1
[]
[D2]
type = GenericConstantMaterial
prop_names = D2
prop_values = 1
block = 2
[]
[D3]
type = GenericConstantMaterial
prop_names = D3
prop_values = 1
block = 3
[]
[absxs0]
type = GenericConstantMaterial
prop_names = absxs0
prop_values = 1
block = 0
[]
[absxs1]
type = GenericConstantMaterial
prop_names = absxs1
prop_values = 1
block = 1
[]
[absxs2]
type = GenericConstantMaterial
prop_names = absxs2
prop_values = 1
block = 2
[]
[absxs3]
type = GenericConstantMaterial
prop_names = absxs3
prop_values = 1
block = 3
[]
[]
[BCs]
[left]
type = NeumannBC
variable = psi
boundary = left
value = 0
[]
[bottom]
type = NeumannBC
variable = psi
boundary = bottom
value = 0
[]
[top]
type = DirichletBC
variable = psi
boundary = top
value = 0
[]
[right]
type = DirichletBC
variable = psi
boundary = right
value = 0
[]
[]
[Executioner]
type = Steady
solve_type = linear
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Controls]
[stochastic]
type = SamplerReceiver
[]
[]
[Postprocessors]
[nodal_l2]
type = NodalL2Norm
variable = psi
[]
[]
[Outputs]
[]
(test/tests/vectorpostprocessors/element_value_sampler/mixed_fe_fv_sampler.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 1
dx = 3
ix = 10
[]
[]
[AuxVariables]
[T]
type = MooseVariableFVReal
[FVInitialCondition]
type = FVFunctionIC
function = '10 * x*x'
[]
[]
[grad_T]
order = CONSTANT
family = MONOMIAL_VEC
[]
[auxGrad_T_x]
order = CONSTANT
family = MONOMIAL
[]
[]
[AuxKernels]
[grad_T_aux]
type = FunctorElementalGradientAux
variable = grad_T
functor = T
[]
[grad_T_x_aux]
type = VectorVariableComponentAux
variable = auxGrad_T_x
vector_variable = grad_T
component = 'x'
[]
[]
[VectorPostprocessors]
[element_value_sampler]
type = ElementValueSampler
variable = 'T auxGrad_T_x'
sort_by = id
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
(test/tests/transfers/multiapp_nearest_node_transfer/cached_multiple_apps/child.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 1
dx = '10'
ix = '10'
[]
[]
[Variables]
[dummy]
[]
[]
[AuxVariables]
[Temperature]
[]
[Temperature_elem]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[extra]
type = ADDiffusion
variable = dummy
[]
[]
[BCs]
[extra_dummy]
type = DirichletBC
variable = dummy
boundary = '1'
value = 0.0
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 2
[]
[Outputs]
exodus = true
execute_on = 'timestep_end final'
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/1d-rc-epsjump.i)
mu = 1.1
rho = 1.1
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 1
dx = '1 1'
ix = '30 30'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
pressure = pressure
porosity = porosity
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
[]
[]
[ICs]
inactive = 'porosity_continuous'
[porosity_1]
type = ConstantIC
variable = porosity
block = 1
value = 1
[]
[porosity_2]
type = ConstantIC
variable = porosity
block = 2
value = 0.5
[]
[porosity_continuous]
type = FunctionIC
variable = porosity
block = '1 2'
function = smooth_jump
[]
[]
[Functions]
[smooth_jump]
type = ParsedFunction
expression = '1 - 0.5 * 1 / (1 + exp(-30*(x-1)))'
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = u
mu = ${mu}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
pressure = pressure
porosity = porosity
momentum_component = 'x'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = false
[]
(test/tests/meshgenerators/coarsen_block_generator/coarsen_hex_multi.i)
[Mesh]
allow_renumbering = false
# use these two to re-generate input.e
[eg]
type = CartesianMeshGenerator
dim = 3
dx = '2 1 1'
dy = '2 3'
dz = '2 3'
ix = '2 1 1'
iy = '2 3'
iz = '3 2'
subdomain_id = '0 1 1
1 2 0
0 1 1
1 2 0'
[]
[add_internal]
type = SideSetsBetweenSubdomainsGenerator
input = eg
paired_block = 1
primary_block = 2
new_boundary = middle
[]
[refine]
type = RefineBlockGenerator
input = add_internal
block = '0 1 2'
refinement = '1 1 1'
enable_neighbor_refinement = false
output = true
[]
final_generator = 'diag'
[input]
type = FileMeshGenerator
file = 'single_nonuniform_hex.e'
[]
# Go back to what we had
[coarsen]
type = CoarsenBlockGenerator
input = input
block = '0 1 2'
coarsening = '1 1 1'
# This was found by looking at the output of refine
# careful, has transitions we dont support!
starting_point = '2.75 0.75 0'
maximum_volume_ratio = 4
verbose = true
[]
[diag]
type = MeshDiagnosticsGenerator
input = coarsen
examine_element_overlap = ERROR
search_for_adaptivity_nonconformality = WARNING
examine_non_conformality = WARNING
[]
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_3D.i)
[Mesh]
[./cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1
2 2 2
3 4 4
5 5 5
0 1 1
2 2 2
3 4 4
5 5 5
'
[../]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_eddy_viscosity_aux/steady.i)
von_karman_const = 0.41
H = 1 #halfwidth of the channel
L = 150
Re = 100
rho = 1
bulk_u = 1
mu = '${fparse rho * bulk_u * 2 * H / Re}'
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
pressure = pressure
[]
[]
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${L}'
dy = '0.667 0.333'
ix = '200'
iy = '10 1'
[]
[]
[Problem]
fv_bcs_integrity_check = false
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[mixing_len]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_shear_stress]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_yplus]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[eddy_viscosity]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = u
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'x'
u = u
v = v
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = v
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'y'
u = u
v = v
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[]
[AuxKernels]
[mixing_len]
type = WallDistanceMixingLengthAux
walls = 'top'
variable = mixing_len
execute_on = 'initial'
von_karman_const = ${von_karman_const}
delta = 0.5
[]
[turbulent_viscosity]
type = INSFVMixingLengthTurbulentViscosityAux
variable = eddy_viscosity
mixing_length = mixing_len
u = u
v = v
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = '0'
[]
[wall-u]
type = INSFVWallFunctionBC
variable = u
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = x
[]
[wall-v]
type = INSFVWallFunctionBC
variable = v
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = y
[]
[sym-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = u
u = u
v = v
mu = ${mu}
momentum_component = x
[]
[sym-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = v
u = u
v = v
mu = ${mu}
momentum_component = y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = '0'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_action_external_boundary.i)
[Problem]
kernel_coverage_check = false
[]
[Mesh]
[./cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1.3 1.9'
ix = '3 3 3'
dy = '6'
iy = '9'
subdomain_id = '0 1 2'
[../]
[./inner_left]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 0
paired_block = 1
new_boundary = 'inner_left'
[../]
[./inner_right]
type = SideSetsBetweenSubdomainsGenerator
input = inner_left
primary_block = 2
paired_block = 1
new_boundary = 'inner_right'
[../]
[./inner_top]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y - 6) < 1e-10'
normal = '0 1 0'
included_subdomains = 1
new_sideset_name = 'inner_top'
input = 'inner_right'
[../]
[./inner_bottom]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y) < 1e-10'
normal = '0 -1 0'
included_subdomains = 1
new_sideset_name = 'inner_bottom'
input = 'inner_top'
[../]
[./rename]
type = RenameBlockGenerator
old_block = '2'
new_block = '0'
input = inner_bottom
[../]
[]
[Variables]
[./temperature]
block = 0
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temperature
block = 0
diffusion_coefficient = 5
[../]
[]
[GrayDiffuseRadiation]
[./cavity]
boundary = '4 5 6 7'
emissivity = '0.9 0.8 eps_fn 1'
n_patches = '2 2 2 3'
partitioners = 'centroid centroid centroid centroid'
centroid_partitioner_directions = 'x y y x'
temperature = temperature
adiabatic_boundary = '7'
fixed_temperature_boundary = '6'
fixed_boundary_temperatures = '800'
view_factor_calculator = analytical
[../]
[]
[Functions]
[eps_fn]
type = ConstantFunction
value = 0.4
[]
[]
[BCs]
[./left]
type = DirichletBC
variable = temperature
boundary = left
value = 1000
[../]
[./right]
type = DirichletBC
variable = temperature
boundary = right
value = 300
[../]
[]
[Postprocessors]
[./average_T_inner_right]
type = SideAverageValue
variable = temperature
boundary = inner_right
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/physics/restart/test_fv.i)
[Mesh]
active = 'cmg'
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = 10
dy = 10
[]
[fmg_restart]
type = FileMeshGenerator
file = user_ics.e
use_for_exodus_restart = true
[]
[]
[Debug]
show_actions=true
[]
[Physics]
[HeatConduction]
[FiniteVolume]
[h1]
temperature_name = 'T'
# Thermal properties
thermal_conductivity_functor = 'k0'
specific_heat = 5
density = 10
# Boundary conditions
heat_flux_boundaries = 'left right'
boundary_heat_fluxes = '0 500'
insulated_boundaries = 'top'
fixed_temperature_boundaries = 'bottom'
boundary_temperatures = '300'
[]
[]
[]
[]
[Executioner]
type = Transient
num_steps = 1
verbose = true
[]
[Problem]
solve = false
[]
[FunctorMaterials]
[mat_k]
type = ADGenericFunctorMaterial
prop_names = 'k0'
prop_values = '1'
[]
[]
[Outputs]
# Used to set up a restart from checkpoint
checkpoint = true
# Used to set up a restart from exodus file
[exodus]
type = Exodus
execute_on = TIMESTEP_END
[]
# Used to check results
csv = true
execute_on = INITIAL
[]
[Postprocessors]
[min_T]
type = ElementExtremeValue
variable = 'T'
value_type = 'min'
execute_on = 'INITIAL'
[]
[max_T]
type = ElementExtremeValue
variable = 'T'
value_type = 'max'
execute_on = 'INITIAL'
[]
[]
(test/tests/positions/multiapp_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
[multiapp]
type = MultiAppPositions
multiapps = 'm1 m2 m3'
[]
[]
[MultiApps]
[m1]
type = CentroidMultiApp
input_files = 'multiapp_positions.i'
cli_args = "MultiApps/active='';Positions/active=''"
[]
[m2]
type = FullSolveMultiApp
input_files = 'multiapp_positions.i'
cli_args = "MultiApps/active='';Positions/active=''"
[]
[m3]
type = FullSolveMultiApp
input_files = 'multiapp_positions.i'
positions = '0.2 0.4 1
0 0 6'
cli_args = "MultiApps/active='';Positions/active=''"
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-1d-parsed-function.i)
rho = 1.1
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 1
dx = '1 1'
ix = '3 3'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
pressure = pressure
porosity = porosity
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[pressure]
type = BernoulliPressureVariable
u = u
porosity = porosity
rho = ${rho}
[]
[]
[Functions]
[porosity]
type = ParsedFunction
expression = 'if(x > 1, 0.5, 1)'
[]
[]
[AuxVariables]
[has_porosity_jump_face]
type = MooseVariableFVReal
[]
[porosity_out]
type = MooseVariableFVReal
[]
[]
[AuxKernels]
[has_porosity_jump_face]
type = HasPorosityJumpFace
porosity = porosity
execute_on = 'initial timestep_end'
variable = has_porosity_jump_face
[]
[porosity_out]
type = FunctorAux
variable = porosity_out
functor = porosity
execute_on = 'initial timestep_end'
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
pressure = pressure
porosity = porosity
momentum_component = 'x'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/cns/mms/1d-with-bcs/straight-channel-hllc.i)
[GlobalParams]
fp = fp
[]
[Mesh]
[./gen_mesh]
type = CartesianMeshGenerator
dim = 1
dx = '.1 .1 .1 .1 .1 .5 .1 .1 .1 .1 .1'
# dx = '.1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1'
[../]
[]
[FluidProperties]
[fp]
type = IdealGasFluidProperties
[]
[]
[Variables]
[rho]
type = MooseVariableFVReal
initial_condition = 1.28969
scaling = 1e3
[]
[rho_u]
type = MooseVariableFVReal
initial_condition = 1.28969
[]
[rho_et]
type = MooseVariableFVReal
initial_condition = 2.525e5
scaling = 1e-2
[]
[]
[FVKernels]
[mass_advection]
type = CNSFVMassHLLC
variable = rho
fp = fp
[]
[momentum_x_advection]
type = CNSFVMomentumHLLC
variable = rho_u
momentum_component = x
fp = fp
[]
[drag]
type = FVReaction
variable = rho_u
rate = 1000
[]
[fluid_energy_advection]
type = CNSFVFluidEnergyHLLC
variable = rho_et
fp = fp
[]
[]
[FVBCs]
[mass_in]
variable = rho
type = CNSFVHLLCSpecifiedMassFluxAndTemperatureMassBC
boundary = left
temperature = 273.15
rhou = 1.28969
[]
[momentum_in]
variable = rho_u
type = CNSFVHLLCSpecifiedMassFluxAndTemperatureMomentumBC
boundary = left
temperature = 273.15
rhou = 1.28969
momentum_component = 'x'
[]
[energy_in]
variable = rho_et
type = CNSFVHLLCSpecifiedMassFluxAndTemperatureFluidEnergyBC
boundary = left
temperature = 273.15
rhou = 1.28969
[]
[mass_out]
variable = rho
type = CNSFVHLLCSpecifiedPressureMassBC
boundary = right
pressure = 1.01e5
[]
[momentum_out]
variable = rho_u
type = CNSFVHLLCSpecifiedPressureMomentumBC
boundary = right
pressure = 1.01e5
momentum_component = 'x'
[]
[energy_out]
variable = rho_et
type = CNSFVHLLCSpecifiedPressureFluidEnergyBC
boundary = right
pressure = 1.01e5
[]
[]
[Materials]
[var_mat]
type = ConservedVarValuesMaterial
rho = rho
rhou = rho_u
rho_et = rho_et
[]
[]
[Executioner]
solve_type = NEWTON
type = Steady
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
nl_max_its = 50
line_search = none
[]
[Outputs]
exodus = true
csv = true
[]
[Debug]
show_var_residual_norms = true
[]
(test/tests/meshgenerators/sidesets_from_points_generator/sidesets_ambiguity.i)
[GlobalParams]
prevent_boundary_ids_overlap = false
[]
[Mesh]
[region_2_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.065 0.13 0.305 0.17 0.196'
ix = ' 2 2 2 2 2'
dy = '0.85438 '
iy = '6'
subdomain_id = '68 68 68 68 68'
[]
[region_2_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.2 1.551 0'
input = region_2_gen
[]
[region_3_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.24 0.24 0.24 0.24 0.24'
ix = ' 2 2 2 2 2'
dy = '0.744166666666666 0.744166666666667 0.744166666666667'
iy = ' 2 2 2'
subdomain_id = '56 57 58 59 60
51 52 53 54 55
46 47 48 49 50'
[]
[region_3_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '0 2.40538 0'
input = region_3_gen
[]
[region_1_gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 6
xmin = 0
xmax = 0.26
ymin = 1.551
ymax = 1.851
subdomain_ids = '62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62
62 62 62 62 62 62 62 62 62 62'
[]
[region_1_extend_1]
type = FillBetweenSidesetsGenerator
input_mesh_1 = 'region_3_move'
input_mesh_2 = 'region_1_gen'
boundary_1 = '0'
boundary_2 = '2'
num_layers = 6
block_id= 61
use_quad_elements = true
keep_inputs = true
begin_side_boundary_id = '3'
end_side_boundary_id = '1'
[]
[region_1_extend_2]
type = FillBetweenSidesetsGenerator
input_mesh_1 = 'region_2_move'
input_mesh_2 = 'region_1_gen'
boundary_1 = 3
boundary_2 = 1
num_layers = 6
block_id= 69
use_quad_elements = true
keep_inputs = false
begin_side_boundary_id = '0'
end_side_boundary_id = '3'
input_boundary_1_id = '1'
input_boundary_2_id = '3'
[]
[region_2_2_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.065 0.13 0.305 0.17 0.196'
ix = ' 2 2 2 2 2'
dy = '0.85438 '
iy = '6'
subdomain_id = '68 68 68 68 68'
[]
[region_2_2_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.2 1.551 0'
input = region_2_2_gen
[]
[region_6_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.26 0.94 0.065 0.13 0.305 0.17 0.196'
ix = '10 6 2 2 2 2 2'
dy = '0.584 0.967'
iy = ' 4 6'
subdomain_id = '62 72 72 72 72 72 72
62 70 71 71 71 71 71'
[]
[stitch_1_2_6]
type = StitchedMeshGenerator
inputs = 'region_1_extend_1 region_1_extend_2 region_2_2_move region_6_gen'
stitch_boundaries_pairs = '1 3;
1 3;
0 0' # 0 0 will leave a split mesh
merge_boundaries_with_same_name = false
[]
[rename_boundary_stitch_1_2_6]
type = RenameBoundaryGenerator
input = stitch_1_2_6
old_boundary = '1'
new_boundary = '2'
[]
[region_4_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.065 0.13'
ix = ' 2 2 '
dy = '0.744166666666666 0.744166666666667 0.744166666666667'
iy = ' 2 2 2'
subdomain_id = '78 92
78 91
78 90'
[]
[region_4_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.2 2.40538 0'
input = region_4_gen
[]
[region_5_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.17 0.196'
ix = '2 2'
dy = '0.39 1.8425'
iy = '2 4'
subdomain_id = '100 104
100 104'
[]
[region_5_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '1.7 2.40538 0'
input = region_5_gen
[]
[region_5_extend]
type = FillBetweenSidesetsGenerator
input_mesh_1 = 'region_4_move'
input_mesh_2 = 'region_5_move'
boundary_1 = 1
boundary_2 = 3
num_layers = 2
block_id= 96
use_quad_elements = true
keep_inputs = true
begin_side_boundary_id = '0'
end_side_boundary_id = '2'
[]
[rename_boundary_region_5]
type = RenameBoundaryGenerator
input = region_5_extend
old_boundary = '0'
new_boundary = '3'
[]
[stitch_1_2_6_5]
type = StitchedMeshGenerator
inputs = 'rename_boundary_stitch_1_2_6 rename_boundary_region_5'
stitch_boundaries_pairs = '2 3;'
merge_boundaries_with_same_name = false
[]
[region_7_gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.24 0.24 0.24 0.24 0.24 0.065 0.13 0.305 0.17 0.196'
ix = ' 2 2 2 2 2 2 2 2 2 2'
dy = '0.744166666666667 0.744166666666667 0.744166666666667 0.744166666666667
0.744166666666667 0.744166666666667 0.744166666666666 0.744166666666666
0.744166666666666 0.458 0.86002'
iy = '2 2 2 2 2 2 2 2 2 2 4'
subdomain_id = '41 42 43 44 45 77 89 95 99 103
36 37 38 39 40 77 88 95 99 103
31 32 33 34 35 77 87 95 99 103
26 27 28 29 30 76 86 94 98 102
21 22 23 24 25 76 85 94 98 102
16 17 18 19 20 76 84 94 98 102
11 12 13 14 15 75 83 93 97 101
6 7 8 9 10 75 82 93 97 101
1 2 3 4 5 75 81 93 97 101
67 67 67 67 67 74 80 65 65 66
63 63 63 63 63 73 79 64 64 64'
[]
[region_7_move]
type = TransformGenerator
transform = TRANSLATE
vector_value = '0.0 4.63788 0'
input = region_7_gen
[]
[stitch]
type = StitchedMeshGenerator
inputs = 'stitch_1_2_6_5 region_7_move'
stitch_boundaries_pairs = '2 0'
merge_boundaries_with_same_name = false
[]
[rename_boundary_1]
type = BoundaryDeletionGenerator
input = stitch
boundary_names = '0 1 2 3'
[]
[rename_boundary_2]
type = SideSetsFromPointsGenerator
input = rename_boundary_1
new_boundary = '4'
# the point here is on the slit; ambiguous.
points = '2.066 1.551 0.'
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated-comparison/segregated-linear-physics.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.3'
dy = '0.3'
ix = '3'
iy = '3'
[]
[]
[Problem]
linear_sys_names = 'u_system v_system pressure_system'
[]
[Physics]
[NavierStokes]
[FlowSegregated/flow]
velocity_variable = 'vel_x vel_y'
pressure_variable = 'pressure'
initial_velocity = '0.5 0 0'
initial_pressure = '0.2'
density = ${rho}
dynamic_viscosity = ${mu}
# we use an inlet to mimick the original input
# we could use a wall noslip boundary
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_functors = '1.1 0'
wall_boundaries = 'top bottom'
momentum_wall_types = 'noslip noslip'
momentum_wall_functors = '0 0; 0 0'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure-zero-gradient'
pressure_functors = '1.4'
orthogonality_correction = false
pressure_two_term_bc_expansion = false
momentum_advection_interpolation = ${advected_interp_method}
[]
[]
[]
# Note: this executioner should be moved into the Physics
[Executioner]
type = SIMPLE
momentum_l_abs_tol = 1e-10
pressure_l_abs_tol = 1e-10
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'ins_rhie_chow_interpolator'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
num_iterations = 2
pressure_absolute_tolerance = 1e-10
momentum_absolute_tolerance = 1e-10
momentum_petsc_options_iname = '-pc_type -pc_hypre_type'
momentum_petsc_options_value = 'hypre boomeramg'
pressure_petsc_options_iname = '-pc_type -pc_hypre_type'
pressure_petsc_options_value = 'hypre boomeramg'
print_fields = false
[]
[Outputs]
exodus = true
execute_on = FINAL
[]
(test/tests/functions/piecewise_constant_from_csv/piecewise_constant_elem_multiple.i)
[Mesh]
allow_renumbering = false
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
ix = '2 1 1'
iy = '1 3'
subdomain_id = '0 1 1
2 2 2'
[]
[]
[AuxVariables]
[u]
family = MONOMIAL
order = CONSTANT
[]
[]
[UserObjects]
[reader_element]
type = PropertyReadFile
prop_file_name = 'data_element.csv data_element_t2.csv'
read_type = 'element'
nprop = 3 # number of columns in CSV
execute_on = TIMESTEP_END
[]
[]
[Functions]
[element]
type = PiecewiseConstantFromCSV
read_prop_user_object = 'reader_element'
read_type = 'element'
column_number = '2'
[]
[]
[ICs]
[element]
type = FunctionIC
variable = 'u'
function = 'element'
[]
[]
[AuxKernels]
[set_elem]
type = FunctionAux
variable = 'u'
function = 'element'
[]
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Executioner]
type = Transient
num_steps = 2
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/radiation_transfer_symmetry/cavity_with_pillars.i)
#
# inner_left: 8
# inner_right: 9
# inner_top: 12
# inner_bottom: 11
# inner_front: 10
# back_2: 7
# obstruction: 6
#
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 3
dx = '0.4 0.5 0.5 0.5 0.5 0.5 0.5 0.4'
dy = '0.5 0.75 0.5'
dz = '1.5 0.5'
subdomain_id = '
3 1 1 1 1 1 1 4
3 1 2 1 1 2 1 4
3 1 1 1 1 1 1 4
3 1 1 1 1 1 1 4
3 1 1 1 1 1 1 4
3 1 1 1 1 1 1 4
'
[]
[add_obstruction]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 1
new_boundary = obstruction
input = cartesian
[]
[add_new_back]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(z) < 1e-10'
included_subdomains = '1'
normal = '0 0 -1'
new_sideset_name = back_2
input = add_obstruction
[]
[add_inner_left]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 3
paired_block = 1
new_boundary = inner_left
input = add_new_back
[]
[add_inner_right]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 4
paired_block = 1
new_boundary = inner_right
input = add_inner_left
[]
[add_inner_front]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(z - 2) < 1e-10'
included_subdomains = '1'
normal = '0 0 1'
new_sideset_name = inner_front
input = add_inner_right
[]
[add_inner_bottom]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y) < 1e-10'
included_subdomains = '1'
normal = '0 -1 0'
new_sideset_name = inner_bottom
input = add_inner_front
[]
[add_inner_top]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y - 1.75) < 1e-10'
included_subdomains = '1'
normal = '0 1 0'
new_sideset_name = inner_top
input = add_inner_bottom
[]
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[temperature]
block = '2 3 4'
initial_condition = 300
[]
[]
[Kernels]
[conduction]
type = HeatConduction
variable = temperature
block = '2 3 4'
diffusion_coefficient = 1
[]
[source]
type = BodyForce
variable = temperature
value = 1000
block = '2'
[]
[]
[BCs]
[convective]
type = CoupledConvectiveHeatFluxBC
variable = temperature
T_infinity = 300
htc = 50
boundary = 'left right'
[]
[]
[GrayDiffuseRadiation]
[cavity]
boundary = '6 7 8 9 10 11 12'
emissivity = '1 1 1 1 1 1 1'
n_patches = '1 1 1 1 1 1 1'
adiabatic_boundary = '7 10 11 12'
partitioners = 'metis metis metis metis metis metis metis'
temperature = temperature
ray_tracing_face_order = SECOND
normalize_view_factor = false
[]
[]
[Postprocessors]
[Tpv]
type = PointValue
variable = temperature
point = '0.3 0.5 0.5'
[]
[volume]
type = VolumePostprocessor
[]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/refine_sideset_generator/test_secondary.i)
[Mesh]
[eg]
type = CartesianMeshGenerator
dim = 3
dx = '2 1 1'
dy = '2 3'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1 1
1 2 0 1
0 1 1 1
2 2 2 2
3 3 1 3
1 1 1 1'
[]
[sideset]
type = SideSetsBetweenSubdomainsGenerator
input = eg
primary_block = 1
paired_block = 2
new_boundary = sideset_1
[]
[refine]
type = RefineSidesetGenerator
input = sideset
boundaries = 'sideset_1'
refinement = '2'
boundary_side = 'secondary'
enable_neighbor_refinement = false
[]
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/radiative_bcs/ad_radiative_bc_cyl.i)
#
# Thin cylindrical shell with very high thermal conductivity
# so that temperature is almost uniform at 500 K. Radiative
# boundary conditions is applied. Heat flux out of boundary
# 'right' should be 3723.36; this is approached as the mesh
# is refined
#
[Mesh]
type = MeshGeneratorMesh
[cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
ix = '1 10'
dy = '1 1'
subdomain_id = '1 2 1 2'
[]
[remove_1]
type = BlockDeletionGenerator
block = 1
input = cartesian
[]
[readd_left]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(x - 1) < 1e-4'
new_sideset_name = left
input = remove_1
[]
[]
[Problem]
coord_type = RZ
[]
[Variables]
[temp]
initial_condition = 800.0
[]
[]
[Kernels]
[heat]
type = ADHeatConduction
variable = temp
[]
[]
[BCs]
[lefttemp]
type = ADDirichletBC
boundary = left
variable = temp
value = 800
[]
[radiative_bc]
type = ADInfiniteCylinderRadiativeBC
boundary = right
variable = temp
boundary_radius = 2
boundary_emissivity = 0.2
cylinder_radius = 3
cylinder_emissivity = 0.7
Tinfinity = 500
[]
[]
[Materials]
[density]
type = ADGenericConstantMaterial
prop_names = 'density thermal_conductivity'
prop_values = '1 1.0e5'
[]
[]
[Preconditioning]
[SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Steady
petsc_options = '-snes_converged_reason'
line_search = none
nl_rel_tol = 1e-6
nl_abs_tol = 1e-7
[]
[Postprocessors]
[right]
type = ADSideDiffusiveFluxAverage
variable = temp
boundary = right
diffusivity = thermal_conductivity
[]
[min_temp]
type = ElementExtremeValue
variable = temp
value_type = min
[]
[max_temp]
type = ElementExtremeValue
variable = temp
value_type = max
[]
[]
[Outputs]
csv = true
[]
(test/tests/meshgenerators/plane_id_mesh_generator/plane_id_grid2d.i)
[Mesh]
[grid]
type = CartesianMeshGenerator
dim = 2
dx = '5.0 10.0 '
ix = '1 4'
dy = '5.0 10.0 '
iy = '1 4'
[]
[plane_id_gen]
type = PlaneIDMeshGenerator
input = 'grid'
plane_coordinates = '0.0 5.0 15.0'
num_ids_per_plane = ' 1 2'
plane_axis = 'x'
id_name = 'plane_id'
[]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[AuxVariables]
[plane_id]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[set_plane_id]
type = ExtraElementIDAux
variable = plane_id
extra_id_name = plane_id
[]
[]
[Outputs]
exodus = true
execute_on = timestep_end
[]
(test/tests/linearfvkernels/block-restriction/block-restricted-diffusion.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.1 1 0.1'
dy = '0.1 0.5 0.1'
ix = '1 2 1'
iy = '1 1 1'
subdomain_id = '1 1 1 1 2 3 1 1 1'
[]
[transform]
type = TransformGenerator
input = cmg
transform = TRANSLATE
vector_value = '-0.1 -0.1 0.0'
[]
[create_sides]
type = SideSetsBetweenSubdomainsGenerator
input = transform
new_boundary = sides
primary_block = 2
paired_block = 1
[]
[create_outlet]
type = SideSetsBetweenSubdomainsGenerator
input = create_sides
new_boundary = outlet
primary_block = 2
paired_block = 3
[]
[]
[Problem]
linear_sys_names = 'u_sys'
[]
[Variables]
[u]
type = MooseLinearVariableFVReal
solver_sys = 'u_sys'
initial_condition = 1.0
block = 2
[]
[]
[LinearFVKernels]
[diffusion]
type = LinearFVDiffusion
variable = u
diffusion_coeff = diff_coeff_func
use_nonorthogonal_correction = false
[]
[source]
type = LinearFVSource
variable = u
source_density = source_func
[]
[]
[LinearFVBCs]
[dir]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
variable = u
boundary = "sides outlet"
functor = analytic_solution
[]
[]
[Functions]
[diff_coeff_func]
type = ParsedFunction
expression = '1.0+0.5*x*y'
[]
[source_func]
type = ParsedFunction
expression = '-1.0*x*pi*sin(x*pi)*cos(2*y*pi) - 0.5*y*pi*sin(2*y*pi)*cos(x*pi) + 5*pi^2*(0.5*x*y + 1.0)*sin(x*pi)*sin(2*y*pi)'
[]
[analytic_solution]
type = ParsedFunction
expression = 'sin(x*pi)*sin(2*y*pi) + 1.5'
[]
[]
[Postprocessors]
[h]
type = AverageElementSize
execute_on = FINAL
block = 2
[]
[error]
type = ElementL2FunctorError
approximate = u
exact = analytic_solution
execute_on = FINAL
block = 2
[]
[]
[Executioner]
type = LinearPicardSteady
linear_systems_to_solve = u_sys
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
[csv]
type = CSV
execute_on = FINAL
[]
[]
(test/tests/meshgenerators/sidesets_between_subdomains_generator/sideset_between_subdomains_not_prepared.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1'
ix = '2 2'
iy = '2'
subdomain_id = '1 2'
[]
[feg]
type = FancyExtruderGenerator
input = cmg
direction = '0 0 1'
heights = 1
num_layers = 1
[]
[sbsg]
type = SideSetsBetweenSubdomainsGenerator
input = feg
new_boundary = 'interface'
paired_block = 2
primary_block = 1
[]
[]
(test/tests/meshdivisions/block_division.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1
2 2 2
3 4 4
5 5 5
0 1 1
2 2 2
3 4 4
5 5 5
'
[]
[]
[MeshDivisions]
[block_div]
type = SubdomainsDivision
[]
[]
[AuxVariables]
[blocks]
family = MONOMIAL
order = CONSTANT
[]
[div]
family = MONOMIAL
order = CONSTANT
[]
[diff]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[mesh_div]
type = MeshDivisionAux
variable = div
mesh_division = 'block_div'
[]
[subdomains]
type = FunctorAux
functor = 'blocks_fmat'
variable = 'blocks'
[]
[difference]
type = ParsedAux
variable = diff
expression = 'blocks - div'
coupled_variables = 'blocks div'
[]
[]
[FunctorMaterials]
[fmat]
type = PiecewiseByBlockFunctorMaterial
prop_name = 'blocks_fmat'
subdomain_to_prop_value = '0 0 1 1 2 2 3 3 4 4 5 5'
[]
[]
[Postprocessors]
[min_diff]
type = ElementExtremeValue
variable = diff
value_type = 'min'
[]
[max_diff]
type = ElementExtremeValue
variable = diff
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-1d-functor-material.i)
rho = 1.1
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 1
dx = '1 1'
ix = '3 3'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
pressure = pressure
porosity = porosity
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[pressure]
type = BernoulliPressureVariable
u = u
porosity = porosity
rho = ${rho}
[]
[]
[AuxVariables]
[has_porosity_jump_face]
type = MooseVariableFVReal
[]
[porosity_out]
type = MooseVariableFVReal
[]
[]
[AuxKernels]
[has_porosity_jump_face]
type = HasPorosityJumpFace
porosity = porosity
execute_on = 'initial timestep_end'
variable = has_porosity_jump_face
[]
[porosity_out]
type = FunctorAux
variable = porosity_out
functor = porosity
execute_on = 'initial timestep_end'
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
pressure = pressure
porosity = porosity
momentum_component = 'x'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1
[]
[]
[FunctorMaterials]
[porosity]
type = ADPiecewiseByBlockFunctorMaterial
prop_name = 'porosity'
subdomain_to_prop_value = '1 1 2 0.5'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/2d-rc-friction.i)
mu = 1.1
rho = 1
advected_interp_method = 'average'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '2.5 2.5'
dy = '1.0'
ix = '20 20'
iy = '20'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = superficial_vel_x
v = superficial_vel_y
pressure = pressure
porosity = porosity
[]
[]
[Variables]
inactive = 'lambda'
[superficial_vel_x]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[superficial_vel_y]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
initial_condition = 0.5
[]
[]
[FVKernels]
inactive = 'mean-pressure'
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_x
mu = ${mu}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_x
momentum_component = 'x'
pressure = pressure
porosity = porosity
[]
[u_friction]
type = PINSFVMomentumFriction
variable = superficial_vel_x
momentum_component = 'x'
Darcy_name = 'Darcy_coefficient'
Forchheimer_name = 'Forchheimer_coefficient'
mu = ${mu}
rho = ${rho}
speed = speed
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'y'
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_y
mu = ${mu}
porosity = porosity
momentum_component = 'y'
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_y
momentum_component = 'y'
pressure = pressure
porosity = porosity
[]
[v_friction]
type = PINSFVMomentumFriction
variable = superficial_vel_y
momentum_component = 'y'
Darcy_name = 'Darcy_coefficient'
Forchheimer_name = 'Forchheimer_coefficient'
rho = ${rho}
speed = speed
mu = ${mu}
[]
[mean-pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
phi0 = 0.01
[]
[]
[FVBCs]
inactive = 'free-slip-u free-slip-v'
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_x
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_y
function = 0
[]
[no-slip-u]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_x
function = 0
[]
[no-slip-v]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_y
function = 0
[]
[free-slip-u]
type = INSFVNaturalFreeSlipBC
boundary = 'top'
variable = superficial_vel_x
momentum_component = 'x'
[]
[free-slip-v]
type = INSFVNaturalFreeSlipBC
boundary = 'top'
variable = superficial_vel_y
momentum_component = 'y'
[]
[symmetry-u]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_x
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'x'
[]
[symmetry-v]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_y
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'y'
[]
[symmetry-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet-p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 0
[]
[]
[FunctorMaterials]
[darcy]
type = ADGenericVectorFunctorMaterial
prop_names = 'Darcy_coefficient Forchheimer_coefficient'
prop_values = '0.1 0.1 0.1 0.1 0.1 0.1'
[]
[speec]
type = PINSFVSpeedFunctorMaterial
superficial_vel_x = superficial_vel_x
superficial_vel_y = superficial_vel_y
porosity = porosity
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-11
nl_abs_tol = 1e-14
[]
# Some basic Postprocessors to visually examine the solution
[Postprocessors]
[inlet-p]
type = SideAverageValue
variable = pressure
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = superficial_vel_x
boundary = 'right'
[]
[]
[Outputs]
exodus = true
[]
(modules/electromagnetics/test/tests/interfacekernels/electrostatic_contact/contact_conductance_supplied.i)
[Mesh]
[box]
type = CartesianMeshGenerator
dim = 2
dx = '0.5 0.5'
dy = '0.25 0.5 0.25'
ix = '20 20'
iy = '10 20 10'
subdomain_id = '1 1
2 3
1 1'
[]
[rename_subdomains]
type = RenameBlockGenerator
input = box
old_block = '1 2'
new_block = 'stainless_steel graphite'
[]
[create_interface]
type = SideSetsBetweenSubdomainsGenerator
input = rename_subdomains
primary_block = stainless_steel
paired_block = graphite
new_boundary = 'ssg_interface'
[]
[delete_block]
type = BlockDeletionGenerator
input = create_interface
block = 3
[]
[]
[Problem]
coord_type = RZ
[]
[Variables]
[potential_graphite]
block = graphite
[]
[potential_stainless_steel]
block = stainless_steel
[]
[]
[Kernels]
[electric_graphite]
type = ADMatDiffusion
variable = potential_graphite
diffusivity = electrical_conductivity
block = graphite
[]
[electric_stainless_steel]
type = ADMatDiffusion
variable = potential_stainless_steel
diffusivity = electrical_conductivity
block = stainless_steel
[]
[]
[BCs]
[elec_top]
type = DirichletBC
variable = potential_stainless_steel
boundary = top
value = 1
[]
[elec_bottom]
type = DirichletBC
variable = potential_stainless_steel
boundary = bottom
value = 0
[]
[]
[InterfaceKernels]
[electrostatic_contact]
type = ElectrostaticContactCondition
variable = potential_stainless_steel
neighbor_var = potential_graphite
primary_conductivity = electrical_conductivity
secondary_conductivity = electrical_conductivity
boundary = ssg_interface
user_electrical_contact_conductance = 1.47e5 # as described in Cincotti et al (https://doi.org/10.1002/aic.11102)
[]
[]
[Materials]
#graphite
[sigma_graphite]
type = ADGenericConstantMaterial
prop_names = 'electrical_conductivity'
prop_values = 3.33e2
block = graphite
[]
#stainless_steel
[sigma_stainless_steel]
type = ADGenericConstantMaterial
prop_names = 'electrical_conductivity'
prop_values = 1.429e6
block = stainless_steel
[]
[]
[Preconditioning]
[SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 101 preonly ilu 1'
automatic_scaling = true
nl_rel_tol = 1e-09
[]
[Outputs]
exodus = true
perf_graph = true
[]
(test/tests/auxkernels/current_boundary_id/current_boundary_id.i)
#
# This is used to create the mesh but it does not work with --distributed-mesh flag
# and the parallel test bombs.
#
#[Mesh]
# type = MeshGeneratorMesh
#
# [./cartesian]
# type = CartesianMeshGenerator
# dim = 2
# dx = '1 1'
# ix = '10 10'
# dy = '1'
# iy = '10'
# subdomain_id = '1 2'
# [../]
#
# [./interior_bc]
# type = SideSetsBetweenSubdomainsGenerator
# primary_block = 1
# paired_block = 2
# new_boundary = 12
# input = cartesian
# [../]
#[]
[Mesh]
type = FileMesh
file = current_boundary_id_in.e
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[./u]
[../]
[]
[Executioner]
type = Steady
[]
[AuxVariables]
[./id1]
family = MONOMIAL
order = CONSTANT
[]
[./id2]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[./id1]
type = BIDAux
variable = id1
boundary = 'top'
[../]
[./id2]
type = BIDAux
variable = id2
boundary = '12'
[../]
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/break_mesh_by_block_generator/break_mesh_block_restricted.i)
[Mesh]
[msh]
type = CartesianMeshGenerator
dim = 3
dx = '0.25 0.25 0.25 0.25'
dy = '0.25 0.25 0.25 0.25'
dz = '0.25 0.25 0.25 0.25'
subdomain_id = '0 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38
39 40 41 42 43 44 45 46 47 48 49 50 51
52 53 54 55 56 57 58 59 60 61 62 63'
[]
[split]
input = msh
type = BreakMeshByBlockGenerator
surrounding_blocks = '16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 34 35 36 37 38
39 40 41 42 43 44 45 46 47'
add_transition_interface = true
[]
[]
(modules/navier_stokes/test/tests/finite_volume/pins/block-restriction/segregated/empty-block-segregated.i)
mu = 1.2
rho_fluid = 0.2
k_fluid = 1.1
cp_fluid = 2.3
T_cold = 310
alpha = 1e-3
Q = 200
pressure_tag = "pressure_grad"
[Problem]
kernel_coverage_check = false
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
velocity_interp_method = 'rc'
advected_interp_method = 'average'
[]
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.3683 0.0127'
dy = '0.0127 0.2292 2.5146 0.2292 0.0127'
ix = '2 1'
iy = '1 2 3 2 1'
subdomain_id = '0 0
1 0
2 0
1 0
0 0
'
[]
[rename_block_name]
type = RenameBlockGenerator
input = cmg
old_block = '0 1 2'
new_block = 'wall_block spacer_block porous_block'
[]
[solid_fluid_interface_1]
type = SideSetsBetweenSubdomainsGenerator
input = rename_block_name
primary_block = porous_block
paired_block = wall_block
new_boundary = 'solid_fluid_interface'
[]
[solid_fluid_interface_2]
type = SideSetsBetweenSubdomainsGenerator
input = solid_fluid_interface_1
primary_block = spacer_block
paired_block = wall_block
new_boundary = 'solid_fluid_interface'
[]
[wall_left_boundary_1]
type = SideSetsFromBoundingBoxGenerator
input = solid_fluid_interface_2
bottom_left = '0 0 0'
top_right = '0.1 0.0127 0'
included_boundaries = left
boundary_new = wall_left
[]
[wall_left_boundary_2]
type = SideSetsFromBoundingBoxGenerator
input = wall_left_boundary_1
bottom_left = '0 2.9857 0'
top_right = '0.1 2.9984 0'
included_boundaries = left
boundary_new = wall_left
[]
[fluid_left_boundary]
type = SideSetsFromBoundingBoxGenerator
input = wall_left_boundary_2
bottom_left = '0 0.0127 0'
top_right = '0.1 2.9857 0'
included_boundaries = left
boundary_new = fluid_left
[]
coord_type = RZ
rz_coord_axis = Y
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolatorSegregated
u = superficial_vel_x
v = superficial_vel_y
pressure = pressure
porosity = porosity
block = 'spacer_block porous_block'
[]
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system t_system'
previous_nl_solution_required = true
error_on_jacobian_nonzero_reallocation = true
[]
[Variables]
[superficial_vel_x]
type = PINSFVSuperficialVelocityVariable
block = 'spacer_block porous_block'
solver_sys = u_system
[]
[superficial_vel_y]
type = PINSFVSuperficialVelocityVariable
block = 'spacer_block porous_block'
solver_sys = v_system
[]
[pressure]
type = INSFVPressureVariable
block = 'spacer_block porous_block'
solver_sys = pressure_system
[]
[T_fluid]
type = INSFVEnergyVariable
block = 'spacer_block porous_block'
solver_sys = t_system
[]
[]
[AuxVariables]
[porosity]
type = MooseVariableFVReal
block = 'spacer_block porous_block'
[]
[]
[FVKernels]
[u_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_x
rho = ${rho_fluid}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_x
mu = ${mu}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_x
momentum_component = 'x'
pressure = pressure
block = 'spacer_block porous_block'
porosity = porosity
extra_vector_tags = ${pressure_tag}
[]
[u_buoyancy]
type = PINSFVMomentumBoussinesq
variable = superficial_vel_x
T_fluid = T_fluid
gravity = '0 -1 0'
rho = ${rho_fluid}
ref_temperature = ${T_cold}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[u_gravity]
type = PINSFVMomentumGravity
variable = superficial_vel_x
gravity = '0 -1 0'
rho = ${rho_fluid}
momentum_component = 'x'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_y
rho = ${rho_fluid}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_y
mu = ${mu}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_y
momentum_component = 'y'
pressure = pressure
block = 'spacer_block porous_block'
porosity = porosity
extra_vector_tags = ${pressure_tag}
[]
[v_buoyancy]
type = PINSFVMomentumBoussinesq
variable = superficial_vel_y
T_fluid = T_fluid
gravity = '0 -1 0'
rho = ${rho_fluid}
ref_temperature = ${T_cold}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[v_gravity]
type = PINSFVMomentumGravity
variable = superficial_vel_y
gravity = '0 -1 0'
rho = ${rho_fluid}
momentum_component = 'y'
block = 'spacer_block porous_block'
porosity = porosity
[]
[temp_conduction]
type = PINSFVEnergyDiffusion
k = 'k_fluid'
variable = T_fluid
block = 'spacer_block porous_block'
porosity = porosity
[]
[temp_advection]
type = PINSFVEnergyAdvection
variable = T_fluid
block = 'spacer_block porous_block'
boundaries_to_force = fluid_left
[]
[heat_source]
type = FVBodyForce
variable = T_fluid
function = ${Q}
block = 'porous_block'
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
block = 'spacer_block porous_block'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
block = 'spacer_block porous_block'
[]
[]
[FVBCs]
[no_slip_x]
type = INSFVNoSlipWallBC
variable = superficial_vel_x
boundary = 'solid_fluid_interface'
function = 0
[]
[no_slip_y]
type = INSFVNoSlipWallBC
variable = superficial_vel_y
boundary = 'solid_fluid_interface'
function = 0
[]
[reflective_x]
type = INSFVSymmetryVelocityBC
variable = superficial_vel_x
boundary = fluid_left
momentum_component = 'x'
mu = ${mu}
u = superficial_vel_x
v = superficial_vel_y
[]
[reflective_y]
type = INSFVSymmetryVelocityBC
variable = superficial_vel_y
boundary = fluid_left
momentum_component = 'y'
mu = ${mu}
u = superficial_vel_x
v = superficial_vel_y
[]
[reflective_p]
type = INSFVSymmetryPressureBC
boundary = fluid_left
variable = pressure
[]
[T_reflective]
type = FVNeumannBC
variable = T_fluid
boundary = fluid_left
value = 0
[]
[T_cold_boundary]
type = FVDirichletBC
variable = T_fluid
boundary = solid_fluid_interface
value = ${T_cold}
[]
[]
[ICs]
[porosity_spacer]
type = ConstantIC
variable = porosity
block = spacer_block
value = 1.0
[]
[porosity_fuel]
type = ConstantIC
variable = porosity
block = porous_block
value = 0.1
[]
[temp_ic_fluid]
type = ConstantIC
variable = T_fluid
value = ${T_cold}
block = 'spacer_block porous_block'
[]
[superficial_vel_x]
type = ConstantIC
variable = superficial_vel_x
value = 1E-5
block = 'spacer_block porous_block'
[]
[superficial_vel_y]
type = ConstantIC
variable = superficial_vel_y
value = 1E-5
block = 'spacer_block porous_block'
[]
[]
[FunctorMaterials]
[functor_constants_fluid]
type = ADGenericFunctorMaterial
prop_names = 'alpha_b cp k_fluid'
prop_values = '${alpha} ${cp_fluid} ${k_fluid}'
block = 'spacer_block porous_block'
[]
[density_fluid]
type = INSFVEnthalpyFunctorMaterial
temperature = 'T_fluid'
rho = ${rho_fluid}
block = 'spacer_block porous_block'
[]
[functor_constants_steel]
# We need this to avoid errors for materials not existing on every block
type = ADGenericFunctorMaterial
prop_names = 'dummy'
prop_values = 0.0
block = wall_block
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
energy_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
energy_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
energy_system = 't_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.85
energy_equation_relaxation = 0.95
pressure_variable_relaxation = 0.45
num_iterations = 150
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
pin_pressure = true
pressure_pin_point = '0.2 1.5 0.0'
pressure_pin_value = 0
print_fields = false
[]
[Outputs]
exodus = true
[]
(test/tests/mesh/face_info/face_info_two_region_quads.i)
[Mesh]
[./generated]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1 1'
subdomain_id = '1 2 2 2'
[../]
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[./u]
family = MONOMIAL
order = CONSTANT
block = 1
[../]
[./v]
family = MONOMIAL
order = CONSTANT
block = 2
[../]
[./w]
family = MONOMIAL
order = CONSTANT
[../]
[_trigger_fv_on]
fv = true
family = MONOMIAL
order = CONSTANT
[]
[]
[VectorPostprocessors]
[./face_info_1]
type = TestFaceInfo
vars = 'u'
[../]
[./face_info_2]
type = TestFaceInfo
vars = 'v'
[../]
[./face_info_3]
type = TestFaceInfo
vars = 'w'
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/heat_transfer/test/tests/postprocessors/ad_convective_ht_side_integral.i)
[Mesh]
[./cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '0.45 0.1 0.45'
ix = '5 1 5'
dy = '0.45 0.1 0.45'
iy = '5 1 5'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[../]
[./add_iss_1]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 2
new_boundary = 'interface'
input = cartesian
[../]
[./block_deleter]
type = BlockDeletionGenerator
block = 2
input = add_iss_1
[../]
[]
[Variables]
[./temperature]
initial_condition = 300
[../]
[]
[AuxVariables]
[./channel_T]
family = MONOMIAL
order = CONSTANT
initial_condition = 400
[../]
[./channel_Hw]
family = MONOMIAL
order = CONSTANT
initial_condition = 1000
[../]
[]
[Kernels]
[./graphite_diffusion]
type = ADHeatConduction
variable = temperature
thermal_conductivity = 'thermal_conductivity'
[../]
[]
[BCs]
## boundary conditions for the thm channels in the reflector
[./channel_heat_transfer]
type = CoupledConvectiveHeatFluxBC
variable = temperature
htc = channel_Hw
T_infinity = channel_T
boundary = 'interface'
[../]
# hot boundary on the left
[./left]
type = DirichletBC
variable = temperature
value = 1000
boundary = 'left'
[../]
# cool boundary on the right
[./right]
type = DirichletBC
variable = temperature
value = 300
boundary = 'right'
[../]
[]
[Materials]
[./pronghorn_solid_material]
type = ADHeatConductionMaterial
temp = temperature
thermal_conductivity = 25
specific_heat = 1000
[../]
[./htc_material]
type = ADGenericConstantMaterial
prop_names = 'alpha_wall'
prop_values = '1000'
[../]
[./tfluid_mat]
type = ADPiecewiseLinearInterpolationMaterial
property = tfluid_mat
variable = channel_T
x = '400 500'
y = '400 500'
[../]
[]
[Postprocessors]
[./Qw1]
type = ADConvectiveHeatTransferSideIntegral
T_fluid_var = channel_T
htc_var = channel_Hw
T_solid = temperature
boundary = interface
[../]
[./Qw2]
type = ADConvectiveHeatTransferSideIntegral
T_fluid_var = channel_T
htc = alpha_wall
T_solid = temperature
boundary = interface
[../]
[./Qw3]
type = ADConvectiveHeatTransferSideIntegral
T_fluid = tfluid_mat
htc = alpha_wall
T_solid = temperature
boundary = interface
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(test/tests/linearfvkernels/block-restriction/block-restricted-diffusion-react.i)
source=1
diff_coeff=2
reac_coeff=3
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 1
dx = '0.5 0.5'
ix = '20 20'
subdomain_id = '1 2'
[]
[]
[Problem]
linear_sys_names = 'u_sys'
[]
[Variables]
[u]
type = MooseLinearVariableFVReal
solver_sys = 'u_sys'
initial_condition = 1.0
[]
[]
[LinearFVKernels]
[diffusion]
type = LinearFVDiffusion
variable = u
diffusion_coeff = ${diff_coeff}
use_nonorthogonal_correction = false
block = 1
[]
[reaction]
type = LinearFVReaction
variable = u
coeff = ${reac_coeff}
block = 2
[]
[source]
type = LinearFVSource
variable = u
source_density = ${source}
[]
[]
[LinearFVBCs]
[dir]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
variable = u
boundary = "left"
functor = 0
[]
[]
[Functions]
[analytic_solution]
type = ParsedFunction
expression = 'if(x<0.5, -x*x*S/2/D+(S/C+0.5*0.5/2/D*S)/0.5*x, S/C)'
symbol_names = 'S D C'
symbol_values = '${source} ${diff_coeff} ${reac_coeff}'
[]
[]
[Postprocessors]
[h]
type = AverageElementSize
execute_on = FINAL
block = 2
[]
[error]
type = ElementL2FunctorError
approximate = u
exact = analytic_solution
execute_on = FINAL
block = 2
[]
[]
[Executioner]
type = LinearPicardSteady
linear_systems_to_solve = u_sys
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
[csv]
type = CSV
execute_on = FINAL
[]
[]
(test/tests/positions/functor_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
[functors]
type = FunctorPositions
positions_functors = '0.1 0 0.3
f1 f2 f1'
[]
[]
[Functions]
[f1]
type = PiecewiseConstant
x = '0 0.5 1'
y = '1 2 3'
[]
[f2]
type = PiecewiseLinear
x = '0 0.5 1'
y = '1 2 3'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
# Test recover
num_steps = 2
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_as_volume_force_loop_pressure_corrected.i)
mu = 1.0
rho = 1.0
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.1 0.8 0.1'
dy = '0.1 0.8 0.1'
ix = '5 20 5'
iy = '5 20 5'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[delete_internal_part]
type = BlockDeletionGenerator
input = gen
block = '2'
new_boundary = 'wall-internal'
[]
[lump_bdries_to_wall]
type = RenameBoundaryGenerator
input = delete_internal_part
old_boundary = 'bottom right top left'
new_boundary = 'wall-external wall-external wall-external wall-external'
[]
[pump_domain]
type = ParsedSubdomainMeshGenerator
input = lump_bdries_to_wall
combinatorial_geometry = 'x > 0.3 & x < 0.7 & y > 0.5'
block_id = '3'
[]
[rename_blocks]
type = RenameBlockGenerator
input = pump_domain
old_block = '1 3'
new_block = 'pipe pump'
[]
[side_pump]
type = ParsedGenerateSideset
input = rename_blocks
included_subdomains = 'pump'
included_neighbors = 'pipe'
new_sideset_name = 'pump_side'
normal = '1 0 0'
combinatorial_geometry = 'x > 0.35'
[]
[]
[GlobalParams]
velocity_interp_method = 'rc'
advected_interp_method = 'upwind'
rhie_chow_user_object = 'rc'
[]
[Problem]
material_coverage_check = False
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
correct_volumetric_force = true
volumetric_force_functors = 'pump_force'
volume_force_correction_method = 'pressure-consistent'
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[AuxVariables]
[U]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[AuxKernels]
[mag]
type = VectorMagnitudeAux
variable = U
x = vel_x
y = vel_y
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
phi0 = 0.0
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[u_pump]
type = INSFVBodyForce
variable = vel_x
momentum_component = 'x'
functor = 'pump_force'
block = 'pump'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[]
[FVBCs]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_x
function = '0'
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_y
function = '0'
[]
[]
[FunctorMaterials]
[pump_force]
type = PiecewiseByBlockFunctorMaterial
prop_name = 'pump_force'
subdomain_to_prop_value = 'pump 1000.0
pipe 0.0'
[]
[]
[Postprocessors]
[flow_rate]
type = Receiver
default = 1.0
[]
[flow_rate_to_pipe]
type = VolumetricFlowRate
advected_quantity = ${rho}
boundary = 'pump_side'
vel_x = 'vel_x'
vel_y = 'vel_y'
[]
[maximum_speed]
type = ADElementExtremeFunctorValue
functor = vel_x
value_type = max
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = false
[out]
type = CSV
execute_on = FINAL
show = 'flow_rate_to_pipe maximum_speed'
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/1d-rc.i)
mu = 1.1
rho = 1.1
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 1
dx = '1 1'
ix = '30 30'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
pressure = pressure
[]
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = true
[]
(modules/reactor/test/tests/positions/hexagonal_grid_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
active = 'hex_grid'
[hex_grid]
type = HexagonalGridPositions
center = '0 0 0'
nr = 2
# the lattice flat to flat is very large compared to the pitch * nr
# the duct would be in between the lattice and the lattice
lattice_flat_to_flat = 7
pin_pitch = 0.5
outputs = 'out'
[]
[hex_grid_2rings_exclusions]
type = HexagonalGridPositions
center = '0 0 0'
nr = 2
pattern = '1 1;
2 1 2;
1 1'
include_in_pattern = '1'
lattice_flat_to_flat = 4
pin_pitch = 0.5
outputs = 'out'
[]
[hex_grid_3rings_exclusions]
type = HexagonalGridPositions
center = '0 0 0'
nr = 3
pattern = '1 1 1;
1 1 1 1;
2 1 3 2 3;
1 1 3 1;
1 1 1'
include_in_pattern = '1 2'
lattice_flat_to_flat = 4
pin_pitch = 0.5
outputs = 'out'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(modules/heat_transfer/test/tests/radiation_transfer_action/radiative_transfer_action_external_boundary_ray_tracing.i)
[Problem]
kernel_coverage_check = false
[]
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1.3 1.9'
ix = '3 3 3'
dy = '6'
iy = '9'
subdomain_id = '0 1 2'
[]
[inner_left]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 0
paired_block = 1
new_boundary = 'inner_left'
[]
[inner_right]
type = SideSetsBetweenSubdomainsGenerator
input = inner_left
primary_block = 2
paired_block = 1
new_boundary = 'inner_right'
[]
[inner_top]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y - 6) < 1e-10'
normal = '0 1 0'
included_subdomains = 1
new_sideset_name = 'inner_top'
input = 'inner_right'
[]
[inner_bottom]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y) < 1e-10'
normal = '0 -1 0'
included_subdomains = 1
new_sideset_name = 'inner_bottom'
input = 'inner_top'
[]
[rename]
type = RenameBlockGenerator
old_block = '2'
new_block = '0'
input = inner_bottom
[]
[]
[Variables]
[temperature]
block = 0
[]
[]
[Kernels]
[heat_conduction]
type = HeatConduction
variable = temperature
block = 0
diffusion_coefficient = 5
[]
[]
[GrayDiffuseRadiation]
[cavity]
boundary = '4 5 6 7'
emissivity = '0.9 0.8 0.4 1'
n_patches = '2 2 2 3'
partitioners = 'centroid centroid centroid centroid'
centroid_partitioner_directions = 'x y y x'
temperature = temperature
adiabatic_boundary = '7'
fixed_temperature_boundary = '6'
fixed_boundary_temperatures = '800'
view_factor_calculator = ray_tracing
[]
[]
[BCs]
[left]
type = DirichletBC
variable = temperature
boundary = left
value = 1000
[]
[right]
type = DirichletBC
variable = temperature
boundary = right
value = 300
[]
[]
[Postprocessors]
[average_T_inner_right]
type = SideAverageValue
variable = temperature
boundary = inner_right
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/postprocessors/side_average_value/side_average_functor_test.i)
[Mesh]
inactive = 'refine'
# U-shaped domains to have internal boundaries in
# a variety of directions
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1'
dy = '3 1'
ix = '4 5 3'
iy = '12 4'
subdomain_id = '1 2 1
1 1 1'
[]
[internal_boundary_dir1]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 1
paired_block = 2
new_boundary = 'inside_1'
[]
[internal_boundary_dir2]
type = SideSetsBetweenSubdomainsGenerator
input = internal_boundary_dir1
primary_block = 2
paired_block = 1
new_boundary = 'inside_2'
[]
[refine]
type = RefineBlockGenerator
input = internal_boundary_dir2
block = '1 2'
refinement = '2 1'
[]
[]
[Variables]
[u]
type = MooseVariableFVReal
block = 1
[]
[]
[AuxVariables]
[v1]
type = MooseVariableFVReal
block = 1
[FVInitialCondition]
type = FVFunctionIC
function = 'x + y'
[]
[]
[v2]
type = MooseVariableFVReal
block = 2
[FVInitialCondition]
type = FVFunctionIC
function = '2*x*x - y'
[]
[]
[]
[Functions]
[f1]
type = ParsedFunction
expression = 'exp(x - y)'
[]
[]
[FunctorMaterials]
[m1]
type = ADGenericFunctorMaterial
prop_names = 'm1'
prop_values = 'f1'
[]
[m2]
type = ADPiecewiseByBlockFunctorMaterial
prop_name = 'm2'
subdomain_to_prop_value = '1 12
2 4'
[]
[]
[FVKernels]
[diff]
type = FVDiffusion
variable = u
coeff = '1'
[]
[]
[FVBCs]
[left]
type = FVDirichletBC
variable = u
boundary = 3
value = 0
[]
[right]
type = FVDirichletBC
variable = u
boundary = 1
value = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Postprocessors]
# Mesh external boundaries integration
[ext_u]
type = SideAverageFunctorPostprocessor
boundary = 'left top right'
functor = u
restrict_to_functors_domain = true
[]
[ext_u_int]
type = ADSideIntegralFunctorPostprocessor
boundary = 'left top right'
functor = u
restrict_to_functors_domain = true
[]
[ext_u_area]
type = AreaPostprocessor
boundary = 'left top right'
[]
[ext_u_diff]
type = ParsedPostprocessor
pp_names = 'ext_u ext_u_int ext_u_area'
function = 'ext_u - ext_u_int/ext_u_area'
[]
[ext_v1]
type = SideAverageFunctorPostprocessor
boundary = 'left right'
functor = v1
[]
[ext_v2]
type = SideAverageFunctorPostprocessor
boundary = 'top'
functor = v2
restrict_to_functors_domain = true
[]
[ext_f1]
type = SideAverageFunctorPostprocessor
boundary = 'left top right'
functor = f1
prefactor = f1
[]
[ext_m1]
type = SideAverageFunctorPostprocessor
boundary = 'left top right'
functor = m1
restrict_to_functors_domain = true
[]
[ext_m2]
type = SideAverageFunctorPostprocessor
boundary = 'left top right'
functor = m2
restrict_to_functors_domain = true
[]
# Internal to the mesh, but a side to the variables
# With orientation of normal 1->2
[int_s1_u]
type = SideAverageFunctorPostprocessor
boundary = inside_1
functor = u
[]
[int_s1_v1]
type = SideAverageFunctorPostprocessor
boundary = inside_1
functor = v1
[]
[int_s1_f1]
type = SideAverageFunctorPostprocessor
boundary = inside_1
functor = f1
[]
[int_s1_m1]
type = SideAverageFunctorPostprocessor
boundary = inside_1
functor = m1
[]
[int_s1_m2]
type = SideAverageFunctorPostprocessor
boundary = inside_1
functor = m2
[]
# With orientation of normal 2->1
[int_s2_v2]
type = SideAverageFunctorPostprocessor
boundary = inside_2
functor = v2
[]
[int_s2_f1]
type = SideAverageFunctorPostprocessor
boundary = inside_2
functor = f1
[]
[int_s2_m1]
type = SideAverageFunctorPostprocessor
boundary = inside_2
functor = m1
[]
[int_s2_m2]
type = SideAverageFunctorPostprocessor
boundary = inside_2
functor = m2
[]
[]
[Outputs]
csv = true
exodus = true
[]
[Problem]
kernel_coverage_check = false
[]
(test/tests/multiapps/command_line/parent_common_vector.i)
[Mesh]
type = GeneratedMesh
dim = 1
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Steady
[]
[MultiApps]
active = 'sub_1'
[sub_1]
type = FullSolveMultiApp
positions = '0 0 0
1 1 1'
input_files = 'sub.i'
cli_args = 'Mesh/mesh/type=CartesianMeshGenerator;Mesh/mesh/dim=1;Mesh/mesh/dx="1 2 1";Mesh/mesh/ix="4 3 1"'
[]
[sub_1_split]
type = FullSolveMultiApp
positions = '0 0 0
1 1 1'
input_files = 'sub.i'
cli_args = 'Mesh/mesh/type=CartesianMeshGenerator;Mesh/mesh/dim=1;Mesh/mesh/dx="1 2 1";Mesh/mesh/ix="4 3 1" Mesh/mesh/type=CartesianMeshGenerator;Mesh/mesh/dim=1;Mesh/mesh/dx="1 2 1";Mesh/mesh/ix="4 3 1"'
[]
[sub_2]
type = FullSolveMultiApp
positions = '0 0 0
1 1 1'
input_files = 'sub.i'
cli_args = "Mesh/mesh/type=CartesianMeshGenerator;Mesh/mesh/dim=1;Mesh/mesh/dx='1 2 "
"1';Mesh/mesh/ix='4 3 1'"
[]
[sub_2_split]
type = FullSolveMultiApp
positions = '0 0 0
1 1 1'
input_files = 'sub.i'
cli_args = "Mesh/mesh/type=CartesianMeshGenerator;Mesh/mesh/dim=1;Mesh/mesh/dx='1 2 "
"1';Mesh/mesh/ix='4 3 1' "
"Mesh/mesh/type=CartesianMeshGenerator;Mesh/mesh/dim=1;Mesh/mesh/dx='1 2 "
"1';Mesh/mesh/ix='4 3 1'"
[]
[]
(test/tests/transfers/multiapp_variable_value_sample_transfer/full_domain_primary.i)
[Mesh]
type = MeshGeneratorMesh
[cartesian_basic_mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.25 0.25 0.25 0.25'
ix = '1 1 1 1 '
dy = '0.25 0.25 0.25 0.25'
iy = '1 1 1 1'
subdomain_id = '1 2 2 2
1 1 2 2
1 1 2 2
1 1 1 2'
[]
[central_node]
type = ExtraNodesetGenerator
coord = '0.5 0.5'
input = cartesian_basic_mesh
new_boundary = 'central_node'
[]
[]
[Variables]
[to_subapp]
initial_condition = -1.0
[]
[]
[AuxKernels]
[discretize_to_subapp]
type = ParsedAux
variable = from_subapp_check
expression = 'to_subapp'
coupled_variables = 'to_subapp'
[]
[subapp_primary_diff]
type = ParsedAux
variable = subapp_primary_diff
expression = 'from_subapp_check - from_subapp'
coupled_variables = 'from_subapp_check from_subapp'
[]
[]
[AuxVariables]
[from_subapp]
family = MONOMIAL
order = CONSTANT
initial_condition = -2.0
[]
[from_subapp_check]
family = MONOMIAL
order = CONSTANT
initial_condition = -2.0
[]
[subapp_primary_diff]
family = MONOMIAL
order = CONSTANT
initial_condition = -2.0
[]
[array_var]
family = MONOMIAL
order = CONSTANT
components = 3
initial_condition = '-2 -1 0'
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = to_subapp
[]
[]
[BCs]
[edge]
type = DirichletBC
variable = to_subapp
boundary = 'top right left bottom'
value = 1
[]
[center]
type = DirichletBC
variable = to_subapp
boundary = 'central_node'
value = 0
[]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
num_steps = 3
dt = 1.0
nl_abs_tol = 1e-13
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
[MultiApps]
[sub]
type = CentroidMultiApp
input_files = subapp.i
[]
[]
[Transfers]
[from_primary_to_sub_pp]
type = MultiAppVariableValueSamplePostprocessorTransfer
to_multi_app = sub
source_variable = to_subapp
postprocessor = from_primary_pp
[]
[primary_average]
type = MultiAppVariableValueSamplePostprocessorTransfer
from_multi_app = sub
source_variable = from_subapp
postprocessor = to_primary_pp
[]
[array_var]
type = MultiAppVariableValueSamplePostprocessorTransfer
from_multi_app = sub
source_variable = array_var
source_variable_component = 2
postprocessor = to_primary_pp
[]
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/heated/2d-rc-heated-action.i)
mu = 1
rho = 1
k = 1e-3
cp = 1
u_inlet = 1
T_inlet = 200
h_cv = 1.0
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '5 5'
dy = '1.0'
ix = '50 50'
iy = '20'
subdomain_id = '1 2'
[]
[]
[Variables]
[T_solid]
type = MooseVariableFVReal
[]
[]
[AuxVariables]
[porosity]
type = MooseVariableFVReal
initial_condition = 0.5
[]
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
porous_medium_treatment = true
add_energy_equation = true
density = ${rho}
dynamic_viscosity = ${mu}
thermal_conductivity = ${k}
specific_heat = ${cp}
porosity = 'porosity'
# Reference file sets effective_conductivity by default that way
# so the conductivity is multiplied by the porosity in the kernel
effective_conductivity = false
initial_velocity = '${u_inlet} 1e-6 0'
initial_pressure = 0.0
initial_temperature = 0.0
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '${u_inlet} 0'
energy_inlet_types = 'heatflux'
energy_inlet_function = '${fparse u_inlet * rho * cp * T_inlet}'
wall_boundaries = 'top bottom'
momentum_wall_types = 'noslip symmetry'
energy_wall_types = 'heatflux heatflux'
energy_wall_function = '0 0'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0.1'
ambient_convection_alpha = ${h_cv}
ambient_temperature = 'T_solid'
mass_advection_interpolation = 'average'
momentum_advection_interpolation = 'average'
energy_advection_interpolation = 'average'
[]
[]
[FVKernels]
[solid_energy_diffusion]
type = FVDiffusion
coeff = ${k}
variable = T_solid
[]
[solid_energy_convection]
type = PINSFVEnergyAmbientConvection
variable = 'T_solid'
is_solid = true
T_fluid = 'T_fluid'
T_solid = 'T_solid'
h_solid_fluid = ${h_cv}
[]
[]
[FVBCs]
[heated-side]
type = FVDirichletBC
boundary = 'top'
variable = 'T_solid'
value = 150
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-14
[]
# Some basic Postprocessors to examine the solution
[Postprocessors]
[inlet-p]
type = SideAverageValue
variable = pressure
boundary = 'left'
[]
[outlet-u]
type = SideAverageValue
variable = superficial_vel_x
boundary = 'right'
[]
[outlet-temp]
type = SideAverageValue
variable = T_fluid
boundary = 'right'
[]
[solid-temp]
type = ElementAverageValue
variable = T_solid
[]
[]
[Outputs]
exodus = true
csv = false
[]
(modules/reactor/test/tests/meshgenerators/coarse_mesh_extra_element_id_generator/coarse_elem_restrict_subdomain.i)
[Mesh]
[fine_mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.5 0.5'
dy = '0.5 0.5'
ix = '5 5'
iy = '5 5'
subdomain_id = '0 1
0 1'
[]
[coarse_mesh_x]
type = GeneratedMeshGenerator
dim = 2
nx = 1
ny = 10
[]
[coarse_mesh_y]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[assign1]
type = CoarseMeshExtraElementIDGenerator
input = fine_mesh
coarse_mesh = coarse_mesh_x
extra_element_id_name = 'coarse_elem_id'
subdomains = 0
[]
[assign2]
type = CoarseMeshExtraElementIDGenerator
input = assign1
coarse_mesh = coarse_mesh_y
extra_element_id_name = 'coarse_elem_id'
subdomains = 1
[]
allow_renumbering = false
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[AuxVariables]
[coarse_elem_id]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[coarse_elem_id]
type = ExtraElementIDAux
variable = coarse_elem_id
extra_id_name = coarse_elem_id
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/vectorpostprocessors/side_value_sampler/side_value_sampler.i)
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.5 0.5'
dy = '1'
ix = '5 5'
iy = '10'
subdomain_id = '1 1'
[]
# Limited to 1 side to avoid inconsistencies in parallel
[internal_sideset]
type = ParsedGenerateSideset
combinatorial_geometry = 'y<0.51 & y>0.49 & x<0.11'
new_sideset_name = 'center'
input = 'mesh'
[]
# this keeps numbering continuous so tests dont fail on different ids in CSV
allow_renumbering = false
[]
[Variables]
[u]
[]
[v]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[diff_v]
type = Diffusion
variable = v
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[left_v]
type = DirichletBC
variable = v
boundary = left
value = 1
[]
[right_v]
type = DirichletBC
variable = v
boundary = right
value = 0
[]
[]
[VectorPostprocessors]
inactive = 'internal_sample'
[side_sample]
type = SideValueSampler
variable = 'u v'
boundary = top
sort_by = x
[]
[internal_sample]
type = SideValueSampler
variable = 'u v'
boundary = center
sort_by = 'id'
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'timestep_end'
[vpp_csv]
type = CSV
[]
[]
(modules/heat_transfer/test/tests/view_factors_symmetry/cavity_with_pillars.i)
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 3
dx = '0.5 0.5 0.5 0.5 0.5 0.5'
dy = '0.5 0.75 0.5'
dz = '1.5 0.5'
subdomain_id = '
1 1 1 1 1 1
1 2 1 1 2 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
'
[]
[add_obstruction]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 1
new_boundary = obstruction
input = cartesian
[]
[add_new_back]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(z) < 1e-10'
included_subdomains = '1'
normal = '0 0 -1'
new_sideset_name = back_2
input = add_obstruction
[]
[]
[UserObjects]
[view_factor_study]
type = ViewFactorRayStudy
execute_on = initial
boundary = 'left right top bottom front back_2 obstruction'
face_order = FOURTH
[]
[view_factor]
type = RayTracingViewFactor
boundary = 'left right top bottom front back_2 obstruction'
execute_on = INITIAL
normalize_view_factor = false
ray_study_name = view_factor_study
[]
[]
[RayBCs/viewfactor]
type = ViewFactorRayBC
boundary = 'left right top bottom front back_2 obstruction'
[]
[Postprocessors]
[left_right]
type = ViewFactorPP
from_boundary = left
to_boundary = right
view_factor_object_name = view_factor
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_eddy_viscosity_aux/mixing_length_eddy_viscosity.i)
von_karman_const = 0.41
H = 1 #halfwidth of the channel
L = 150
Re = 13700
rho = 1
bulk_u = 1
mu = ${fparse rho * bulk_u * 2 * H / Re}
advected_interp_method='upwind'
velocity_interp_method='rc'
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
pressure = pressure
[]
[]
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${L}'
dy = '0.667 0.333'
ix = '100'
iy = '10 1'
[]
[]
[Problem]
fv_bcs_integrity_check = false
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[mixing_len]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_shear_stress]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_yplus]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[eddy_viscosity]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_time]
type = INSFVMomentumTimeDerivative
variable = u
rho = ${rho}
momentum_component = 'x'
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = u
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'x'
u = u
v = v
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_time]
type = INSFVMomentumTimeDerivative
variable = v
rho = ${rho}
momentum_component = 'y'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = v
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'y'
u = u
v = v
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[]
[AuxKernels]
[mixing_len]
type = WallDistanceMixingLengthAux
walls = 'top'
variable = mixing_len
execute_on = 'initial'
von_karman_const = ${von_karman_const}
delta = 0.5
[]
[turbulent_viscosity]
type = INSFVMixingLengthTurbulentViscosityAux
variable = eddy_viscosity
mixing_length = mixing_len
u = u
v = v
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = '0'
[]
[wall-u]
type = INSFVWallFunctionBC
variable = u
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = x
[]
[wall-v]
type = INSFVWallFunctionBC
variable = v
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = y
[]
[sym-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = u
u = u
v = v
mu = ${mu}
momentum_component = x
[]
[sym-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = v
u = u
v = v
mu = ${mu}
momentum_component = y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = '0'
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
[TimeStepper]
type = IterationAdaptiveDT
optimal_iterations = 6
dt = 1e-3
[]
nl_abs_tol = 1e-8
end_time = 1e9
[]
[Outputs]
[out]
type = Exodus
execute_on = 'final'
[]
[]
(test/tests/meshgenerators/coarsen_block_generator/coarsen_quad_multi.i)
[Mesh]
# use these two to re-generate input.e
[eg]
type = CartesianMeshGenerator
dim = 2
dx = '2 1 1'
dy = '2 3'
ix = '2 1 1'
iy = '2 3'
subdomain_id = '0 1 1
1 2 0'
[]
[add_internal]
type = SideSetsBetweenSubdomainsGenerator
input = eg
paired_block = 0
primary_block = 2
new_boundary = middle
[]
[refine]
type = RefineBlockGenerator
input = add_internal
block = '0 1 2'
refinement = '0 1 1'
enable_neighbor_refinement = false
output = true
[]
final_generator = 'diag'
[input]
type = FileMeshGenerator
file = 'single_nonuniform.e'
[]
# Go back to what we had
[coarsen]
type = CoarsenBlockGenerator
input = input
block = '0 1 2'
coarsening = '0 1 1'
# This was found by looking at the output of refine
# careful, has transitions we dont support!
starting_point = '2.75 0.75 0'
verbose = true
[]
[diag]
type = MeshDiagnosticsGenerator
input = coarsen
examine_element_overlap = ERROR
search_for_adaptivity_nonconformality = WARNING
examine_non_conformality = WARNING
[]
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/postprocessors/pressure_drop/drop_insfv.i)
mu=1
rho=1
advected_interp_method='average'
velocity_interp_method='rc'
[GlobalParams]
rhie_chow_user_object = 'rc'
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
pressure = pressure
[]
[]
[Mesh]
inactive = 'mesh internal_boundary_bot internal_boundary_top'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1'
dy = '1 1 1'
ix = '5'
iy = '5 5 5'
subdomain_id = '1
2
3'
[]
[internal_boundary_bot]
type = SideSetsBetweenSubdomainsGenerator
input = mesh
new_boundary = 'internal_bot'
primary_block = 1
paired_block = 2
[]
[internal_boundary_top]
type = SideSetsBetweenSubdomainsGenerator
input = internal_boundary_bot
new_boundary = 'internal_top'
primary_block = 2
paired_block = 3
[]
[diverging_mesh]
type = FileMeshGenerator
file = 'expansion_quad.e'
[]
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 0
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[temperature]
type = INSFVEnergyVariable
[]
[]
[AuxVariables]
[advected_density]
type = MooseVariableFVReal
initial_condition = ${rho}
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
force_boundary_execution = true
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
force_boundary_execution = true
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[temp_advection]
type = INSFVEnergyAdvection
variable = temperature
advected_interp_method = 'upwind'
[]
[temp_source]
type = FVBodyForce
variable = temperature
function = 10
block = 1
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'bottom'
variable = u
function = 0
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'bottom'
variable = v
function = 1
[]
[noslip-u]
type = INSFVNoSlipWallBC
boundary = 'right'
variable = u
function = 0
[]
[noslip-v]
type = INSFVNoSlipWallBC
boundary = 'right'
variable = v
function = 0
[]
[axis-u]
type = INSFVSymmetryVelocityBC
boundary = 'left'
variable = u
u = u
v = v
mu = ${mu}
momentum_component = x
[]
[axis-v]
type = INSFVSymmetryVelocityBC
boundary = 'left'
variable = v
u = u
v = v
mu = ${mu}
momentum_component = y
[]
[axis-p]
type = INSFVSymmetryPressureBC
boundary = 'left'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'top'
variable = pressure
function = 0
[]
[inlet_temp]
type = FVNeumannBC
boundary = 'bottom'
variable = temperature
value = 300
[]
[]
[FunctorMaterials]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'temperature'
rho = ${rho}
[]
[advected_material_property]
type = ADGenericFunctorMaterial
prop_names = 'advected_rho cp'
prop_values ='${rho} 1'
[]
[vel_functor]
type = ADGenericVectorFunctorMaterial
prop_names = 'velocity'
prop_values = 'u v 0'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm 200 lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-12
[]
[Postprocessors]
[pdrop_total]
type = PressureDrop
pressure = pressure
upstream_boundary = 'bottom'
downstream_boundary = 'top'
boundary = 'top bottom'
[]
[pdrop_mid1]
type = PressureDrop
pressure = pressure
upstream_boundary = 'bottom'
downstream_boundary = 'internal_bot'
boundary = 'bottom internal_bot'
[]
[pdrop_mid2]
type = PressureDrop
pressure = pressure
upstream_boundary = 'internal_bot'
downstream_boundary = 'internal_top'
boundary = 'internal_top internal_bot'
[]
[pdrop_mid3]
type = PressureDrop
pressure = pressure
upstream_boundary = 'internal_top'
downstream_boundary = 'top'
boundary = 'top internal_top'
[]
[sum_drops]
type = ParsedPostprocessor
expression = 'pdrop_mid1 + pdrop_mid2 + pdrop_mid3'
pp_names = 'pdrop_mid1 pdrop_mid2 pdrop_mid3'
[]
[p_upstream]
type = SideAverageValue
variable = pressure
boundary = 'bottom'
[]
[p_downstream]
type = SideAverageValue
variable = pressure
boundary = 'top'
[]
[]
[Outputs]
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/linear-segregated/2d/2d-velocity-pressure.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.3'
dy = '0.3'
ix = '3'
iy = '3'
[]
[]
[Problem]
linear_sys_names = 'u_system v_system pressure_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = RhieChowMassFlux
u = vel_x
v = vel_y
pressure = pressure
rho = ${rho}
p_diffusion_kernel = p_diffusion
[]
[]
[Variables]
[vel_x]
type = MooseLinearVariableFVReal
initial_condition = 0.5
solver_sys = u_system
[]
[vel_y]
type = MooseLinearVariableFVReal
solver_sys = v_system
initial_condition = 0.0
[]
[pressure]
type = MooseLinearVariableFVReal
solver_sys = pressure_system
initial_condition = 0.2
[]
[]
[LinearFVKernels]
[u_advection_stress]
type = LinearWCNSFVMomentumFlux
variable = vel_x
advected_interp_method = ${advected_interp_method}
mu = ${mu}
u = vel_x
v = vel_y
momentum_component = 'x'
rhie_chow_user_object = 'rc'
use_nonorthogonal_correction = false
[]
[v_advection_stress]
type = LinearWCNSFVMomentumFlux
variable = vel_y
advected_interp_method = ${advected_interp_method}
mu = ${mu}
u = vel_x
v = vel_y
momentum_component = 'y'
rhie_chow_user_object = 'rc'
use_nonorthogonal_correction = false
[]
[u_pressure]
type = LinearFVMomentumPressure
variable = vel_x
pressure = pressure
momentum_component = 'x'
[]
[v_pressure]
type = LinearFVMomentumPressure
variable = vel_y
pressure = pressure
momentum_component = 'y'
[]
[p_diffusion]
type = LinearFVAnisotropicDiffusion
variable = pressure
diffusion_tensor = Ainv
use_nonorthogonal_correction = false
[]
[HbyA_divergence]
type = LinearFVDivergence
variable = pressure
face_flux = HbyA
force_boundary_execution = true
[]
[]
[LinearFVBCs]
[inlet-u]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'left'
variable = vel_x
functor = '1.1'
[]
[inlet-v]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'left'
variable = vel_y
functor = '0.0'
[]
[walls-u]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'top bottom'
variable = vel_x
functor = 0.0
[]
[walls-v]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'top bottom'
variable = vel_y
functor = 0.0
[]
[outlet_p]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'right'
variable = pressure
functor = 1.4
[]
[outlet_u]
type = LinearFVAdvectionDiffusionOutflowBC
variable = vel_x
use_two_term_expansion = false
boundary = right
[]
[outlet_v]
type = LinearFVAdvectionDiffusionOutflowBC
variable = vel_y
use_two_term_expansion = false
boundary = right
[]
[]
[Executioner]
type = SIMPLE
momentum_l_abs_tol = 1e-10
pressure_l_abs_tol = 1e-10
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
num_iterations = 50
pressure_absolute_tolerance = 1e-10
momentum_absolute_tolerance = 1e-10
momentum_petsc_options_iname = '-pc_type -pc_hypre_type'
momentum_petsc_options_value = 'hypre boomeramg'
pressure_petsc_options_iname = '-pc_type -pc_hypre_type'
pressure_petsc_options_value = 'hypre boomeramg'
print_fields = false
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_total_viscosity_material/mixing_length_total_viscosity.i)
von_karman_const = 0.41
H = 1 #halfwidth of the channel
L = 150
Re = 13700
rho = 1
bulk_u = 1
mu = ${fparse rho * bulk_u * 2 * H / Re}
advected_interp_method='upwind'
velocity_interp_method='rc'
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${L}'
dy = '0.667 0.333'
ix = '200'
iy = '10 1'
[]
[]
[Problem]
fv_bcs_integrity_check = false
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[mixing_length]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_time]
type = INSFVMomentumTimeDerivative
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = vel_x
rho = ${rho}
mixing_length = mixing_length
momentum_component = 'x'
u = vel_x
v = vel_y
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[v_time]
type = INSFVMomentumTimeDerivative
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = vel_y
rho = ${rho}
mixing_length = mixing_length
momentum_component = 'y'
u = vel_x
v = vel_y
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[]
[AuxKernels]
[mixing_len]
type = WallDistanceMixingLengthAux
walls = 'top'
variable = mixing_length
execute_on = 'initial'
von_karman_const = ${von_karman_const}
delta = 0.5
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0'
[]
[wall-u]
type = INSFVWallFunctionBC
variable = vel_x
boundary = 'top'
u = vel_x
v = vel_y
mu = ${mu}
rho = ${rho}
momentum_component = x
[]
[wall-v]
type = INSFVWallFunctionBC
variable = vel_y
boundary = 'top'
u = vel_x
v = vel_y
mu = ${mu}
rho = ${rho}
momentum_component = y
[]
[sym-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_x
u = vel_x
v = vel_y
mu = total_viscosity
momentum_component = x
[]
[sym-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_y
u = vel_x
v = vel_y
mu = total_viscosity
momentum_component = y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = '0'
[]
[]
[FunctorMaterials]
[total_viscosity]
type = MixingLengthTurbulentViscosityFunctorMaterial
u = 'vel_x' #computes total viscosity = mu_t + mu
v = 'vel_y' #property is called total_viscosity
mixing_length = mixing_length
mu = ${mu}
rho = ${rho}
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
[TimeStepper]
type = IterationAdaptiveDT
optimal_iterations = 6
dt = 1e-3
[]
nl_abs_tol = 1e-8
end_time = 1e9
[]
[Outputs]
[out]
type = Exodus
execute_on = 'final'
[]
[]
(modules/phase_field/test/tests/initial_conditions/BlockRestriction.i)
[Mesh]
[two_blocks]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4'
dy = '1.3'
ix = '5 5'
iy = '5'
subdomain_id = '0 1'
[]
[]
[Variables]
[bicrystal0_0]
[]
[bicrystal0_1]
[]
[bicrystal1_0]
[]
[bicrystal1_1]
[]
[tricrystal_0]
[]
[tricrystal_1]
[]
[tricrystal_2]
[]
[random_0]
[]
[random_1]
[]
[voronoi_0]
[]
[voronoi_1]
[]
[voronoi_2]
[]
[voronoi_3]
[]
[voronoi_4]
[]
[voronoi_5]
[]
[voronoi_6]
[]
[voronoi_7]
[]
[]
[ICs]
[PolycrystalICs]
[BicrystalBoundingBoxIC]
block = '0'
var_name_base = 'bicrystal0_'
op_num = 2
x1 = 0
x2 = 1
y1 = 0
y2 = 1
[]
[BicrystalCircleGrainIC]
block = '0'
var_name_base = 'bicrystal1_'
op_num = 2
x = 2.7
y = 0.6
radius = 2
[]
[Tricrystal2CircleGrainsIC]
block = '0'
var_name_base = 'tricrystal_'
op_num = 3
[]
[PolycrystalRandomIC]
block = '0'
var_name_base = 'random_'
op_num = 2
random_type = 'continuous'
[]
[PolycrystalVoronoiVoidIC]
polycrystal_ic_uo = voronoi
block = '0'
numbub = 3
bubspac = 0.02
radius = 0.05
invalue = 1
outvalue = 0.1
var_name_base = 'voronoi_'
op_num = 8
[]
[]
[]
[UserObjects]
[voronoi]
type = PolycrystalVoronoi
rand_seed = 10
int_width = 0
var_name_base = 'voronoi_'
op_num = 8
grain_num = 4
[]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 0
[]
[Outputs]
exodus = true
[]
(test/tests/times/time_interval_times.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Times]
[times]
type = TimeIntervalTimes
time_interval = 2.0
always_include_end_time = true
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
start_time = 5.0
end_time = 10.0
num_steps = 2
[]
[Outputs]
file_base = 'time_interval_with_end'
[out]
type = JSON
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-2d-action.i)
rho=1.1
mu=0
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '0.5'
ix = '3 3'
iy = '2'
subdomain_id = '1 2'
[]
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
porous_medium_treatment = true
density = 'rho'
dynamic_viscosity = 'mu'
porosity = 'porosity'
initial_velocity = '1 1e-6 0'
initial_pressure = 0.0
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '1 0'
wall_boundaries = 'top bottom'
momentum_wall_types = 'slip slip'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0.4'
porosity_interface_pressure_treatment = 'bernoulli'
mass_advection_interpolation = 'upwind'
momentum_advection_interpolation = 'upwind'
[]
[]
[FunctorMaterials]
[const]
type = ADGenericFunctorMaterial
prop_names = 'rho mu'
prop_values = '${rho} ${mu}'
[]
[]
[AuxVariables]
[porosity]
type = PiecewiseConstantVariable
[]
[]
[ICs]
[porosity_1]
type = ConstantIC
variable = porosity
block = 1
value = 1
[]
[porosity_2]
type = ConstantIC
variable = porosity
block = 2
value = 0.5
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-10
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = superficial_vel_x
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = true
[]
(modules/navier_stokes/test/tests/postprocessors/flow_rates/conservation_INSFE.i)
[Mesh]
second_order = true
inactive = 'mesh internal_boundary_bot internal_boundary_top'
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1'
dy = '1 1 1'
ix = '5'
iy = '5 5 5'
subdomain_id = '1
2
3'
[]
[internal_boundary_bot]
type = SideSetsBetweenSubdomainsGenerator
input = mesh
new_boundary = 'internal_bot'
primary_block = 1
paired_block = 2
[]
[internal_boundary_top]
type = SideSetsBetweenSubdomainsGenerator
input = internal_boundary_bot
new_boundary = 'internal_top'
primary_block = 2
paired_block = 3
[]
[diverging_mesh]
type = FileMeshGenerator
file = 'expansion_quad.e'
[]
[]
[Modules]
[IncompressibleNavierStokes]
equation_type = steady-state
# no slip BCs
velocity_boundary = 'bottom right left'
velocity_function = '0 1 0 0 0 0'
pressure_boundary = 'top'
pressure_function = '1'
density_name = rho
dynamic_viscosity_name = mu
integrate_p_by_parts = false
order = SECOND
[]
[]
[Materials]
[const]
type = GenericConstantMaterial
block = '1 2 3'
prop_names = 'rho mu'
prop_values = '1 1'
[]
[]
[FunctorMaterials]
[ADconst]
type = ADGenericFunctorMaterial
block = '1 2 3'
prop_names = 'rho_ad'
prop_values = '1'
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-ksp_gmres_restart -pc_type -sub_pc_type -sub_pc_factor_levels'
petsc_options_value = '300 bjacobi ilu 4'
line_search = none
nl_rel_tol = 1e-12
nl_max_its = 6
l_tol = 1e-6
l_max_its = 300
[]
[Postprocessors]
[inlet_mass_constant]
type = VolumetricFlowRate
boundary = bottom
vel_x = vel_x
vel_y = vel_y
advected_variable = 1
[]
[inlet_mass_matprop]
type = VolumetricFlowRate
boundary = bottom
vel_x = vel_x
vel_y = vel_y
advected_mat_prop = 'rho_ad'
[]
[mid1_mass]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = vel_x
vel_y = vel_y
[]
[other_mid1_mass]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = vel_x
vel_y = vel_y
advected_mat_prop = 'rho_ad'
[]
[mid2_mass]
type = VolumetricFlowRate
boundary = internal_top
vel_x = vel_x
vel_y = vel_y
[]
[outlet_mass]
type = VolumetricFlowRate
boundary = top
vel_x = vel_x
vel_y = vel_y
[]
[inlet_momentum_x]
type = VolumetricFlowRate
boundary = bottom
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_x
[]
[mid1_momentum_x]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_x
[]
[mid2_momentum_x]
type = VolumetricFlowRate
boundary = internal_top
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_x
[]
[outlet_momentum_x]
type = VolumetricFlowRate
boundary = top
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_x
[]
[inlet_momentum_y]
type = VolumetricFlowRate
boundary = bottom
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_y
[]
[mid1_momentum_y]
type = VolumetricFlowRate
boundary = internal_bot
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_y
[]
[mid2_momentum_y]
type = VolumetricFlowRate
boundary = internal_top
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_y
[]
[outlet_momentum_y]
type = VolumetricFlowRate
boundary = top
vel_x = vel_x
vel_y = vel_y
advected_variable = vel_y
[]
[]
[Outputs]
exodus = false
csv = true
inactive = 'console_mass console_momentum_x console_momentum_y'
[console_mass]
type = Console
start_step = 1
show = 'inlet_mass_variable inlet_mass_constant inlet_mass_matprop mid1_mass mid2_mass outlet_mass'
[]
[console_momentum_x]
type = Console
start_step = 1
show = 'inlet_momentum_x mid1_momentum_x mid2_momentum_x outlet_momentum_x'
[]
[console_momentum_y]
type = Console
start_step = 1
show = 'inlet_momentum_y mid1_momentum_y mid2_momentum_y outlet_momentum_y'
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/natural_convection/fuel_cavity.i)
# ========================================================================
# The purpose of this MOOSE scripts is to solve a 2-D axisymmetric
# problem with the following details:
# ------------------------------------------------------------------
# Physics: natural convection through a fluid and heat conduction
# in a solid and there is convective heat transfer from the
# solid to the liquid.
# ------------------------------------------------------------------
# Materials: the fluid is water and the solid is not specified.
# ------------------------------------------------------------------
# BCS: Inlet and outlet pressure with value of 0
# noslip conditions on the walls.
# Heat flux on the left wall with value of 40000 W/m^2
# ========================================================================
# ========================================================================
# Dimensions & Physical properties
# ========================================================================
Domain_length = 121.92e-2 # m
Solid_width = 0.7112e-3 # m
Liquid_width = 0.56261e-2 # m
mu = 0.00053157
rho = 987.27
k = 0.64247
k_solid = 15.0
cp = 4181.8
alpha_b = 210e-6
T_init = 300.0
input_heat_flux = 40000.0
# ========================================================================
# The main body of the script
# ========================================================================
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
#dx = '0.7032625e-4 0.7112e-5'
dx = '${Liquid_width} ${Solid_width}'
ix = '10 3'
dy = '${fparse 1./5.*Domain_length} ${fparse 4./5.*Domain_length}'
iy = '30 10'
subdomain_id = '0 1
0 1'
[]
[interface]
type = SideSetsBetweenSubdomainsGenerator
input = 'cmg'
primary_block = 0
paired_block = 1
new_boundary = 'interface'
[]
[fluid_side]
type = BreakBoundaryOnSubdomainGenerator
input = 'interface'
boundaries = 'top bottom'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
block = 0
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
block = 0
initial_condition = 1e-6
[]
[vel_y]
type = INSFVVelocityVariable
block = 0
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
block = 0
[]
[T]
type = INSFVEnergyVariable
block = 0
initial_condition = ${T_init}
scaling = 1e-5
[]
[Ts]
type = INSFVEnergyVariable
block = 1
initial_condition = ${T_init}
scaling = 1e-3
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[u_time]
type = INSFVMomentumTimeDerivative
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[u_buoyancy]
type = INSFVMomentumBoussinesq
variable = vel_x
T_fluid = T
gravity = '0 -9.81 0'
rho = ${rho}
ref_temperature = ${T_init}
momentum_component = 'x'
#alpha_name = ${alpha_b}
[]
[v_time]
type = INSFVMomentumTimeDerivative
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
rho = ${rho}
momentum_component = 'y'
#alpha_name = ${alpha_b}
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[v_buoyancy]
type = INSFVMomentumBoussinesq
variable = vel_y
T_fluid = T
gravity = '0 -9.81 0'
rho = ${rho}
ref_temperature = ${T_init}
momentum_component = 'y'
[]
[temp_time]
type = INSFVEnergyTimeDerivative
variable = T
rho = '${rho}'
dh_dt = dh_dt
[]
[temp_conduction]
type = FVDiffusion
coeff = 'k'
variable = T
[]
[temp_advection]
type = INSFVEnergyAdvection
variable = T
[]
[Ts_time]
type = INSFVEnergyTimeDerivative
variable = Ts
rho = '${rho}'
dh_dt = dh_solid_dt
[]
[solid_temp_conduction]
type = FVDiffusion
coeff = 'k_solid'
variable = Ts
[]
[]
[FVInterfaceKernels]
[convection]
type = FVConvectionCorrelationInterface
variable1 = T
variable2 = Ts
boundary = 'interface'
h = htc
T_solid = Ts
T_fluid = T
subdomain1 = 0
subdomain2 = 1
wall_cell_is_bulk = true
[]
[]
[FVBCs]
[walls_u]
type = INSFVNoSlipWallBC
variable = vel_x
boundary = 'interface left bottom_to_0'
function = 0
[]
[walls_v]
type = INSFVNoSlipWallBC
variable = vel_y
boundary = 'interface left bottom_to_0'
function = 0
[]
[outlet]
type = INSFVOutletPressureBC
variable = pressure
boundary = 'top_to_0'
function = 0.0
[]
[outlet_T]
type = NSFVOutflowTemperatureBC
variable = T
boundary = 'top_to_0'
u = vel_x
v = vel_y
rho = ${rho}
cp = '${cp}'
backflow_T = ${T_init}
[]
[Insulator]
type = FVNeumannBC
variable = 'T'
boundary = 'left'
value = 0.0
[]
[heater]
type = FVNeumannBC
variable = 'Ts'
boundary = 'right'
value = '${fparse input_heat_flux}'
[]
[Insulator_solid]
type = FVNeumannBC
variable = 'Ts'
boundary = 'top_to_1'
value = 0.0
[]
[inlet_T_1]
type = FVDirichletBC
variable = Ts
boundary = 'bottom_to_1'
value = ${T_init}
[]
[]
[AuxVariables]
[Ra]
type = INSFVScalarFieldVariable
initial_condition = 1000.0
[]
[htc]
type = INSFVScalarFieldVariable
initial_condition = 0.0
[]
[]
[AuxKernels]
[compute_Ra]
type = ParsedAux
variable = Ra
coupled_variables = 'T'
constant_names = 'g beta T_init width nu alpha'
constant_expressions = '9.81 ${alpha_b} ${T_init} ${Liquid_width} ${fparse mu/rho} ${fparse k/(rho*cp)}'
expression = 'g * beta * (T - T_init) * pow(width, 3) / (nu*alpha) + 1.0'
block = 0
[]
[htc]
type = ParsedAux
variable = htc
coupled_variables = 'Ra'
constant_names = 'Pr'
constant_expressions = '${fparse cp*mu/k}'
expression = '${k}* (0.68 + 0.67 * pow(Ra, 0.25)/pow(1 + pow(0.437/Pr, 9/16) ,4/9) )/ ${Liquid_width} '
block = 0
[]
[]
[FunctorMaterials]
[functor_constants]
type = ADGenericFunctorMaterial
prop_names = 'cp k k_solid'
prop_values = '${cp} ${k} ${k_solid}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'T'
rho = ${rho}
block = 0
[]
[ins_fv_solid]
type = INSFVEnthalpyFunctorMaterial
temperature = 'Ts'
rho = ${rho}
cp = ${cp}
h = h_solid
rho_h = rho_h_solid
block = 1
[]
[const_functor]
type = ADGenericFunctorMaterial
prop_names = 'alpha_b'
prop_values = '${alpha_b}'
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -sub_pc_factor_shift_type -ksp_gmres_restart'
petsc_options_value = ' lu NONZERO 200'
line_search = 'none'
[TimeStepper]
type = IterationAdaptiveDT
dt = 0.01
optimal_iterations = 20
iteration_window = 2
[]
nl_max_its = 30
nl_abs_tol = 1e-10
steady_state_detection = true
steady_state_tolerance = 1e-09
[]
[Postprocessors]
[max_T]
type = ADElementExtremeFunctorValue
functor = T
block = 0
[]
[max_Ts]
type = ADElementExtremeFunctorValue
functor = Ts
block = 1
[]
[]
[Outputs]
exodus = false
csv = true
[]
(test/tests/fvkernels/fv_anisotropic_diffusion/fv_anisotropic_diffusion.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '10 10'
ix = '2 2'
dy = '20'
iy = '4'
subdomain_id = '1 2'
[]
[]
[Variables]
[v]
family = MONOMIAL
order = CONSTANT
fv = true
[]
[u]
order = FIRST
family = LAGRANGE
[]
[]
[Kernels]
[fem_diff1]
type = AnisotropicDiffusion
variable = u
tensor_coeff = '1 0 0
0 10 0
0 0 0'
block = 1
[]
[fem_diff2]
type = AnisotropicDiffusion
variable = u
tensor_coeff = '10 0 0
0 10 0
0 0 0'
block = 2
[]
[]
[BCs]
[fem_left_bottom]
type = NeumannBC
variable = u
boundary = 'left bottom'
value = 1
[]
[fem_top_right]
type = DirichletBC
variable = u
boundary = 'right top'
value = 0
[]
[]
[FVKernels]
[diff]
type = FVAnisotropicDiffusion
variable = v
coeff = coeff
[]
[]
[FVBCs]
[left_bottom]
type = FVNeumannBC
variable = v
boundary = 'left bottom'
value = 1
[]
[top_right]
type = FVDirichletBC
variable = v
boundary = 'right top'
value = 0
[]
[]
[Materials]
[diff1]
type = ADGenericVectorFunctorMaterial
prop_names = 'coeff'
prop_values = '1 10 1'
block = 1
[]
[diff2]
type = ADGenericVectorFunctorMaterial
prop_names = 'coeff'
prop_values = '10 10 1'
block = 2
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-energy.i)
mu = 2.6
rho = 1.0
k = 5.0
cp = 700
alpha = 150
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.3'
dy = '0.3'
ix = '3'
iy = '3'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system energy_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[T_fluid]
type = INSFVEnergyVariable
initial_condition = 300
solver_sys = energy_system
two_term_boundary_expansion = false
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[energy_advection]
type = INSFVEnergyAdvection
variable = T_fluid
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[energy_diffusion]
type = FVDiffusion
coeff = ${k}
variable = T_fluid
[]
[ambient_convection]
type = NSFVEnergyAmbientConvection
variable = T_fluid
T_ambient = 350
alpha = 'alpha'
[]
[]
[FVBCs]
inactive = "symmetry-u symmetry-v symmetry-p"
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1.1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0.0'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = vel_y
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1.4
[]
[zero-grad-pressure]
type = FVFunctionNeumannBC
variable = pressure
boundary = 'top left bottom'
function = 0.0
[]
[inlet_t]
type = FVDirichletBC
boundary = 'left'
variable = T_fluid
value = 300
[]
### Inactive by default, some tests will turn these on ###
[symmetry-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_x
u = vel_x
v = vel_y
mu = ${mu}
momentum_component = 'x'
[]
[symmetry-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_y
u = vel_x
v = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[symmetry-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
##########################################################
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
energy_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
energy_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
energy_system = 'energy_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
energy_equation_relaxation = 0.99
num_iterations = 100
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
energy_absolute_tolerance = 1e-13
print_fields = false
[]
[Materials]
[const_functor]
type = ADGenericFunctorMaterial
prop_names = 'cp alpha'
prop_values = '${cp} ${alpha}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
rho = ${rho}
temperature = 'T_fluid'
[]
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(test/tests/auxkernels/array_var_reduction/array_var_reduction.i)
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 1
dx = '1 1 1 1'
subdomain_id = '1 2 3 4'
[]
[]
[Problem]
solve = false
[]
[GlobalParams]
family = MONOMIAL
order = CONSTANT
[]
[AuxVariables]
[min_var][]
[max_var][]
[sum_var][]
[average_var][]
[arr_var]
components = 4
[]
[]
[AuxKernels]
[min_aux]
type = ArrayVarReductionAux
variable = min_var
array_variable = arr_var
value_type = min
[]
[max_aux]
type = ArrayVarReductionAux
variable = max_var
array_variable = arr_var
value_type = max
[]
[sum_aux]
type = ArrayVarReductionAux
variable = sum_var
array_variable = arr_var
value_type = sum
[]
[average_aux]
type = ArrayVarReductionAux
variable = average_var
array_variable = arr_var
value_type = average
[]
[]
[ICs]
[arr_var_ic_1]
type = ArrayConstantIC
variable = arr_var
value = '1 2 3 4'
block = 1
[]
[arr_var_ic_2]
type = ArrayConstantIC
variable = arr_var
value = '1 2 3 -4'
block = 2
[]
[arr_var_ic_3]
type = ArrayConstantIC
variable = arr_var
value = '100 0 0 0'
block = 3
[]
[arr_var_ic_4]
type = ArrayConstantIC
variable = arr_var
value = '100 2 1 -1000'
block = 4
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/auxkernels/advection_flux/advection_flux_fe.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.75 0.75 0.75'
dy = '0.75 0.75 0.75'
ix = '2 2 2'
iy = '2 2 2'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[add_inner_boundaries_top]
type = SideSetsAroundSubdomainGenerator
input = cmg
new_boundary = 'block_2_top'
block = 2
normal = '0 1 0'
[]
[add_inner_boundaries_bot]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_top
new_boundary = 'block_2_bot'
block = 2
normal = '0 -1 0'
[]
[add_inner_boundaries_right]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_bot
new_boundary = 'block_2_right'
block = 2
normal = '1 0 0'
[]
[add_inner_boundaries_left]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_right
new_boundary = 'block_2_left'
block = 2
normal = '-1 0 0'
[]
[]
[Variables]
[u]
[]
[v]
[]
[]
[ICs]
[u_blob]
type = FunctionIC
variable = u
function = 'if(x<0.75,if(y<0.75,1,0),0)'
[]
[v_blob]
type = FunctionIC
variable = v
function = 'if(x<0.75,if(y<0.75,1,0),0)'
[]
[]
[Kernels]
[udot]
type = MassLumpedTimeDerivative
variable = u
[]
[u_advec]
type = ConservativeAdvection
variable = u
upwinding_type = full
velocity = '2 0 0'
[]
[vdot]
type = MassLumpedTimeDerivative
variable = v
[]
[v_advec]
type = ConservativeAdvection
variable = v
upwinding_type = full
velocity = '0 2 0'
[]
[]
[Materials]
[rho]
type = GenericConstantMaterial
prop_names = 'rho'
prop_values = '1'
[]
[]
[AuxVariables]
[flux_x]
order = FIRST
family = MONOMIAL
[]
[]
[AuxKernels]
[flux_x]
type = AdvectiveFluxAux
variable = flux_x
vel_x = u
vel_y = v
advected_mat_prop = 'rho'
component = x
boundary = 'block_2_right block_2_left'
[]
[]
[Executioner]
type = Transient
solve_type = LINEAR
dt = 0.01
end_time = 0.02
l_tol = 1E-14
[]
[Postprocessors]
[flux_right]
type = SideIntegralVariablePostprocessor
variable = flux_x
boundary = 'block_2_right'
[]
[flux_right_exact]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_right'
vel_x = u
vel_y = v
component = x
advected_mat_prop = 'rho'
[]
[flux_left]
type = SideIntegralVariablePostprocessor
variable = flux_x
boundary = 'block_2_left'
[]
[flux_left_exact]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_left'
vel_x = u
vel_y = v
component = x
advected_mat_prop = 'rho'
[]
[]
[Outputs]
csv = true
[]
(test/tests/auxkernels/advection_flux/normal_advection_flux_fe.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.75 0.75 0.75'
dy = '0.75 0.75 0.75'
ix = '2 2 2'
iy = '2 2 2'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[add_inner_boundaries_top]
type = SideSetsAroundSubdomainGenerator
input = cmg
new_boundary = 'block_2_top'
block = 2
normal = '0 1 0'
[]
[add_inner_boundaries_bot]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_top
new_boundary = 'block_2_bot'
block = 2
normal = '0 -1 0'
[]
[add_inner_boundaries_right]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_bot
new_boundary = 'block_2_right'
block = 2
normal = '1 0 0'
[]
[add_inner_boundaries_left]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_right
new_boundary = 'block_2_left'
block = 2
normal = '-1 0 0'
[]
[]
[Variables]
[u]
[]
[v]
[]
[]
[ICs]
[u_blob]
type = FunctionIC
variable = u
function = 'if(x<0.75,if(y<0.75,1,0),0)'
[]
[v_blob]
type = FunctionIC
variable = v
function = 'if(x<0.75,if(y<0.75,1,0),0)'
[]
[]
[Kernels]
[udot]
type = MassLumpedTimeDerivative
variable = u
[]
[u_advec]
type = ConservativeAdvection
variable = u
upwinding_type = full
velocity = '2 0 0'
[]
[vdot]
type = MassLumpedTimeDerivative
variable = v
[]
[v_advec]
type = ConservativeAdvection
variable = v
upwinding_type = full
velocity = '0 2 0'
[]
[]
[Materials]
[rho]
type = GenericConstantMaterial
prop_names = 'rho'
prop_values = '1'
[]
[]
[AuxVariables]
[flux_x]
order = FIRST
family = MONOMIAL
[]
[]
[AuxKernels]
[flux_x]
type = AdvectiveFluxAux
variable = flux_x
vel_x = u
vel_y = v
advected_mat_prop = 'rho'
component = normal
boundary = 'block_2_right block_2_left'
[]
[]
[Executioner]
type = Transient
solve_type = LINEAR
dt = 0.01
end_time = 0.02
l_tol = 1E-14
[]
[Postprocessors]
[flux_right]
type = SideIntegralVariablePostprocessor
variable = flux_x
boundary = 'block_2_right'
[]
[flux_right_exact]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_right'
vel_x = u
vel_y = v
component = normal
advected_mat_prop = 'rho'
[]
[flux_left]
type = SideIntegralVariablePostprocessor
variable = flux_x
boundary = 'block_2_left'
[]
[flux_left_exact]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_left'
vel_x = u
vel_y = v
component = normal
advected_mat_prop = 'rho'
[]
[]
[Outputs]
csv = true
[]
(test/tests/positions/reporter_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
[input]
type = InputPositions
positions = '0 0 1
1 0 2'
outputs = none
[]
[input_2]
type = InputPositions
positions = '0.1 0.1 1
1.2 0 2.2'
outputs = none
[]
[reporter]
type = ReporterPositions
reporters = 'input/positions_1d input_2/positions_1d'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(test/tests/variables/caching_fv_variables/fv_caching.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
ix = '2 1 1'
iy = '2 3'
subdomain_id = '0 1 1 2 2 2'
[]
[]
[Variables]
[u]
type = MooseVariableFVReal
[]
[]
[FVKernels]
[diff]
type = FVDiffusion
variable = u
coeff = 1
[]
[adv]
type = FVMatAdvection
variable = u
vel = v_mat
[]
[body_force]
type = FVBodyForce
variable = u
value = 10
[]
[]
[FVBCs]
[left]
type = FVDirichletBC
variable = u
boundary = 'left'
value = 1
[]
[right]
type = FVDirichletBC
variable = u
boundary = 'right'
value = 1
[]
[top]
type = FVNeumannBC
variable = u
value = 1
boundary = 'top'
[]
[]
[Materials]
[v_mat]
type = ADGenericVectorFunctorMaterial
prop_names = 'v_mat'
prop_values = '4 0 0'
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/parsed_generate_sideset/parsed_generate_sideset_neighbor_sub_id.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '2 2'
subdomain_id = '0 1 0 0'
[]
[sideset]
type = ParsedGenerateSideset
input = cmg
combinatorial_geometry = 'abs(x - 1) < 1e-6'
included_neighbors = '1'
new_sideset_name = interior
[]
[]
[Outputs]
exodus = true
[]
(test/tests/quadrature/order/material_with_order.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1'
dy = ' 1 1 1'
subdomain_id = '1 2 3
4 5 6
7 8 9'
[]
[]
[Variables]
[u]
order = FIRST
family = L2_LAGRANGE
initial_condition = 1
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[forcing]
type = BodyForce
variable = u
[]
[]
[DGKernels]
[dg_diff]
type = DGDiffusion
variable = u
epsilon = -1
sigma = 6
[]
[test]
type = MatDGKernel
variable = u
mat_prop = dummy
[]
[]
[BCs]
[bc]
type = PenaltyDirichletBC
variable = u
boundary = '0 1 2 3'
penalty = 1e4
value = 0
[]
[]
[Postprocessors]
[block1_qps]
type = NumElemQPs
block = 1
[]
[block5_qps]
type = NumElemQPs
block = 5
[]
[block6_qps]
type = NumElemQPs
block = 6
[]
[]
[Materials]
[dummy]
type = GenericConstantMaterial
block = '1 2 3 4 6 7 8 9'
prop_names = dummy
prop_values = 1
[]
[qordermaterial]
type = QuadratureMaterial
block = 5
property_name = dummy
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
execute_on = 'timestep_end'
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-2d.i)
rho=1.1
advected_interp_method='upwind'
velocity_interp_method='rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '0.5'
ix = '3 3'
iy = '2'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
porosity = porosity
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
v = v
porosity = porosity
pressure = pressure
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[v]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = BernoulliPressureVariable
u = u
v = v
porosity = porosity
rho = ${rho}
[]
[]
[AuxVariables]
[porosity]
type = PiecewiseConstantVariable
[]
[]
[ICs]
[porosity_1]
type = ConstantIC
variable = porosity
block = 1
value = 1
[]
[porosity_2]
type = ConstantIC
variable = porosity
block = 2
value = 0.5
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
pressure = pressure
momentum_component = 'x'
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = v
pressure = pressure
momentum_component = 'y'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = 0
[]
[walls-u]
type = INSFVNaturalFreeSlipBC
boundary = 'top bottom'
variable = u
momentum_component = 'x'
[]
[walls-v]
type = INSFVNaturalFreeSlipBC
boundary = 'top bottom'
variable = v
momentum_component = 'y'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 0.4
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-10
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = true
[]
(modules/electromagnetics/test/tests/interfacekernels/electrostatic_contact/contact_conductance_calculated.i)
[Mesh]
[box]
type = CartesianMeshGenerator
dim = 2
dx = '0.5 0.5'
dy = '0.25 0.5 0.25'
ix = '20 20'
iy = '10 20 10'
subdomain_id = '1 1
2 3
1 1'
[]
[rename_subdomains]
type = RenameBlockGenerator
input = box
old_block = '1 2'
new_block = 'stainless_steel graphite'
[]
[create_interface]
type = SideSetsBetweenSubdomainsGenerator
input = rename_subdomains
primary_block = stainless_steel
paired_block = graphite
new_boundary = 'ssg_interface'
[]
[delete_block]
type = BlockDeletionGenerator
input = create_interface
block = 3
[]
[]
[Problem]
coord_type = RZ
[]
[Variables]
[potential_graphite]
block = graphite
[]
[potential_stainless_steel]
block = stainless_steel
[]
[]
[Kernels]
[electric_graphite]
type = ADMatDiffusion
variable = potential_graphite
diffusivity = electrical_conductivity
block = graphite
[]
[electric_stainless_steel]
type = ADMatDiffusion
variable = potential_stainless_steel
diffusivity = electrical_conductivity
block = stainless_steel
[]
[]
[BCs]
[elec_top]
type = DirichletBC
variable = potential_stainless_steel
boundary = top
value = 1
[]
[elec_bottom]
type = DirichletBC
variable = potential_stainless_steel
boundary = bottom
value = 0
[]
[]
[InterfaceKernels]
[electrostatic_contact]
type = ElectrostaticContactCondition
variable = potential_stainless_steel
neighbor_var = potential_graphite
boundary = ssg_interface
primary_conductivity = electrical_conductivity
secondary_conductivity = electrical_conductivity
mean_hardness = mean_hardness
mechanical_pressure = 8.52842e10 # resulting contact conductance should be ~1.47e5 as described in Cincotti et al (https://doi.org/10.1002/aic.11102)
[]
[]
[Materials]
#graphite
[sigma_graphite]
type = ADGenericConstantMaterial
prop_names = 'electrical_conductivity'
prop_values = 3.33e2
block = graphite
[]
#stainless_steel
[sigma_stainless_steel]
type = ADGenericConstantMaterial
prop_names = 'electrical_conductivity'
prop_values = 1.429e6
block = stainless_steel
[]
#mean hardness
[harmonic_mean_hardness]
type = ADGenericConstantMaterial
prop_names = 'mean_hardness'
prop_values = 2.4797e9
[]
[]
[Preconditioning]
[SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
nl_rel_tol = 1e-09
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 101 preonly ilu 1'
automatic_scaling = true
[]
[Outputs]
exodus = true
perf_graph = true
[]
(modules/ray_tracing/test/tests/raykernels/errors/raykernel_errors.i)
[Mesh]
active = 'gmg'
[gmg]
type = CartesianMeshGenerator
dim = 1
dx = '0.5 0.5'
ix = '1 1'
subdomain_id = '0 1'
[]
[internal]
type = SideSetsBetweenSubdomainsGenerator
input = gmg
primary_block = 1
paired_block = 0
new_boundary = internal
[]
[]
[UserObjects]
active = 'study'
[study]
type = RepeatableRayStudy
start_points = '0 0 0'
directions = '1 0 0'
names = 'ray'
execute_on = INITIAL
ray_kernel_coverage_check = false
[]
[end_study]
type = RepeatableRayStudy
start_points = '0 0 0'
end_points = '0.25 0 0'
names = 'ray'
execute_on = INITIAL
ray_kernel_coverage_check = false
[]
[]
[RayKernels]
active = ''
[kill]
type = KillRayKernel
[]
[change_after_kill]
type = ChangeRayRayKernelTest
change_start_direction = true
depends_on = kill
[]
[change]
type = ChangeRayRayKernelTest
change_start_direction = true
[]
[change_again]
type = ChangeRayRayKernelTest
change_start_direction = true
[]
[change_out_of_elem]
type = ChangeRayRayKernelTest
change_start_out_of_elem = true
[]
[change_zero]
type = ChangeRayRayKernelTest
change_direction_zero = true
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/segregated/2d-heated.i)
mu = 1
rho = 1
k = 1e-3
cp = 1
u_inlet = 1
T_inlet = 200
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '5 5'
dy = '1.0'
ix = '10 10'
iy = '5'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolatorSegregated
u = superficial_vel_x
v = superficial_vel_y
pressure = pressure
porosity = porosity
[]
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system energy_system solid_energy_system'
previous_nl_solution_required = true
[]
[Variables]
[superficial_vel_x]
type = PINSFVSuperficialVelocityVariable
initial_condition = ${u_inlet}
solver_sys = u_system
two_term_boundary_expansion = false
[]
[superficial_vel_y]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1e-6
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
two_term_boundary_expansion = false
solver_sys = pressure_system
[]
[T_fluid]
type = INSFVEnergyVariable
two_term_boundary_expansion = false
solver_sys = energy_system
initial_condition = 200
[]
[T_solid]
type = MooseVariableFVReal
two_term_boundary_expansion = false
solver_sys = solid_energy_system
initial_condition = 200
[]
[]
[AuxVariables]
[porosity]
type = MooseVariableFVReal
initial_condition = 0.5
two_term_boundary_expansion = false
[]
[]
[FVKernels]
[u_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_x
mu = ${mu}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_x
momentum_component = 'x'
pressure = pressure
porosity = porosity
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = PINSFVMomentumAdvection
variable = superficial_vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'y'
[]
[v_viscosity]
type = PINSFVMomentumDiffusion
variable = superficial_vel_y
mu = ${mu}
porosity = porosity
momentum_component = 'y'
[]
[v_pressure]
type = PINSFVMomentumPressure
variable = superficial_vel_y
momentum_component = 'y'
pressure = pressure
porosity = porosity
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[energy_advection]
type = PINSFVEnergyAdvection
variable = T_fluid
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
boundaries_to_force = bottom
[]
[energy_diffusion]
type = PINSFVEnergyDiffusion
k = ${k}
variable = T_fluid
porosity = porosity
[]
[energy_convection]
type = PINSFVEnergyAmbientConvection
variable = T_fluid
is_solid = false
T_fluid = 'T_fluid'
T_solid = 'T_solid'
h_solid_fluid = 'h_cv'
[]
[solid_energy_diffusion]
type = FVDiffusion
coeff = ${k}
variable = T_solid
[]
[solid_energy_convection]
type = PINSFVEnergyAmbientConvection
variable = T_solid
is_solid = true
T_fluid = 'T_fluid'
T_solid = 'T_solid'
h_solid_fluid = 'h_cv'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_x
function = ${u_inlet}
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = superficial_vel_y
function = 0
[]
[inlet-T]
type = FVDirichletBC
variable = T_fluid
value = ${T_inlet}
boundary = 'left'
[]
[no-slip-u]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_x
function = 0
[]
[no-slip-v]
type = INSFVNoSlipWallBC
boundary = 'top'
variable = superficial_vel_y
function = 0
[]
[heated-side]
type = FVDirichletBC
boundary = 'top'
variable = 'T_solid'
value = 250
[]
[symmetry-u]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_x
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'x'
[]
[symmetry-v]
type = PINSFVSymmetryVelocityBC
boundary = 'bottom'
variable = superficial_vel_y
u = superficial_vel_x
v = superficial_vel_y
mu = ${mu}
momentum_component = 'y'
[]
[symmetry-p]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet-p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 0.1
[]
[]
[FunctorMaterials]
[constants]
type = ADGenericFunctorMaterial
prop_names = 'h_cv cp'
prop_values = '0.1 ${cp}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
rho = ${rho}
temperature = 'T_fluid'
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
energy_l_abs_tol = 1e-14
solid_energy_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
energy_l_tol = 0
solid_energy_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
energy_system = 'energy_system'
solid_energy_system = 'solid_energy_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.4
energy_equation_relaxation = 1.0
num_iterations = 160
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
energy_absolute_tolerance = 1e-13
solid_energy_absolute_tolerance = 1e-13
print_fields = false
[]
[Outputs]
exodus = true
csv = false
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated-comparison/segregated-nonlinear.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.3'
dy = '0.3'
ix = '3'
iy = '3'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1.1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0.0'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = vel_y
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1.4
[]
[zero-grad-pressure]
type = FVFunctionNeumannBC
variable = pressure
boundary = 'top left bottom'
function = 0.0
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
num_iterations = 2
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
print_fields = false
[]
[Outputs]
exodus = true
execute_on = FINAL
[]
(modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_total_viscosity_material/steady-action.i)
von_karman_const = 0.41
H = 1 #halfwidth of the channel
L = 150
Re = 100
rho = 1
bulk_u = 1
mu = '${fparse rho * bulk_u * 2 * H / Re}'
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${L}'
dy = '0.667 0.333'
ix = '200'
iy = '10 1'
[]
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
turbulence_handling = 'mixing-length'
density = ${rho}
dynamic_viscosity = ${mu}
initial_velocity = '1e-6 1e-6 0'
initial_pressure = 0.0
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '1 0'
wall_boundaries = 'top bottom'
momentum_wall_types = 'wallfunction symmetry'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0'
von_karman_const = ${von_karman_const}
mixing_length_delta = 0.5
mixing_length_walls = 'top'
mixing_length_aux_execute_on = 'initial'
momentum_advection_interpolation = 'upwind'
mass_advection_interpolation = 'upwind'
[]
[]
[Functions]
[delta_func]
type = ParsedFunction
expression = '1.0-x/150'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/break_mesh_by_block_generator/break_mesh_block_pairs_restricted.i)
[Mesh]
[msh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1 1'
dy = '1'
ix = '1 1 1 1'
iy = 1
subdomain_id = '0 1 2 3'
[]
[split]
input = msh
type = BreakMeshByBlockGenerator
block_pairs = '0 1;
2 3'
split_interface = true
[]
[]
(modules/heat_transfer/test/tests/postprocessors/convective_ht_side_integral.i)
[Mesh]
type = MeshGeneratorMesh
[./cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '0.45 0.1 0.45'
ix = '5 1 5'
dy = '0.45 0.1 0.45'
iy = '5 1 5'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[../]
[./add_iss_1]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 1
paired_block = 2
new_boundary = 'interface'
input = cartesian
[../]
[./block_deleter]
type = BlockDeletionGenerator
block = 2
input = add_iss_1
[../]
[]
[Variables]
[./temperature]
initial_condition = 300
[../]
[]
[AuxVariables]
[./channel_T]
family = MONOMIAL
order = CONSTANT
initial_condition = 400
[../]
[./channel_Hw]
family = MONOMIAL
order = CONSTANT
initial_condition = 1000
[../]
[]
[Kernels]
[./graphite_diffusion]
type = HeatConduction
variable = temperature
diffusion_coefficient = 'k_s'
[../]
[]
[BCs]
## boundary conditions for the thm channels in the reflector
[./channel_heat_transfer]
type = CoupledConvectiveHeatFluxBC
variable = temperature
htc = channel_Hw
T_infinity = channel_T
boundary = 'interface'
[../]
# hot boundary on the left
[./left]
type = DirichletBC
variable = temperature
value = 1000
boundary = 'left'
[../]
# cool boundary on the right
[./right]
type = DirichletBC
variable = temperature
value = 300
boundary = 'right'
[../]
[]
[Materials]
[./thermal]
type = GenericConstantMaterial
prop_names = 'k_s'
prop_values = '12'
[../]
[./htc_material]
type = GenericConstantMaterial
prop_names = 'alpha_wall'
prop_values = '1000'
[../]
[./tfluid_mat]
type = PiecewiseLinearInterpolationMaterial
property = tfluid_mat
variable = channel_T
x = '400 500'
y = '400 500'
[../]
[]
[Postprocessors]
[./Qw1]
type = ConvectiveHeatTransferSideIntegral
T_fluid_var = channel_T
htc_var = channel_Hw
T_solid = temperature
boundary = interface
[../]
[./Qw2]
type = ConvectiveHeatTransferSideIntegral
T_fluid_var = channel_T
htc = alpha_wall
T_solid = temperature
boundary = interface
[../]
[./Qw3]
type = ConvectiveHeatTransferSideIntegral
T_fluid = tfluid_mat
htc = alpha_wall
T_solid = temperature
boundary = interface
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(test/tests/meshgenerators/parsed_subdomain_mesh_generator/parsed_subdomain_eeid.i)
[Mesh]
[gmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '2 1'
ix = '1 2'
iy = '3 2'
subdomain_id = '0 1 2 3'
[]
[add_eeid]
type = PlaneIDMeshGenerator
input = 'gmg'
plane_coordinates = '-2 0 1 3'
num_ids_per_plane = ' 1 2 1'
plane_axis = 'y'
id_name = 'test_id1'
tolerance = 1
[]
[subdomains]
type = ParsedSubdomainMeshGenerator
input = add_eeid
# Only elements on subdomain 2 and 3 should match this
combinatorial_geometry = 'test_id1 > 2'
extra_element_id_names = 'test_id1'
block_id = 4
[]
[]
[Outputs]
exodus = true
[]
(test/tests/auxkernels/divergence_aux/test_fv.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 1 0.1'
dy = '1.3 1 0.9'
ix = '2 4 1'
iy = '2 3 3'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[add_inner_boundaries_top]
type = SideSetsAroundSubdomainGenerator
input = cmg
new_boundary = 'block_2_top'
block = 2
normal = '0 1 0'
[]
[add_inner_boundaries_bot]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_top
new_boundary = 'block_2_bot'
block = 2
normal = '0 -1 0'
[]
[add_inner_boundaries_right]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_bot
new_boundary = 'block_2_right'
block = 2
normal = '1 0 0'
[]
[add_inner_boundaries_left]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_right
new_boundary = 'block_2_left'
block = 2
normal = '-1 0 0'
[]
[]
[Variables]
[u]
type = MooseVariableFVReal
[]
[v]
type = MooseVariableFVReal
[]
[]
[FVKernels]
[diff_u]
type = FVDiffusion
variable = u
coeff = 1
[]
[reaction_u]
type = FVReaction
variable = u
[]
[diff_v]
type = FVDiffusion
variable = v
coeff = 2
[]
[reaction_v]
type = FVReaction
variable = v
[]
[]
[AuxVariables]
[div]
type = MooseVariableFVReal
[]
[]
[AuxKernels]
[divergence]
type = ADDivergenceAux
variable = div
u = 'u'
v = 'v'
[]
[]
[FVBCs]
[left]
type = FVDirichletBC
variable = u
boundary = left
value = 2
[]
[right]
type = FVDirichletBC
variable = u
boundary = right
value = 1
[]
[top]
type = FVDirichletBC
variable = v
boundary = top
value = 2
[]
[bottom]
type = FVDirichletBC
variable = v
boundary = bottom
value = 1
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[int_divergence]
type = ElementL1Error
block = 2
variable = div
function = 0
[]
[sum_surface_current]
type = ParsedPostprocessor
expression = 's1 - s2 + s3 - s4'
pp_names = 's1 s2 s3 s4'
[]
[s1]
type = ADSideIntegralFunctorPostprocessor
boundary = 'block_2_right'
functor = 'u'
[]
[s2]
type = ADSideIntegralFunctorPostprocessor
boundary = 'block_2_left'
functor = 'u'
[]
[s3]
type = ADSideIntegralFunctorPostprocessor
boundary = 'block_2_top'
functor = 'v'
[]
[s4]
type = ADSideIntegralFunctorPostprocessor
boundary = 'block_2_bot'
functor = 'v'
[]
[]
[Outputs]
csv = true
hide = 's1 s2 s3 s4'
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/porosity_jump/bernoulli-1d.i)
rho = 1.1
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 1
dx = '1 1'
ix = '3 3'
subdomain_id = '1 2'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = PINSFVRhieChowInterpolator
u = u
pressure = pressure
porosity = porosity
[]
[]
[Variables]
[u]
type = PINSFVSuperficialVelocityVariable
initial_condition = 1
[]
[pressure]
type = BernoulliPressureVariable
u = u
porosity = porosity
rho = ${rho}
[]
[]
[AuxVariables]
[porosity]
type = PiecewiseConstantVariable
[]
[has_porosity_jump_face]
type = MooseVariableFVReal
[]
[]
[AuxKernels]
[has_porosity_jump_face]
type = HasPorosityJumpFace
porosity = porosity
execute_on = 'initial timestep_end'
variable = has_porosity_jump_face
[]
[]
[ICs]
[porosity_1]
type = ConstantIC
variable = porosity
block = 1
value = 1
[]
[porosity_2]
type = ConstantIC
variable = porosity
block = 2
value = 0.5
[]
[]
[FVKernels]
[mass]
type = PINSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = PINSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
porosity = porosity
momentum_component = 'x'
[]
[u_pressure]
type = PINSFVMomentumPressure
variable = u
pressure = pressure
porosity = porosity
momentum_component = 'x'
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
[]
[Postprocessors]
[inlet_p]
type = SideAverageValue
variable = 'pressure'
boundary = 'left'
[]
[outlet-u]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 'right'
[]
[]
[Outputs]
exodus = true
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/physics/diffusion_interfaces/three_zones.i)
D0 = 1
D1 = 2
D2 = 6
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 1
dx = '1.5 3 2'
ix = '3 3 4'
subdomain_id = '0 1 2'
[]
[add_01]
type = SideSetsBetweenSubdomainsGenerator
input = 'cmg'
primary_block = '0'
paired_block = '1'
new_boundary = '0to1'
[]
[add_12]
type = SideSetsBetweenSubdomainsGenerator
input = 'add_01'
primary_block = '1'
paired_block = '2'
new_boundary = '1to2'
[]
[]
[Variables]
[T_solid]
type = MooseVariableFVReal
[]
[]
[FVBCs]
[right]
type = FVDirichletBC
variable = T_solid
boundary = 'right'
value = 1
[]
[]
[FVKernels]
[diff1]
type = FVDiffusion
variable = T_solid
coeff = ${D0}
block = 0
[]
[diff2]
type = FVDiffusion
variable = T_solid
coeff = ${D1}
block = 1
[]
[diff3]
type = FVDiffusion
variable = T_solid
coeff = ${D2}
block = 2
[]
[source]
type = FVBodyForce
variable = T_solid
value = 1
block = 1
[]
[]
[FVInterfaceKernels]
[01]
type = FVOneVarDiffusionInterface
variable1 = T_solid
subdomain1 = '0'
subdomain2 = '1'
coeff1 = ${D0}
coeff2 = ${D1}
boundary = '0to1'
[]
[12]
type = FVOneVarDiffusionInterface
variable1 = T_solid
subdomain1 = '1'
subdomain2 = '2'
coeff1 = ${D1}
coeff2 = ${D2}
boundary = '1to2'
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
[VectorPostprocessors]
[all_values]
type = ElementValueSampler
variable = T_solid
sort_by = 'x'
[]
[]
(modules/heat_transfer/test/tests/physics/test_cg.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = 10
dy = 10
[]
[]
[Physics]
[HeatConduction]
[FiniteElement]
[h1]
temperature_name = 'T'
heat_source_var = 'Q'
heat_source_blocks = '0'
initial_temperature = 0
# Thermal properties
thermal_conductivity = 'k0'
# Boundary conditions
heat_flux_boundaries = 'left right'
boundary_heat_fluxes = '0 500'
insulated_boundaries = 'top'
fixed_temperature_boundaries = 'bottom'
boundary_temperatures = '300'
[]
[]
[]
[]
[Executioner]
type = Steady
verbose = true
[]
[AuxVariables]
[Q]
initial_condition = 100
[]
[]
[Materials]
[mat_k]
type = ADGenericConstantMaterial
prop_names = 'k0'
prop_values = '1'
[]
[]
[Outputs]
exodus = true
[]
(modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_2d.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '2 2 2'
dy = '2 2 2'
ix = '2 2 2'
iy = '2 2 2'
subdomain_id = '0 1 0
2 5 3
0 4 0'
[]
[interior_bottom]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 5
paired_block = 1
new_boundary = 'interior_bottom'
[]
[interior_left]
type = SideSetsBetweenSubdomainsGenerator
input = interior_bottom
primary_block = 5
paired_block = 2
new_boundary = 'interior_left'
[]
[interior_right]
type = SideSetsBetweenSubdomainsGenerator
input = interior_left
primary_block = 5
paired_block = 3
new_boundary = 'interior_right'
[]
[interior_top]
type = SideSetsBetweenSubdomainsGenerator
input = interior_right
primary_block = 5
paired_block = 4
new_boundary = 'interior_top'
[]
[]
[RayBCs]
active = 'kill_internal'
# active = 'kill_external reflect_internal'
# for testing internal kill
[kill_internal]
type = KillRayBC
boundary = 'interior_top interior_right interior_bottom interior_left'
[]
# for testing internal reflect
[kill_external]
type = KillRayBC
boundary = 'top right bottom left'
[]
[reflect_internal]
type = ReflectRayBC
boundary = 'interior_top interior_right interior_bottom interior_left'
[]
[]
[UserObjects/study]
type = RepeatableRayStudy
start_points = '0 0 0
2 4 0
6 6 0
0 2.5 0
3 6 0
2.5 2.5 0'
directions = '1 1 0
1 -1 0
-1 -1 0
1 0.1 0
0 -1 0
0.5 1.5 0'
names = 'to_bottom_left_corner
at_top_left_corner
to_top_right_corner
to_left_offset
to_top_center_node
inside_to_top'
ray_distance = 10
execute_on = initial
ray_kernel_coverage_check = false
use_internal_sidesets = true
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/scalar_transport/test/tests/physics/diffusion_multi_cg.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 2'
dy = '2 1'
ix = '2 3'
iy = '3 2'
subdomain_id = '0 1
1 0'
[]
[split_boundaries]
type = BreakBoundaryOnSubdomainGenerator
input = cmg
[]
allow_renumbering = false
[]
[Physics]
[MultiSpeciesDiffusion]
[ContinuousGalerkin]
[diff]
# A and C have the same equation, on purpose
species = 'A B C'
diffusivity_matprops = 'da db 1'
source_functors = '0 2 0'
source_coefs = '1 2 1'
# Test all the ways of setting the boundary conditions (from variable, pp, etc)
# B and (A,C) have different boundary conditions to make sure the data is read for
# the right species
neumann_boundaries = 'left_to_0 right_to_0 top_to_0 bottom_to_0;
left_to_0 right_to_0;
left_to_0 right_to_0 top_to_0 bottom_to_0'
boundary_fluxes = '1 flux_pp flux_function flux_variable;
1 flux_pp;
1 flux_pp flux_function flux_variable'
dirichlet_boundaries = 'left_to_1 right_to_1;
left_to_1 right_to_1 top_to_1 bottom_to_1;
left_to_1 right_to_1'
boundary_values = '2 value_pp;
2 value_pp value_function value_variable;
2 value_pp'
# Add some postprocessing
compute_diffusive_fluxes_on = 'right left top'
[]
[]
[]
[]
[Materials]
[diff_coeffs]
type = ADGenericConstantMaterial
prop_names = 'da db'
prop_values = '1 2'
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
num_steps = 10
# Output the setup
verbose = true
[]
# To test setting up a boundary condition with a postprocessor
[Postprocessors]
[flux_pp]
type = Receiver
default = 1
outputs = 'none'
[]
[value_pp]
type = Receiver
default = 2
outputs = 'none'
[]
[]
# To test setting up a boundary condition with a function
[Functions]
[flux_function]
type = ConstantFunction
value = 1
[]
[value_function]
type = ConstantFunction
value = 2
[]
[]
# To test setting up a boundary condition with a variable
[AuxVariables]
[flux_variable]
initial_condition = 1
[]
[value_variable]
initial_condition = 2
[]
[]
# Form output for testing
[VectorPostprocessors]
[sample]
type = NodalValueSampler
variable = 'A B C'
sort_by = 'id'
[]
[]
[Outputs]
csv = true
[]
(test/tests/transfers/multiapp_nearest_node_transfer/cached_multiple_apps/main.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = 2
dy = 2
dz = 2
ix = 1
iy = 5
iz = 5
[]
[translate]
type = TransformGenerator
input = cmg
transform = TRANSLATE
vector_value = '-1 -1 -1'
[]
[]
[Variables]
[dummy]
[]
[]
[AuxVariables]
[Temperature]
[]
[Layered_Average]
[]
[Layered_Average_elem]
family = MONOMIAL
order = CONSTANT
[]
[Subapp_Temp]
[]
[Subapp_Temp_elem]
family = MONOMIAL
order = CONSTANT
[]
[]
[Kernels]
[extra]
type = ADDiffusion
variable = dummy
[]
[]
[AuxKernels]
[Location_Based]
type = ParsedAux
variable = Temperature
expression = 'x+y+z'
use_xyzt = true
[]
[Layered_Average_User_Object]
type = SpatialUserObjectAux
variable = Layered_Average
user_object = Tfuel_UO
[]
[Layered_Average_User_Object_elem]
type = SpatialUserObjectAux
variable = Layered_Average_elem
user_object = Tfuel_UO
[]
[]
[UserObjects]
[Tfuel_UO]
type = NearestPointLayeredAverage
variable = Temperature
direction = x
num_layers = 1
points_file = 'locations.txt'
execute_on = 'initial timestep_end'
[]
[]
[MultiApps]
[TF_sub]
type = FullSolveMultiApp
positions_file = 'locations.txt'
input_files = 'child.i'
execute_on = 'TIMESTEP_END'
[]
[]
[GlobalParams]
bbox_factor = 2
[]
[Transfers]
[to_sub_layers]
type = MultiAppNearestNodeTransfer
to_multi_app = TF_sub
source_variable = Layered_Average
variable = Temperature
fixed_meshes = True
[]
[to_sub_layers_elem]
type = MultiAppNearestNodeTransfer
to_multi_app = TF_sub
source_variable = Layered_Average_elem
variable = Temperature_elem
[]
[from_sub_recover_layers]
type = MultiAppNearestNodeTransfer
from_multi_app = TF_sub
source_variable = Temperature
variable = Subapp_Temp
[]
[from_sub_recover_layers_elem]
type = MultiAppNearestNodeTransfer
from_multi_app = TF_sub
source_variable = Temperature_elem
variable = Subapp_Temp_elem
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
# First step does not use Transfers caching
# Second step does
num_steps = 2
[]
[Outputs]
[out]
type = Exodus
hide = 'dummy Temperature Layered_Average Layered_Average_elem'
[]
[]
(test/tests/meshgenerators/refine_sideset_generator/test_multi.i)
[Mesh]
[eg]
type = CartesianMeshGenerator
dim = 3
dx = '2 1 1'
dy = '2 3'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1 1
1 2 0 1
0 1 1 1
2 2 2 2
3 3 1 3
1 1 1 1'
[]
[sideset]
type = SideSetsBetweenSubdomainsGenerator
input = eg
primary_block = 1
paired_block = 2
new_boundary = sideset_1
[]
[refine]
type = RefineSidesetGenerator
input = sideset
boundaries = 'sideset_1'
refinement = '2'
boundary_side = 'both'
enable_neighbor_refinement = false
[]
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/mixing_length_total_viscosity_material/steady.i)
von_karman_const = 0.41
H = 1 #halfwidth of the channel
L = 150
Re = 100
rho = 1
bulk_u = 1
mu = '${fparse rho * bulk_u * 2 * H / Re}'
advected_interp_method = 'upwind'
velocity_interp_method = 'rc'
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
[]
[]
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${L}'
dy = '0.667 0.333'
ix = '200'
iy = '10 1'
[]
[]
[Functions]
[delta_func]
type = ParsedFunction
expression = '1.0-x/150'
[]
[]
[Problem]
fv_bcs_integrity_check = false
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[mixing_length]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = vel_x
rho = ${rho}
mixing_length = mixing_length
momentum_component = 'x'
u = vel_x
v = vel_y
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = vel_y
rho = ${rho}
mixing_length = mixing_length
momentum_component = 'y'
u = vel_x
v = vel_y
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[]
[AuxKernels]
[mixing_length]
type = WallDistanceMixingLengthAux
walls = 'top'
variable = mixing_length
execute_on = 'initial'
von_karman_const = ${von_karman_const}
delta = 0.5
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_x
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = vel_y
function = '0'
[]
[wall-u]
type = INSFVWallFunctionBC
variable = vel_x
boundary = 'top'
u = vel_x
v = vel_y
mu = ${mu}
rho = ${rho}
momentum_component = x
[]
[wall-v]
type = INSFVWallFunctionBC
variable = vel_y
boundary = 'top'
u = vel_x
v = vel_y
mu = ${mu}
rho = ${rho}
momentum_component = y
[]
[sym-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_x
u = vel_x
v = vel_y
mu = total_viscosity
momentum_component = x
[]
[sym-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = vel_y
u = vel_x
v = vel_y
mu = total_viscosity
momentum_component = y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = '0'
[]
[]
[FunctorMaterials]
[total_viscosity]
type = MixingLengthTurbulentViscosityFunctorMaterial
u = 'vel_x' #computes total viscosity = mu_t + mu
v = 'vel_y' #property is called total_viscosity
mixing_length = mixing_length
mu = ${mu}
rho = ${rho}
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_3d.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '2 2 2'
dy = '2 2 2'
dz = '2 2 2'
ix = '2 2 2'
iy = '2 2 2'
iz = '2 2 2'
subdomain_id = '0 0 0
0 1 0
0 0 0
0 2 0
3 7 4
0 5 0
0 0 0
0 6 0
0 0 0'
[]
[interior_back]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 7
paired_block = 1
new_boundary = 'interior_back'
[]
[interior_bottom]
type = SideSetsBetweenSubdomainsGenerator
input = interior_back
primary_block = 7
paired_block = 2
new_boundary = 'interior_bottom'
[]
[interior_left]
type = SideSetsBetweenSubdomainsGenerator
input = interior_bottom
primary_block = 7
paired_block = 3
new_boundary = 'interior_left'
[]
[interior_right]
type = SideSetsBetweenSubdomainsGenerator
input = interior_left
primary_block = 7
paired_block = 4
new_boundary = 'interior_right'
[]
[interior_top]
type = SideSetsBetweenSubdomainsGenerator
input = interior_right
primary_block = 7
paired_block = 5
new_boundary = 'interior_top'
[]
[interior_front]
type = SideSetsBetweenSubdomainsGenerator
input = interior_top
primary_block = 7
paired_block = 6
new_boundary = 'interior_front'
[]
[]
[RayBCs]
active = 'kill_internal'
# active = 'kill_external reflect_internal'
# for testing internal kill
[kill_internal]
type = KillRayBC
boundary = 'interior_top interior_right interior_bottom interior_left interior_front interior_back'
[]
# for testing internal reflect
[kill_external]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[reflect_internal]
type = ReflectRayBC
boundary = 'interior_top interior_right interior_bottom interior_left interior_front interior_back'
[]
[]
[UserObjects/study]
type = RepeatableRayStudy
start_points = '0 0 0
2 2 2
6 6 6
4 4 4
0 2.5 2.5
3 3 6
2.5 0 0
3 3 3
2.5 2.5 2.5'
directions = '1 1 1
1 1 1
-1 -1 -1
-1 -1 -1
1 0.1 0
0 0 -1
0 1 1
1 1 1
0.5 1.5 1.5'
names = 'to_bottom_left_corner
at_bottom_left_corner
to_top_right_corner
at_top_right_corner
centroid_offset
top_down
left_to_edge
inside_to_corner
inside_offset'
execute_on = initial
ray_distance = 10
ray_kernel_coverage_check = false
use_internal_sidesets = true
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_loop_negative_rotation.i)
mu = 1.0
rho = 1.0
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.1 0.8 0.1'
dy = '0.1 0.8 0.1'
ix = '5 20 5'
iy = '5 20 5'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[delete_internal_part]
type = BlockDeletionGenerator
input = gen
block = '2'
new_boundary = 'wall-internal'
[]
[lump_bdries_to_wall]
type = RenameBoundaryGenerator
input = delete_internal_part
old_boundary = 'bottom right top left'
new_boundary = 'wall-external wall-external wall-external wall-external'
[]
[pump_domain]
type = ParsedSubdomainMeshGenerator
input = lump_bdries_to_wall
combinatorial_geometry = 'x > 0.3 & x < 0.4 & y > 0.5'
block_id = '3'
[]
[rename_blocks]
type = RenameBlockGenerator
input = pump_domain
old_block = '1 3'
new_block = 'pipe pump'
[]
[side_pump]
type = ParsedGenerateSideset
input = rename_blocks
included_subdomains = 'pump'
included_neighbors = 'pipe'
new_sideset_name = 'pump_side'
normal = '1 0 0'
combinatorial_geometry = 'x > 0.35'
[]
[]
[GlobalParams]
velocity_interp_method = 'rc'
advected_interp_method = 'upwind'
rhie_chow_user_object = 'rc'
[]
[Problem]
material_coverage_check = False
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
correct_volumetric_force = true
volumetric_force_functors = 'pump_volume_force'
volume_force_correction_method = 'force-consistent'
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[AuxVariables]
[U]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[AuxKernels]
[mag]
type = VectorMagnitudeAux
variable = U
x = vel_x
y = vel_y
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
phi0 = 0.0
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[u_pump]
type = INSFVPump
variable = vel_x
momentum_component = 'x'
pump_volume_force = 'pump_volume_force'
block = 'pump'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[]
[FVBCs]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_x
function = '0'
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_y
function = '0'
[]
[]
[Functions]
[pump_head_negative]
type = PiecewiseLinear
x = '0.0 10.0'
y = '1000.0 0.0'
[]
[]
[FunctorMaterials]
[pump_mat]
type = NSFVPumpFunctorMaterial
rho = ${rho}
speed = 'U'
rotation_speed = 120
rotation_speed_rated = 100
area_rated = 0.1
volume_rated = 0.01
flow_rate_rated = 1.0
flow_rate = 'flow_rate'
block = 'pump'
enable_negative_rotation = true
symmetric_negative_pressure_head = false
pressure_head_function_negative_rotation = 'pump_head_negative'
[]
[]
[Postprocessors]
[flow_rate]
type = Receiver
default = 1.0
[]
[flow_rate_to_pipe]
type = VolumetricFlowRate
advected_quantity = ${rho}
boundary = 'pump_side'
vel_x = 'vel_x'
vel_y = 'vel_y'
[]
[maximum_speed]
type = ADElementExtremeFunctorValue
functor = vel_x
value_type = max
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = false
[out]
type = CSV
execute_on = FINAL
show = 'flow_rate_to_pipe maximum_speed'
[]
[]
(test/tests/adaptivity/dont-p-refine/test.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1 1'
ix = '2 2'
iy = '2 2'
subdomain_id = '0 0
0 1'
[]
[]
[Adaptivity]
switch_h_to_p_refinement = true
initial_marker = uniform
initial_steps = 1
disable_p_refinement_for_families = 'lagrange'
[Markers/uniform]
type = UniformMarker
mark = REFINE
block = 1
[]
[]
[Variables]
[u]
family = MONOMIAL
order = FIRST
[]
[]
[AuxVariables]
[test][]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[src]
type = BodyForce
variable = u
value = 1
[]
[]
[DGKernels]
[dg_diff]
type = DGDiffusion
variable = u
epsilon = -1
sigma = 6
[]
[]
[BCs]
[left_u]
type = DGFunctionDiffusionDirichletBC
variable = u
boundary = '0 1 2 3'
function = 0
epsilon = -1
sigma = 6
[]
[]
[Postprocessors]
[avg]
type = ElementAverageValue
variable = u
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_2D.i)
[Mesh]
[./cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
ix = '2 1 1'
iy = '2 3'
subdomain_id = '0 1 1 2 2 2'
[../]
[]
(test/tests/meshgenerators/refine_block_generator/test_single.i)
[Mesh]
[eg]
type = CartesianMeshGenerator
dim = 3
dx = '2 1 1'
dy = '2 3'
dz = '0.4 0.5 0.6 0.7'
ix = '2 1 1'
iy = '2 3'
iz = '1 1 1 1'
subdomain_id = '0 1 1 1
1 2 0 1
0 1 1 1
2 2 2 2
2 3 1 2
1 1 1 1'
[]
[refine]
type = RefineBlockGenerator
input = eg
block = '3'
refinement = '1'
enable_neighbor_refinement = false
[]
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/wcns/boundary_conditions/with-direction/errors/flux_bcs.i)
l = 5
inlet_area = 2
velocity_interp_method = 'rc'
advected_interp_method = 'average'
# Artificial fluid properties
# For a real case, use a GeneralFluidFunctorProperties and a viscosity rampdown
# or initialize very well!
k = 1
cp = 1000
mu = 1e2
rho = 1000
# Operating conditions
inlet_temp = 300
outlet_pressure = 1e5
inlet_velocity = 0.001
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${l} ${l}'
dy = '${inlet_area}'
ix = '5 5'
iy = '2'
subdomain_id = '1 2'
[]
[side_set]
type = SideSetsBetweenSubdomainsGenerator
input = gen
primary_block = '1'
paired_block = '2'
new_boundary = 'mid-inlet'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
block = 2
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = ${inlet_velocity}
block = 2
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1e-15
block = 2
[]
[pressure]
type = INSFVPressureVariable
initial_condition = ${outlet_pressure}
block = 2
[]
[T_fluid]
type = INSFVEnergyVariable
initial_condition = ${inlet_temp}
block = 2
[]
[scalar]
type = MooseVariableFVReal
initial_condition = 0.1
block = 2
[]
[T_solid]
type = MooseVariableFVReal
initial_condition = ${inlet_temp}
[]
[]
[AuxVariables]
[power_density]
type = MooseVariableFVReal
initial_condition = 1e4
[]
[]
[FVKernels]
# Mass equation
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
# X component momentum equation
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
# Y component momentum equation
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
# Energy equation
[temp_conduction]
type = FVDiffusion
coeff = 'k'
variable = T_fluid
[]
[temp_advection]
type = INSFVEnergyAdvection
variable = T_fluid
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[heat_source]
type = FVCoupledForce
variable = T_fluid
v = power_density
[]
# Scalar concentration equation
[scalar_advection]
type = INSFVScalarFieldAdvection
variable = scalar
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[scalar_diffusion]
type = FVDiffusion
variable = scalar
coeff = 1.1
[]
[scalar_source]
type = FVBodyForce
variable = scalar
function = 2.1
[]
# Solid temperature
[solid_temp_conduction]
type = FVDiffusion
coeff = 'k'
variable = T_solid
[]
[]
[FVBCs]
# Inlet
[inlet_mass]
type = WCNSFVMassFluxBC
variable = pressure
boundary = 'mid-inlet'
velocity_pp = 'inlet_velocity'
area_pp = 'area_pp_left'
rho = 'rho'
vel_x = vel_x
vel_y = vel_y
[]
[inlet_u]
type = WCNSFVMomentumFluxBC
variable = vel_x
boundary = 'mid-inlet'
mdot_pp = 'inlet_mdot'
area_pp = 'area_pp_left'
rho = 'rho'
momentum_component = 'x'
vel_x = vel_x
vel_y = vel_y
[]
[inlet_v]
type = WCNSFVMomentumFluxBC
variable = vel_y
boundary = 'mid-inlet'
mdot_pp = 0
area_pp = 'area_pp_left'
rho = 'rho'
momentum_component = 'y'
vel_x = vel_x
vel_y = vel_y
[]
[inlet_T]
type = WCNSFVEnergyFluxBC
variable = T_fluid
T_fluid = T_fluid
boundary = 'mid-inlet'
temperature_pp = 'inlet_T'
velocity_pp = 'inlet_velocity'
area_pp = 'area_pp_left'
rho = 'rho'
cp = 'cp'
vel_x = vel_x
vel_y = vel_y
[]
[inlet_scalar]
type = WCNSFVScalarFluxBC
variable = scalar
boundary = 'mid-inlet'
scalar_value_pp = 'inlet_scalar_value'
velocity_pp = 'inlet_velocity'
area_pp = 'area_pp_left'
rho = 'rho'
vel_x = vel_x
vel_y = vel_y
passive_scalar = scalar
[]
[outlet_p]
type = INSFVOutletPressureBC
variable = pressure
boundary = 'right'
function = ${outlet_pressure}
[]
# Walls
[no_slip_x]
type = INSFVNoSlipWallBC
variable = vel_x
boundary = 'top bottom'
function = 0
[]
[no_slip_y]
type = INSFVNoSlipWallBC
variable = vel_y
boundary = 'top bottom'
function = 0
[]
[]
# used for the boundary conditions in this example
[Postprocessors]
[inlet_mdot]
type = Receiver
default = '${fparse 1980 * inlet_velocity * inlet_area}'
[]
[inlet_velocity]
type = Receiver
default = ${inlet_velocity}
[]
[area_pp_left]
type = AreaPostprocessor
boundary = 'left'
execute_on = 'INITIAL'
[]
[inlet_T]
type = Receiver
default = ${inlet_temp}
[]
[inlet_scalar_value]
type = Receiver
default = 0.2
[]
[]
[FunctorMaterials]
[const_functor]
type = ADGenericFunctorMaterial
prop_names = 'cp k rho'
prop_values = '${cp} ${k} ${rho}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'T_fluid'
rho = ${rho}
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_abs_tol = 1e-9
nl_max_its = 50
line_search = 'none'
automatic_scaling = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/natural_convection/natural_circulation_dogleg.i)
# natural convection through a dogleg
height = 2.2
density = 1.2
gravity = 10
head = '${fparse height * density * gravity}'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 0.2 0.2 0.2 1'
ix = '1 3 3 3 1'
dy = '1 0.2 1'
iy = '12 3 12'
subdomain_id = '2 1 2 2 3
2 1 1 1 3
2 2 2 1 3'
[]
[wall]
type = SideSetsBetweenSubdomainsGenerator
input = mesh
primary_block = '1'
paired_block = '2'
new_boundary = wall
[]
[heated_wall]
type = SideSetsBetweenSubdomainsGenerator
input = wall
primary_block = '1'
paired_block = '3'
new_boundary = heated_wall
[]
[delete]
type = BlockDeletionGenerator
block = '2 3'
input = heated_wall
[]
[]
[GlobalParams]
rhie_chow_user_object = ins_rhie_chow_interpolator
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
add_energy_equation = true
boussinesq_approximation = true
thermal_expansion = 8e-4
gravity = '0 -${gravity} 0'
density = 1.2
dynamic_viscosity = 1e-3
specific_heat = 300
thermal_conductivity = '10'
initial_velocity = '0 1e-6 0'
initial_pressure = 0
inlet_boundaries = 'bottom'
momentum_inlet_types = 'fixed-pressure'
momentum_inlet_function = '${head}'
energy_inlet_types = 'fixed-temperature'
energy_inlet_function = '300'
wall_boundaries = 'wall heated_wall'
momentum_wall_types = 'slip slip'
energy_wall_types = 'heatflux heatflux'
energy_wall_function = '0 300'
outlet_boundaries = 'top'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0'
energy_advection_interpolation = 'average'
momentum_advection_interpolation = 'upwind'
mass_advection_interpolation = 'upwind'
friction_blocks = '1'
friction_types = 'Darcy'
friction_coeffs = 'friction_coefficient'
standard_friction_formulation = false
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-8
[]
[FunctorMaterials]
[props]
type = ADGenericFunctorMaterial
prop_names = 'rho'
prop_values = '${density}'
[]
[friction_coefficient]
type = ADGenericVectorFunctorMaterial
prop_names = 'friction_coefficient'
prop_values = '2 2 2'
[]
[]
[Postprocessors]
[inlet_mfr]
type = VolumetricFlowRate
vel_x = vel_x
vel_y = vel_y
advected_quantity = rho
boundary = bottom
[]
[outlet_mfr]
type = VolumetricFlowRate
vel_x = vel_x
vel_y = vel_y
advected_quantity = rho
boundary = top
[]
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/fvbcs/wall_function/Re_t395.i)
von_karman_const = 0.41
H = 1 #halfwidth of the channel
L = 150
Re = 13700
rho = 1
bulk_u = 1
mu = ${fparse rho * bulk_u * 2 * H / Re}
advected_interp_method='upwind'
velocity_interp_method='rc'
[GlobalParams]
two_term_boundary_expansion = true
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
pressure = pressure
[]
[]
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${L}'
dy = '0.667 0.333'
ix = '200'
iy = '10 1'
[]
[]
[Problem]
fv_bcs_integrity_check = false
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[mixing_len]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_shear_stress]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_yplus]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = u
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'x'
u = u
v = v
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = v
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'y'
u = u
v = v
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[]
[AuxKernels]
[mixing_len]
type = WallDistanceMixingLengthAux
walls = 'top'
variable = mixing_len
execute_on = 'initial'
von_karman_const = ${von_karman_const}
[]
[wall_shear_stress]
type = WallFunctionWallShearStressAux
variable = wall_shear_stress
walls = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
[]
[wall_yplus]
type = WallFunctionYPlusAux
variable = wall_yplus
walls = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = '0'
[]
[wall-u]
type = INSFVWallFunctionBC
variable = u
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = x
[]
[wall-v]
type = INSFVWallFunctionBC
variable = v
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = y
[]
[sym-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = u
u = u
v = v
mu = total_viscosity
momentum_component = x
[]
[sym-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = v
u = u
v = v
mu = total_viscosity
momentum_component = y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = '0'
[]
[]
[FunctorMaterials]
[total_viscosity]
type = MixingLengthTurbulentViscosityFunctorMaterial
u = 'u' #computes total viscosity = mu_t + mu
v = 'v' #property is called total_viscosity
mixing_length = mixing_len
mu = ${mu}
rho = ${rho}
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm 200 lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/linear_friction.i)
mu = 1.1
rho = 1
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '20'
dy = '1.0'
ix = '10'
iy = '4'
[]
[]
[Modules]
[NavierStokesFV]
compressibility = 'incompressible'
porous_medium_treatment = true
density = 'rho'
dynamic_viscosity = 'mu'
porosity = 'porosity'
initial_velocity = '1 0 0'
initial_pressure = 0.0
inlet_boundaries = 'left'
momentum_inlet_types = 'fixed-velocity'
momentum_inlet_function = '1 0'
wall_boundaries = 'top bottom'
momentum_wall_types = 'slip slip'
outlet_boundaries = 'right'
momentum_outlet_types = 'fixed-pressure'
pressure_function = '0'
friction_types = 'darcy'
friction_coeffs = 'friction_W'
standard_friction_formulation = true
mass_advection_interpolation = 'average'
momentum_advection_interpolation = 'average'
[]
[]
[FunctorMaterials]
[const]
type = ADGenericFunctorMaterial
prop_names = 'rho mu'
prop_values = '${rho} ${mu}'
[]
[friction]
type = LinearFrictionFactorFunctorMaterial
porosity = porosity
functor_name = friction_W
superficial_vel_x = superficial_vel_x
superficial_vel_y = superficial_vel_y
f = '0'
g = '11'
A = '1 1 1'
B = '1 1 1'
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
fv = true
[]
[]
[ICs]
[porosity_ic]
type = FunctionIC
variable = porosity
function = '1 - x / 40'
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-11
nl_abs_tol = 1e-14
[]
[Postprocessors]
# solution is dp/dx = -11 / (1 - x/40)^3
# dp = -11 * integral_{0}^{20} (1 - x/40)^3 dx = 660
#
[inlet-p]
type = SideAverageValue
variable = pressure
boundary = 'left'
[]
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/generate_radiation_patch/generate_radiation_patch_grid_2D.i)
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '1 2 3'
ix = '20 20 20'
dy = '5'
iy = '10'
subdomain_id = '1 2 3'
[]
[rotate]
type = TransformGenerator
transform = ROTATE
vector_value = '0 0 -45'
input = cartesian
[]
[patch]
type = PatchSidesetGenerator
boundary = 0
n_patches = 4
input = rotate
partitioner = grid
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/2d/2d-segregated-velocity.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '0.3'
dy = '0.3'
ix = '3'
iy = '3'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system pressure_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = u
v = v
pressure = pressure
[]
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = u_system
two_term_boundary_expansion = false
[]
[v]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1.1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = '0.0'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = u
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'top bottom'
variable = v
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = 1.4
[]
[zero-grad-pressure]
type = FVFunctionNeumannBC
variable = pressure
boundary = 'top left bottom'
function = 0.0
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system'
pressure_system = 'pressure_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
num_iterations = 150
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
print_fields = false
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(modules/heat_transfer/test/tests/view_factors/view_factor_obstructed.i)
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 3
dx = '0.55 0.9 0.55'
dy = '0.55 0.9 0.55'
dz = '0.75 0.0001 0.25'
subdomain_id = '0 0 0
0 0 0
0 0 0
0 0 0
0 1 0
0 0 0
0 0 0
0 0 0
0 0 0'
[]
[side_set_around_obstruction]
type = SideSetsBetweenSubdomainsGenerator
input = cartesian
primary_block = 1
paired_block = 0
new_boundary = 'obstacle'
[]
[]
[UserObjects]
[view_factor_study]
type = ViewFactorRayStudy
execute_on = initial
boundary = 'left right top bottom front back obstacle'
face_order = FOURTH
polar_quad_order = 12
azimuthal_quad_order = 4
warn_subdomain_hmax = false
[]
[view_factor]
type = RayTracingViewFactor
boundary = 'left right top bottom front back obstacle'
execute_on = INITIAL
ray_study_name = view_factor_study
[]
[]
[RayBCs/viewfactor]
type = ViewFactorRayBC
boundary = 'left right top bottom front back obstacle'
[]
# Reference solution for front -> back view factor
# is 0.282833. This result is derived from analytical
# view factors from:
# front -> orthogonal sides around front [left right top bottom]
# front -> obstacle
# front -> everywhere must be sum to 1
#
[Postprocessors]
[front_back]
type = ViewFactorPP
from_boundary = front
to_boundary = back
view_factor_object_name = view_factor
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(test/tests/times/input_times.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Times]
[input]
type = InputTimes
times = '0.2 0.4 0.9'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
# Test recover
num_steps = 2
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(test/tests/meshgenerators/mesh_diagnostics_generator/detect_amr_hex.i)
[Mesh]
[big_one]
type = GeneratedMeshGenerator
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 1
xmax = 2
ymin = 0
ymax = 1
zmin = 0
zmax = 1
[]
[cut_one]
type = CartesianMeshGenerator
dim = 3
dx = 1
dy = 1
dz = 1
ix = 2
iy = 2
iz = 2
[]
[cmbn]
type = CombinerGenerator
inputs = 'big_one cut_one'
[]
[diag]
type = MeshDiagnosticsGenerator
input = cmbn
search_for_adaptivity_nonconformality = INFO
[]
[]
[Outputs]
exodus = true
[]
(test/tests/actioncomponents/component_with_physics.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
ix = 2
iy = 2
dx = 1
dy = 1
[]
final_generator = 'cmg'
[]
[Physics]
[Diffusion]
[FiniteVolume]
[block_specified]
diffusivity_functor = 1
block = '2 cyl1'
dirichlet_boundaries = 'left cylinder_1_left'
boundary_values = '1 3'
source_functor = '1'
source_coef = '1'
[]
[added_from_component]
variable_name = v
diffusivity_functor = 2
source_functor = '2'
source_coef = '1'
dirichlet_boundaries = 'cylinder_2_right'
boundary_values = '2'
[]
[]
[]
[]
[ActionComponents]
[cylinder_1]
type = CylinderComponent
dimension = 2
radius = 2
length = 10
n_axial = 1
n_radial = 1
position = '1 0 0'
direction = '0 1 0'
block = 'cyl1'
[]
[cylinder_2]
type = CylinderComponent
dimension = 2
radius = 4
length = 1
n_axial = 1
n_radial = 1
position = '2 0 0'
direction = '0 0 1'
physics = 'added_from_component'
block = 'cyl2'
[]
[]
[Executioner]
type = Steady
[]
[Postprocessors]
[min_u]
type = ElementExtremeValue
value_type = min
variable = u
block = '2 cyl1'
[]
[min_v]
type = ElementExtremeValue
value_type = min
variable = v
block = 'cyl2'
[]
[max_u]
type = ElementExtremeValue
variable = u
block = '2 cyl1'
[]
[max_v]
type = ElementExtremeValue
variable = v
block = 'cyl2'
[]
[ave_u]
type = ElementAverageValue
variable = u
block = '2 cyl1'
[]
[ave_v]
type = ElementAverageValue
variable = v
block = 'cyl2'
[]
[]
[Outputs]
csv = true
[]
(modules/ray_tracing/test/tests/raybcs/errors/raybc_errors.i)
[Mesh]
active = 'gmg'
[gmg]
type = CartesianMeshGenerator
dim = 1
dx = '0.5 0.5'
ix = '1 1'
subdomain_id = '0 1'
[]
[internal]
type = SideSetsBetweenSubdomainsGenerator
input = gmg
primary_block = 1
paired_block = 0
new_boundary = internal
[]
[]
[UserObjects]
active = 'study'
[study]
type = RepeatableRayStudy
start_points = '0 0 0'
directions = '1 0 0'
names = 'ray'
execute_on = INITIAL
ray_kernel_coverage_check = false
[]
[set_end_study]
type = RepeatableRayStudy
start_points = '0 0 0'
end_points = '1 0 0'
names = 'ray'
execute_on = INITIAL
ray_kernel_coverage_check = false
use_internal_sidesets = true
[]
[start_internal_study]
type = RepeatableRayStudy
start_points = '0.5 0 0'
directions = '1 0 0'
names = 'ray'
execute_on = INITIAL
ray_kernel_coverage_check = false
use_internal_sidesets = true
[]
[]
[RayBCs]
active = ''
[kill]
type = KillRayBC
boundary = right
[]
[change]
type = ChangeRayRayBCTest
boundary = right
change_direction = true
[]
[change_again]
type = ChangeRayRayBCTest
boundary = right
change_direction = true
[]
[change_internal]
type = ChangeRayRayBCTest
boundary = internal
change_direction = true
[]
[change_zero]
type = ChangeRayRayBCTest
boundary = right
change_direction_zero = true
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/3d/3d-segregated-scalar.i)
mu = 0.002
rho = 1.0
diff = 1.5
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 3
dx = '0.2'
dy = '0.2'
dz = '0.8'
ix = '3'
iy = '3'
iz = '6'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system w_system pressure_system scalar_1_system scalar_2_system'
previous_nl_solution_required = true
error_on_jacobian_nonzero_reallocation = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
w = vel_z
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[vel_z]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = w_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[scalar_1]
type = INSFVScalarFieldVariable
solver_sys = scalar_1_system
initial_condition = 1.2
[]
[scalar_2]
type = INSFVScalarFieldVariable
solver_sys = scalar_2_system
initial_condition = 1.2
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[w_advection]
type = INSFVMomentumAdvection
variable = vel_z
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[w_viscosity]
type = INSFVMomentumDiffusion
variable = vel_z
mu = ${mu}
momentum_component = 'z'
[]
[w_pressure]
type = INSFVMomentumPressure
variable = vel_z
momentum_component = 'z'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[scalar_1_advection]
type = INSFVScalarFieldAdvection
variable = scalar_1
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[scalar_1_diffusion]
type = FVDiffusion
coeff = ${diff}
variable = scalar_1
[]
[scalar_1_src]
type = FVBodyForce
variable = scalar_1
value = 1.0
[]
[scalar_1_coupled_source]
type = FVCoupledForce
variable = scalar_1
v = scalar_2
coef = 0.1
[]
[scalar_2_advection]
type = INSFVScalarFieldAdvection
variable = scalar_2
velocity_interp_method = ${velocity_interp_method}
advected_interp_method = ${advected_interp_method}
[]
[scalar_2_diffusion]
type = FVDiffusion
coeff = '${fparse 2*diff}'
variable = scalar_2
[]
[scalar_2_src]
type = FVBodyForce
variable = scalar_2
value = 5.0
[]
[scalar_2_coupled_source]
type = FVCoupledForce
variable = scalar_2
v = scalar_1
coef = 0.05
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_x
function = '0'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_y
function = '0'
[]
[inlet-w]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_z
function = '1.1'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom '
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom'
variable = vel_y
function = 0.0
[]
[walls-w]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom'
variable = vel_z
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'front'
variable = pressure
function = 1.4
[]
[zero-grad-pressure]
type = FVFunctionNeumannBC
variable = pressure
boundary = 'back left right top bottom'
function = 0.0
[]
[inlet_scalar_1]
type = FVDirichletBC
boundary = 'back'
variable = scalar_1
value = 1
[]
[inlet_scalar_2]
type = FVDirichletBC
boundary = 'back'
variable = scalar_2
value = 2
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
passive_scalar_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
passive_scalar_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system w_system'
pressure_system = 'pressure_system'
passive_scalar_systems = 'scalar_1_system scalar_2_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
passive_scalar_equation_relaxation = '0.98 0.98'
num_iterations = 150
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
passive_scalar_absolute_tolerance = '1e-13 1e-13'
print_fields = false
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(modules/heat_transfer/test/tests/radiation_transfer_symmetry/cavity_with_pillars_symmetry_bc.i)
#
# inner_left: 8
# inner_top: 11
# inner_bottom: 10
# inner_front: 9
# back_2: 7
# obstruction: 6
#
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 3
dx = '0.4 0.5 0.5 0.5'
dy = '0.5 0.75 0.5'
dz = '1.5 0.5'
subdomain_id = '
3 1 1 1
3 1 2 1
3 1 1 1
3 1 1 1
3 1 1 1
3 1 1 1
'
[]
[add_obstruction]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 1
new_boundary = obstruction
input = cartesian
[]
[add_new_back]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(z) < 1e-10'
included_subdomains = '1'
normal = '0 0 -1'
new_sideset_name = back_2
input = add_obstruction
[]
[add_inner_left]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 3
paired_block = 1
new_boundary = inner_left
input = add_new_back
[]
[add_inner_front]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(z - 2) < 1e-10'
included_subdomains = '1'
normal = '0 0 1'
new_sideset_name = inner_front
input = add_inner_left
[]
[add_inner_bottom]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y) < 1e-10'
included_subdomains = '1'
normal = '0 -1 0'
new_sideset_name = inner_bottom
input = add_inner_front
[]
[add_inner_top]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(y - 1.75) < 1e-10'
included_subdomains = '1'
normal = '0 1 0'
new_sideset_name = inner_top
input = add_inner_bottom
[]
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[temperature]
block = '2 3'
initial_condition = 300
[]
[]
[Kernels]
[conduction]
type = HeatConduction
variable = temperature
block = '2 3'
diffusion_coefficient = 1
[]
[source]
type = BodyForce
variable = temperature
value = 1000
block = '2'
[]
[]
[BCs]
[convective]
type = CoupledConvectiveHeatFluxBC
variable = temperature
T_infinity = 300
htc = 50
boundary = 'left'
[]
[]
[GrayDiffuseRadiation]
[./cavity]
boundary = '6 7 8 9 10 11'
emissivity = '1 1 1 1 1 1'
n_patches = '1 1 1 1 1 1'
adiabatic_boundary = '7 9 10 11'
symmetry_boundary = '2'
partitioners = 'metis metis metis metis metis metis'
temperature = temperature
ray_tracing_face_order = SECOND
normalize_view_factor = false
[../]
[]
[Postprocessors]
[Tpv]
type = PointValue
variable = temperature
point = '0.3 0.5 0.5'
[]
[volume]
type = VolumePostprocessor
[]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/wall_distance_capped_mixing_length_aux/capped_mixing_length.i)
von_karman_const = 0.41
H = 1 #halfwidth of the channel
L = 150
Re = 13700
rho = 1
bulk_u = 1
mu = ${fparse rho * bulk_u * 2 * H / Re}
advected_interp_method='upwind'
velocity_interp_method='rc'
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
pressure = pressure
[]
[]
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '${L}'
dy = '0.667 0.333'
ix = '100'
iy = '10 1'
[]
[]
[Problem]
fv_bcs_integrity_check = false
[]
[Variables]
[u]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[v]
type = INSFVVelocityVariable
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
[]
[]
[AuxVariables]
[mixing_len]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_shear_stress]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[wall_yplus]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
[]
[u_time]
type = INSFVMomentumTimeDerivative
variable = u
rho = ${rho}
momentum_component = 'x'
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = u
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'x'
u = u
v = v
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_time]
type = INSFVMomentumTimeDerivative
variable = v
rho = ${rho}
momentum_component = 'y'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_viscosity_rans]
type = INSFVMixingLengthReynoldsStress
variable = v
rho = ${rho}
mixing_length = mixing_len
momentum_component = 'y'
u = u
v = v
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[]
[AuxKernels]
[mixing_len]
type = WallDistanceMixingLengthAux
walls = 'top'
variable = mixing_len
execute_on = 'initial'
von_karman_const = ${von_karman_const}
delta = 0.5
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'left'
variable = u
function = '1'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'left'
variable = v
function = '0'
[]
[wall-u]
type = INSFVWallFunctionBC
variable = u
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = x
[]
[wall-v]
type = INSFVWallFunctionBC
variable = v
boundary = 'top'
u = u
v = v
mu = ${mu}
rho = ${rho}
momentum_component = y
[]
[sym-u]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = u
u = u
v = v
mu = ${mu}
momentum_component = x
[]
[sym-v]
type = INSFVSymmetryVelocityBC
boundary = 'bottom'
variable = v
u = u
v = v
mu = ${mu}
momentum_component = y
[]
[symmetry_pressure]
type = INSFVSymmetryPressureBC
boundary = 'bottom'
variable = pressure
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'right'
variable = pressure
function = '0'
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
[TimeStepper]
type = IterationAdaptiveDT
optimal_iterations = 6
dt = 1e-3
[]
nl_abs_tol = 1e-8
end_time = 1e9
[]
[Outputs]
[out]
type = Exodus
execute_on = 'final'
[]
[]
(test/tests/postprocessors/side_advection_flux_integral/side_advection_flux_integral_fv.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.75 0.75 0.75'
dy = '0.75 0.75 0.75'
ix = '2 2 2'
iy = '2 2 2'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[add_inner_boundaries_top]
type = SideSetsAroundSubdomainGenerator
input = cmg
new_boundary = 'block_2_top'
block = 2
normal = '0 1 0'
[]
[add_inner_boundaries_bot]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_top
new_boundary = 'block_2_bot'
block = 2
normal = '0 -1 0'
[]
[add_inner_boundaries_right]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_bot
new_boundary = 'block_2_right'
block = 2
normal = '1 0 0'
[]
[add_inner_boundaries_left]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_right
new_boundary = 'block_2_left'
block = 2
normal = '-1 0 0'
[]
[]
[Variables]
[u]
type = MooseVariableFVReal
two_term_boundary_expansion = false
[]
[]
[ICs]
[u_blob]
type = FunctionIC
variable = u
function = 'if(x<0.75,if(y<0.75,1,0),0)'
[]
[]
[FVKernels]
[advection]
type = FVAdvection
variable = u
velocity = '2 1.5 0'
[]
[time]
type = FVTimeKernel
variable = u
[]
[]
[FVBCs]
[fv_outflow]
type = FVConstantScalarOutflowBC
velocity = '2 1.5 0'
variable = u
boundary = 'right top'
[]
[]
[Executioner]
type = Transient
solve_type = LINEAR
dt = 0.01
end_time = 0.02
l_tol = 1E-14
[]
[Postprocessors]
[flux_right]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_right'
vel_x = 2
vel_y = 1.5
component = x
advected_quantity = u
[]
[flux_left_exact]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_left'
vel_x = 2
vel_y = 1.5
component = x
advected_quantity = u
[]
[]
[Outputs]
csv = true
[]
(test/tests/positions/element_centroid_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
ix = 3
iy = 4
iz = 5
dx = 1
dy = 2
dz = 1.5
dim = 3
[]
[new_block]
type = ParsedSubdomainMeshGenerator
input = cmg
combinatorial_geometry = 'x>0.6&z<1.1'
block_name = 1
block_id = 1
[]
[]
[Positions]
[all_mesh]
type = ElementCentroidPositions
# For testing reproducibility
auto_sort = true
[]
[block_1]
type = ElementCentroidPositions
block = 1
# For testing reproducibility
auto_sort = true
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Postprocessors]
[num_pos]
type = NumPositions
positions = all_mesh
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(test/tests/meshgenerators/break_mesh_by_block_generator/break_mesh_block_pairs_restricted_3blocks.i)
[Mesh]
[msh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1 1'
dy = '1 1 1'
subdomain_id = '0 0 0 0 1 2 2 1 1 1 1 1'
[]
[split]
input = msh
type = BreakMeshByBlockGenerator
split_interface = true
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/segregated/3d/3d-segregated-velocity.i)
mu = 0.002
rho = 1.0
advected_interp_method = 'average'
velocity_interp_method = 'rc'
pressure_tag = "pressure_grad"
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 3
dx = '0.2'
dy = '0.2'
dz = '0.8'
ix = '3'
iy = '3'
iz = '12'
[]
[]
[GlobalParams]
rhie_chow_user_object = 'rc'
[]
[Problem]
nl_sys_names = 'u_system v_system w_system pressure_system'
previous_nl_solution_required = true
error_on_jacobian_nonzero_reallocation = true
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolatorSegregated
u = vel_x
v = vel_y
w = vel_z
pressure = pressure
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = u_system
two_term_boundary_expansion = false
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 0.0
solver_sys = v_system
two_term_boundary_expansion = false
[]
[vel_z]
type = INSFVVelocityVariable
initial_condition = 0.5
solver_sys = w_system
two_term_boundary_expansion = false
[]
[pressure]
type = INSFVPressureVariable
solver_sys = pressure_system
initial_condition = 0.2
two_term_boundary_expansion = false
[]
[]
[FVKernels]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[w_advection]
type = INSFVMomentumAdvection
variable = vel_z
advected_interp_method = ${advected_interp_method}
velocity_interp_method = ${velocity_interp_method}
rho = ${rho}
momentum_component = 'y'
[]
[w_viscosity]
type = INSFVMomentumDiffusion
variable = vel_z
mu = ${mu}
momentum_component = 'z'
[]
[w_pressure]
type = INSFVMomentumPressure
variable = vel_z
momentum_component = 'z'
pressure = pressure
extra_vector_tags = ${pressure_tag}
[]
[p_diffusion]
type = FVAnisotropicDiffusion
variable = pressure
coeff = "Ainv"
coeff_interp_method = 'average'
[]
[p_source]
type = FVDivergence
variable = pressure
vector_field = "HbyA"
force_boundary_execution = true
[]
[]
[FVBCs]
[inlet-u]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_x
function = '0'
[]
[inlet-v]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_y
function = '0'
[]
[inlet-w]
type = INSFVInletVelocityBC
boundary = 'back'
variable = vel_z
function = '1.1'
[]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom '
variable = vel_x
function = 0.0
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom'
variable = vel_y
function = 0.0
[]
[walls-w]
type = INSFVNoSlipWallBC
boundary = 'left right top bottom'
variable = vel_z
function = 0.0
[]
[outlet_p]
type = INSFVOutletPressureBC
boundary = 'front'
variable = pressure
function = 1.4
[]
[zero-grad-pressure]
type = FVFunctionNeumannBC
variable = pressure
boundary = 'back left right top bottom'
function = 0.0
[]
[]
[Executioner]
type = SIMPLENonlinearAssembly
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system w_system'
pressure_system = 'pressure_system'
pressure_gradient_tag = ${pressure_tag}
momentum_equation_relaxation = 0.6
pressure_variable_relaxation = 0.3
num_iterations = 100
pressure_absolute_tolerance = 1e-13
momentum_absolute_tolerance = 1e-13
momentum_l_abs_tol = 1e-14
pressure_l_abs_tol = 1e-14
momentum_l_tol = 0
pressure_l_tol = 0
print_fields = false
[]
[Outputs]
exodus = true
csv = false
perf_graph = false
print_nonlinear_residuals = false
print_linear_residuals = true
[]
(test/tests/times/functor_times.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Times]
[functor]
type = FunctorTimes
functor = 'f1'
[]
[]
[Functions]
[f1]
type = ParsedFunction
expression = '1 + x * 2'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
# Test recover
num_steps = 2
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(test/tests/fvbcs/fv_neumannbc/fv_neumannbc.i)
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1'
ix = '5 5'
iy = '5'
subdomain_id = '1 1'
[]
[internal_sideset]
type = ParsedGenerateSideset
combinatorial_geometry = 'x<1.01 & x>0.99'
included_subdomains = 1
new_sideset_name = 'center'
input = 'mesh'
[]
[]
[Variables]
[u]
family = MONOMIAL
order = CONSTANT
fv = true
block = 1
[]
[]
[FVKernels]
[diff]
type = FVDiffusion
variable = u
coeff = 1
[]
[]
[FVBCs]
inactive = 'center'
[left]
type = FVDirichletBC
variable = u
boundary = left
value = 1
[]
[right]
type = FVNeumannBC
variable = u
boundary = right
value = 4
[]
# Internal center sideset, should cause erroring out
[center]
type = FVNeumannBC
variable = u
boundary = center
value = 0
[]
[]
[Executioner]
type = Steady
solve_type = 'Newton'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
[]
[Outputs]
exodus = true
[]
(modules/solid_mechanics/test/tests/ad_viscoplasticity_stress_update/exact.i)
# This test provides comparison to calculated values from Leblond:1994kl
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
pore_shape_model = spherical
[]
[Mesh]
[./msh]
type = CartesianMeshGenerator
dim = 3
dx = 0.01
dy = 0.01
dz = 0.01
iz = 1
ix = 1
iy = 1
[../]
[./extra_nodeset]
type = ExtraNodesetGenerator
input = msh
new_boundary = 'origin'
coord = '0 0 0'
[]
[]
[Physics/SolidMechanics/QuasiStatic/All]
strain = FINITE
add_variables = true
generate_output = 'strain_xx strain_yy strain_xy hydrostatic_stress vonmises_stress'
use_automatic_differentiation = true
[]
[Functions]
[./Q_gtn]
type = ParsedFunction
symbol_names = 'avg_vonmises gtn_gauge_stress'
symbol_values = 'avg_vonmises gtn_gauge_stress'
expression = 'avg_vonmises/gtn_gauge_stress'
[../]
[./M_gtn]
type = ParsedFunction
symbol_names = 'avg_hydro gtn_gauge_stress'
symbol_values = 'avg_hydro gtn_gauge_stress'
expression = 'abs(avg_hydro) / gtn_gauge_stress'
[../]
[./Q_ten]
type = ParsedFunction
symbol_names = 'avg_vonmises ten_gauge_stress'
symbol_values = 'avg_vonmises ten_gauge_stress'
expression = 'avg_vonmises/ten_gauge_stress'
[../]
[./M_ten]
type = ParsedFunction
symbol_names = 'avg_hydro ten_gauge_stress'
symbol_values = 'avg_hydro ten_gauge_stress'
expression = 'abs(avg_hydro) / ten_gauge_stress'
[../]
[./Q_five]
type = ParsedFunction
symbol_names = 'avg_vonmises five_gauge_stress'
symbol_values = 'avg_vonmises five_gauge_stress'
expression = 'avg_vonmises/five_gauge_stress'
[../]
[./M_five]
type = ParsedFunction
symbol_names = 'avg_hydro five_gauge_stress'
symbol_values = 'avg_hydro five_gauge_stress'
expression = 'abs(avg_hydro) / five_gauge_stress'
[../]
[./Q_three]
type = ParsedFunction
symbol_names = 'avg_vonmises three_gauge_stress'
symbol_values = 'avg_vonmises three_gauge_stress'
expression = 'avg_vonmises / three_gauge_stress'
[../]
[./M_three]
type = ParsedFunction
symbol_names = 'avg_hydro three_gauge_stress'
symbol_values = 'avg_hydro three_gauge_stress'
expression = 'abs(avg_hydro) / three_gauge_stress'
[../]
[./Q_two]
type = ParsedFunction
symbol_names = 'avg_vonmises two_gauge_stress'
symbol_values = 'avg_vonmises two_gauge_stress'
expression = 'avg_vonmises/two_gauge_stress'
[../]
[./M_two]
type = ParsedFunction
symbol_names = 'avg_hydro two_gauge_stress'
symbol_values = 'avg_hydro two_gauge_stress'
expression = 'abs(avg_hydro) / two_gauge_stress'
[../]
[./Q_onepointfive]
type = ParsedFunction
symbol_names = 'avg_vonmises onepointfive_gauge_stress'
symbol_values = 'avg_vonmises onepointfive_gauge_stress'
expression = 'avg_vonmises / onepointfive_gauge_stress'
[../]
[./M_onepointfive]
type = ParsedFunction
symbol_names = 'avg_hydro onepointfive_gauge_stress'
symbol_values = 'avg_hydro onepointfive_gauge_stress'
expression = 'abs(avg_hydro) / onepointfive_gauge_stress'
[../]
[./Q_one]
type = ParsedFunction
symbol_names = 'avg_vonmises one_gauge_stress'
symbol_values = 'avg_vonmises one_gauge_stress'
expression = 'avg_vonmises / one_gauge_stress'
[../]
[./M_one]
type = ParsedFunction
symbol_names = 'avg_hydro one_gauge_stress'
symbol_values = 'avg_hydro one_gauge_stress'
expression = 'abs(avg_hydro) / one_gauge_stress'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ADComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.3
[../]
[./stress]
type = ADComputeMultipleInelasticStress
inelastic_models = 'gtn lps_ten lps_five lps_three lps_two lps_onepointfive lps_one'
outputs = all
extra_stress_names = extra_stress
[../]
[./porosity]
type = ADPorosityFromStrain
initial_porosity = 1e-3
inelastic_strain = 'combined_inelastic_strain'
outputs = 'all'
[../]
[./gtn]
type = ADViscoplasticityStressUpdate
coefficient = 0
power = 1 # arbitrary
viscoplasticity_model = GTN
base_name = gtn
outputs = all
relative_tolerance = 1e-30
[../]
[./lps_ten]
type = ADViscoplasticityStressUpdate
coefficient = 0
power = 10
base_name = ten
outputs = all
relative_tolerance = 1e-30
[../]
[./lps_five]
type = ADViscoplasticityStressUpdate
coefficient = 0
power = 5
base_name = five
outputs = all
relative_tolerance = 1e-30
[../]
[./lps_three]
type = ADViscoplasticityStressUpdate
coefficient = 0
power = 3
base_name = three
outputs = all
relative_tolerance = 1e-30
[../]
[./lps_two]
type = ADViscoplasticityStressUpdate
coefficient = 0
power = 2
base_name = two
outputs = all
relative_tolerance = 1e-30
[../]
[./lps_onepointfive]
type = ADViscoplasticityStressUpdate
coefficient = 0
power = 1.5
base_name = onepointfive
outputs = all
relative_tolerance = 1e-30
[../]
[./lps_one]
type = ADViscoplasticityStressUpdate
coefficient = 0
power = 1
base_name = one
outputs = all
relative_tolerance = 1e-30
[../]
[./const_stress]
type = ComputeExtraStressConstant
extra_stress_tensor = '1 1 1 1 1 1 1 1 1'
outputs = all
[../]
[]
[BCs]
[./no_disp_x]
type = ADDirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./no_disp_y]
type = ADDirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./no_disp_z]
type = ADDirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[./Pressure]
[./bcs]
boundary = 'top right front'
function = '10^(t/4.5)'
use_automatic_differentiation = true
[../]
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
num_steps = 10
nl_abs_tol = 1e-8
[]
[Postprocessors]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
[../]
[./gtn_gauge_stress]
type = ElementAverageValue
variable = gtn_gauge_stress
outputs = none
[../]
[./0Q_gtn]
type = FunctionValuePostprocessor
function = Q_gtn
[../]
[./0M_gtn]
type = FunctionValuePostprocessor
function = M_gtn
[../]
[./ten_gauge_stress]
type = ElementAverageValue
variable = ten_gauge_stress
outputs = none
[../]
[./1Q_ten]
type = FunctionValuePostprocessor
function = Q_ten
[../]
[./1M_ten]
type = FunctionValuePostprocessor
function = M_ten
[../]
[./five_gauge_stress]
type = ElementAverageValue
variable = five_gauge_stress
outputs = none
[../]
[./2Q_five]
type = FunctionValuePostprocessor
function = Q_five
[../]
[./2M_five]
type = FunctionValuePostprocessor
function = M_five
[../]
[./three_gauge_stress]
type = ElementAverageValue
variable = three_gauge_stress
outputs = none
[../]
[./3Q_three]
type = FunctionValuePostprocessor
function = Q_three
[../]
[./3M_three]
type = FunctionValuePostprocessor
function = M_three
[../]
[./two_gauge_stress]
type = ElementAverageValue
variable = two_gauge_stress
outputs = none
[../]
[./4Q_two]
type = FunctionValuePostprocessor
function = Q_two
[../]
[./4M_two]
type = FunctionValuePostprocessor
function = M_two
[../]
[./onepointfive_gauge_stress]
type = ElementAverageValue
variable = onepointfive_gauge_stress
outputs = none
[../]
[./5Q_onepointfive]
type = FunctionValuePostprocessor
function = Q_onepointfive
[../]
[./5M_onepointfive]
type = FunctionValuePostprocessor
function = M_onepointfive
[../]
[./one_gauge_stress]
type = ElementAverageValue
variable = one_gauge_stress
outputs = none
[../]
[./6Q_one]
type = FunctionValuePostprocessor
function = Q_one
[../]
[./6M_one]
type = FunctionValuePostprocessor
function = M_one
[../]
[]
[Outputs]
csv = true
file_base = exact_spherical_out
[]
(modules/geochemistry/test/tests/nodal_void_volume/nodal_void_volume_adaptive.i)
# Computes nodal void volume, when using adaptivity, and compares with the Postprocessor hand-calculated values
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 2 2'
dy = '1 4'
[]
[]
[Adaptivity]
initial_marker = u_marker
marker = u_marker
max_h_level = 1
[Markers]
[u_marker]
type = ValueRangeMarker
variable = u
invert = true
lower_bound = 0.02
upper_bound = 0.98
[]
[]
[]
[Variables]
[u]
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'if(x<2,0,1)'
[]
[]
[Kernels]
[dot]
type = TimeDerivative
variable = u
[]
[u]
type = Diffusion
variable = u
[]
[]
[Executioner]
type = Transient
dt = 1
end_time = 2
[]
[Outputs]
csv = true
[]
[UserObjects]
[nodal_void_volume]
type = NodalVoidVolume
porosity = porosity
[]
[]
[AuxVariables]
[porosity]
family = MONOMIAL
order = CONSTANT
[]
[vol]
[]
[]
[AuxKernels]
[porosity]
type = FunctionAux
variable = porosity
function = 'if(x<4, 1, 2)'
[]
[vol]
type = NodalVoidVolumeAux
variable = vol
nodal_void_volume_uo = nodal_void_volume
[]
[]
[Postprocessors]
[quarter]
type = PointValue
point = '0 0 0'
variable = vol
[]
[half]
type = PointValue
point = '1 0 0'
variable = vol
[]
[three_quarters]
type = PointValue
point = '2 0 0'
variable = vol
[]
[one_and_half_to_34s]
type = PointValue
point = '4 0 0'
variable = vol
[]
[one_to_14]
type = PointValue
point = '6 0 0'
variable = vol
[]
[one_and_quarter]
type = PointValue
point = '0 1 0'
variable = vol
[]
[two_and_half]
type = PointValue
point = '1 1 0'
variable = vol
[]
[three_and_three_quarters]
type = PointValue
point = '2 1 0'
variable = vol
[]
[seven_and_half_to_334]
type = PointValue
point = '4 1 0'
variable = vol
[]
[five_to_54]
type = PointValue
point = '6 1 0'
variable = vol
[]
[]
(test/tests/meshgenerators/block_deletion_generator/block_deletion_test14.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '4 2 3'
dy = '1 2'
ix = '10 10 10'
iy = '8 8'
subdomain_id = '1 2 3
2 2 2'
[]
[ed0]
type = BlockDeletionGenerator
input = cmg
block = '1 3'
[]
[]
[Variables]
[u]
[]
[]
[Kernels]
[dt]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(modules/navier_stokes/test/tests/finite_volume/cns/shock_tube_2D_cavity/hllc_sod_shocktube_2D.i)
rho_left = 1
E_left = 2.501505578
u_left = 1e-15
rho_right = 0.125
E_right = 1.999770935
u_right = 1e-15
x_sep = 35
[GlobalParams]
fp = fp
[]
[Mesh]
[./cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '40 20'
ix = '200 100'
dy = '1 20 2 20 1'
iy = '4 100 10 100 4'
subdomain_id = '0 0
0 1
1 1
0 1
0 0'
[../]
[./wall]
type = SideSetsBetweenSubdomainsGenerator
input = cartesian
primary_block = 1
paired_block = 0
new_boundary = 'wall'
[../]
[./delete]
type = BlockDeletionGenerator
input = wall
block = 0
[../]
[]
[FluidProperties]
[./fp]
type = IdealGasFluidProperties
allow_imperfect_jacobians = true
[../]
[]
[Variables]
[./rho]
order = CONSTANT
family = MONOMIAL
fv = true
[../]
[./rho_u]
order = CONSTANT
family = MONOMIAL
fv = true
[../]
[./rho_v]
order = CONSTANT
family = MONOMIAL
fv = true
[../]
[./rho_E]
order = CONSTANT
family = MONOMIAL
fv = true
[../]
[]
[AuxVariables]
[./Ma]
order = CONSTANT
family = MONOMIAL
[../]
[./p]
order = CONSTANT
family = MONOMIAL
[../]
[./v_norm]
order = CONSTANT
family = MONOMIAL
[../]
[./temperature]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./Ma_aux]
type = NSMachAux
variable = Ma
fluid_properties = fp
use_material_properties = true
[../]
[./p_aux]
type = ADMaterialRealAux
variable = p
property = pressure
[../]
[./v_norm_aux]
type = ADMaterialRealAux
variable = v_norm
property = speed
[../]
[./temperature_aux]
type = ADMaterialRealAux
variable = temperature
property = T_fluid
[../]
[]
[FVKernels]
[./mass_time]
type = FVTimeKernel
variable = rho
[../]
[./mass_advection]
type = CNSFVMassHLLC
variable = rho
[../]
[./momentum_x_time]
type = FVTimeKernel
variable = rho_u
[../]
[./momentum_x_advection]
type = CNSFVMomentumHLLC
variable = rho_u
momentum_component = x
[../]
[./momentum_y_time]
type = FVTimeKernel
variable = rho_v
[../]
[./momentum_y_advection]
type = CNSFVMomentumHLLC
variable = rho_v
momentum_component = y
[../]
[./fluid_energy_time]
type = FVTimeKernel
variable = rho_E
[../]
[./fluid_energy_advection]
type = CNSFVFluidEnergyHLLC
variable = rho_E
[../]
[]
[FVBCs]
[./mom_x_pressure]
type = CNSFVMomImplicitPressureBC
variable = rho_u
momentum_component = x
boundary = 'left right wall'
[../]
[./mom_y_pressure]
type = CNSFVMomImplicitPressureBC
variable = rho_v
momentum_component = y
boundary = 'wall'
[../]
[]
[ICs]
[./rho_ic]
type = FunctionIC
variable = rho
function = 'if (x < ${x_sep}, ${rho_left}, ${rho_right})'
[../]
[./rho_u_ic]
type = FunctionIC
variable = rho_u
function = 'if (x < ${x_sep}, ${fparse rho_left * u_left}, ${fparse rho_right * u_right})'
[../]
[./rho_E_ic]
type = FunctionIC
variable = rho_E
function = 'if (x < ${x_sep}, ${fparse E_left * rho_left}, ${fparse E_right * rho_right})'
[../]
[]
[Materials]
[./var_mat]
type = ConservedVarValuesMaterial
rho = rho
rhou = rho_u
rhov = rho_v
rho_et = rho_E
fp = fp
[../]
[./sound_speed]
type = SoundspeedMat
fp = fp
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
[../]
[]
[Postprocessors]
[./cfl_dt]
type = ADCFLTimeStepSize
c_names = 'sound_speed'
vel_names = 'speed'
[../]
[]
[Executioner]
type = Transient
end_time = 100
[TimeIntegrator]
type = ExplicitSSPRungeKutta
order = 2
[]
l_tol = 1e-8
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl_dt
[../]
[]
(test/tests/fvbcs/fv_functor_dirichlet/fv_other_side.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 2'
dy = '1.3'
ix = '5 10'
iy = '3'
subdomain_id = '0 1'
[]
[mid]
type = SideSetsBetweenSubdomainsGenerator
input = 'cmg'
primary_block = '0'
paired_block = '1'
new_boundary = 'mid'
[]
[]
[Variables]
[u]
type = MooseVariableFVReal
block = 0
[]
[v]
type = MooseVariableFVReal
block = 1
[]
[]
[FVKernels]
[diffu]
type = FVDiffusion
variable = u
coeff = 1
[]
[diffv]
type = FVDiffusion
variable = v
coeff = 2
block = 1
[]
[source]
type = FVBodyForce
variable = v
value = 1
[]
[]
[FVBCs]
[left]
type = FVDirichletBC
variable = u
boundary = left
value = 4
[]
[mid]
type = FVADFunctorDirichletBC
variable = u
functor = v
functor_only_defined_on_other_side = true
ghost_layers = 3
boundary = mid
[]
[right]
type = FVDirichletBC
variable = v
boundary = right
value = 0.5
[]
[]
[Executioner]
type = Steady
solve_type = 'Newton'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
nl_abs_tol = 1e-12
[]
[VectorPostprocessors]
[u_sample]
type = LineValueSampler
variable = 'u'
start_point = '0.01 0.3 0'
end_point = '0.99 0.3 0'
num_points = 4
sort_by = x
[]
[v_sample]
type = LineValueSampler
variable = 'v'
start_point = '1.01 0.3 0'
end_point = '1.99 0.3 0'
num_points = 4
sort_by = x
[]
[]
[Outputs]
exodus = true
csv = true
[]
(test/tests/meshgenerators/advanced_extruder_generator/advanced_extruder_then_parsed_gen_sideset.i)
[Mesh]
[file]
type = CartesianMeshGenerator
dim = 2
dx = '1 1 1 1'
dy = '1 1'
subdomain_id = '1 2 3 4
1 2 3 4'
[]
[extrude]
type = AdvancedExtruderGenerator
direction = '0 0 1'
heights = '1 1 1'
num_layers = '1 1 1'
input = file
[]
[add_side]
type = ParsedGenerateSideset
combinatorial_geometry = '2 > 1'
new_sideset_name = new_s
included_subdomains = 1
included_neighbors = 2
input = extrude
[]
[]
(test/tests/positions/input_positions.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Positions]
[input]
type = InputPositions
positions = '0.1 0 0
0.2 0 0.1'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
# Test recover
num_steps = 2
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/channel-flow/linear-segregated/3d/3d-velocity-pressure.i)
mu = 2.6
rho = 1.0
advected_interp_method = 'average'
[Mesh]
[mesh]
type = CartesianMeshGenerator
dim = 3
dx = '0.3'
dy = '0.3'
dz = '0.3'
ix = '3'
iy = '3'
iz = '3'
[]
[]
[Problem]
linear_sys_names = 'u_system v_system w_system pressure_system'
previous_nl_solution_required = true
[]
[UserObjects]
[rc]
type = RhieChowMassFlux
u = vel_x
v = vel_y
w = vel_z
pressure = pressure
rho = ${rho}
p_diffusion_kernel = p_diffusion
[]
[]
[Variables]
[vel_x]
type = MooseLinearVariableFVReal
initial_condition = 0.5
solver_sys = u_system
[]
[vel_y]
type = MooseLinearVariableFVReal
solver_sys = v_system
initial_condition = 0.0
[]
[vel_z]
type = MooseLinearVariableFVReal
solver_sys = w_system
initial_condition = 0.0
[]
[pressure]
type = MooseLinearVariableFVReal
solver_sys = pressure_system
initial_condition = 0.2
[]
[]
[LinearFVKernels]
[u_advection_stress]
type = LinearWCNSFVMomentumFlux
variable = vel_x
advected_interp_method = ${advected_interp_method}
mu = ${mu}
u = vel_x
v = vel_y
w = vel_z
momentum_component = 'x'
rhie_chow_user_object = 'rc'
use_nonorthogonal_correction = false
[]
[v_advection_stress]
type = LinearWCNSFVMomentumFlux
variable = vel_y
advected_interp_method = ${advected_interp_method}
mu = ${mu}
u = vel_x
v = vel_y
w = vel_z
momentum_component = 'y'
rhie_chow_user_object = 'rc'
use_nonorthogonal_correction = false
[]
[w_advection_stress]
type = LinearWCNSFVMomentumFlux
variable = vel_z
advected_interp_method = ${advected_interp_method}
mu = ${mu}
u = vel_x
v = vel_y
w = vel_z
momentum_component = 'z'
rhie_chow_user_object = 'rc'
use_nonorthogonal_correction = false
[]
[u_pressure]
type = LinearFVMomentumPressure
variable = vel_x
pressure = pressure
momentum_component = 'x'
[]
[v_pressure]
type = LinearFVMomentumPressure
variable = vel_y
pressure = pressure
momentum_component = 'y'
[]
[w_pressure]
type = LinearFVMomentumPressure
variable = vel_z
pressure = pressure
momentum_component = 'z'
[]
[p_diffusion]
type = LinearFVAnisotropicDiffusion
variable = pressure
diffusion_tensor = Ainv
use_nonorthogonal_correction = false
[]
[HbyA_divergence]
type = LinearFVDivergence
variable = pressure
face_flux = HbyA
force_boundary_execution = true
[]
[]
[LinearFVBCs]
[inlet-u]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'left'
variable = vel_x
functor = '1.1'
[]
[inlet-v]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'left'
variable = vel_y
functor = '0.0'
[]
[inlet-w]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'left'
variable = vel_z
functor = '0.0'
[]
[walls-u]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'top bottom back front'
variable = vel_x
functor = 0.0
[]
[walls-v]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'top bottom back front'
variable = vel_y
functor = 0.0
[]
[walls-w]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'top bottom back front'
variable = vel_z
functor = 0.0
[]
[outlet_p]
type = LinearFVAdvectionDiffusionFunctorDirichletBC
boundary = 'right'
variable = pressure
functor = 1.4
[]
[outlet_u]
type = LinearFVAdvectionDiffusionOutflowBC
variable = vel_x
use_two_term_expansion = false
boundary = right
[]
[outlet_v]
type = LinearFVAdvectionDiffusionOutflowBC
variable = vel_y
use_two_term_expansion = false
boundary = right
[]
[outlet_w]
type = LinearFVAdvectionDiffusionOutflowBC
variable = vel_z
use_two_term_expansion = false
boundary = right
[]
[]
[Executioner]
type = SIMPLE
momentum_l_abs_tol = 1e-10
pressure_l_abs_tol = 1e-10
momentum_l_tol = 0
pressure_l_tol = 0
rhie_chow_user_object = 'rc'
momentum_systems = 'u_system v_system w_system'
pressure_system = 'pressure_system'
momentum_equation_relaxation = 0.8
pressure_variable_relaxation = 0.3
num_iterations = 100
pressure_absolute_tolerance = 1e-10
momentum_absolute_tolerance = 1e-10
momentum_petsc_options_iname = '-pc_type -pc_hypre_type -pc_hypre_boomeramg_agg_nl -pc_hypre_boomeramg_agg_num_paths -pc_hypre_boomeramg_truncfactor -pc_hypre_boomeramg_strong_threshold -pc_hypre_boomeramg_coarsen_type -pc_hypre_boomeramg_interp_type'
momentum_petsc_options_value = 'hypre boomeramg 4 1 0.1 0.6 HMIS ext+i'
pressure_petsc_options_iname = '-pc_type -pc_hypre_type -pc_hypre_boomeramg_agg_nl -pc_hypre_boomeramg_agg_num_paths -pc_hypre_boomeramg_truncfactor -pc_hypre_boomeramg_strong_threshold -pc_hypre_boomeramg_coarsen_type -pc_hypre_boomeramg_interp_type'
pressure_petsc_options_value = 'hypre boomeramg 2 1 0.1 0.6 HMIS ext+i'
print_fields = false
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/view_factors_symmetry/cavity_with_pillars_symmetry_bc.i)
[Mesh]
[cartesian]
type = CartesianMeshGenerator
dim = 3
dx = '0.5 0.5 0.5'
dy = '0.5 0.75 0.5'
dz = '1.5 0.5'
subdomain_id = '1 1 1
1 2 1
1 1 1
1 1 1
1 1 1
1 1 1'
[]
[add_obstruction]
type = SideSetsBetweenSubdomainsGenerator
primary_block = 2
paired_block = 1
new_boundary = obstruction
input = cartesian
[]
[add_new_back]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(z) < 1e-10'
included_subdomains = '1'
normal = '0 0 -1'
new_sideset_name = back_2
input = add_obstruction
[]
[]
[UserObjects]
[view_factor_study]
type = ViewFactorRayStudy
execute_on = initial
boundary = 'left top bottom front back_2 obstruction'
face_order = FOURTH
[]
[view_factor]
type = RayTracingViewFactor
boundary = 'left top bottom front back_2 obstruction'
execute_on = INITIAL
normalize_view_factor = false
ray_study_name = view_factor_study
[]
[]
[RayBCs]
[vf_bc]
type = ViewFactorRayBC
boundary = 'left top bottom front back_2 obstruction'
[]
[symmetry]
type = ReflectRayBC
boundary = 'right'
[]
[]
[Postprocessors]
[left_left]
type = ViewFactorPP
from_boundary = left
to_boundary = left
view_factor_object_name = view_factor
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/navier_stokes/test/tests/finite_volume/ins/pump/pump_as_volume_force_loop_force_corrected.i)
mu = 1.0
rho = 1.0
[Mesh]
[gen]
type = CartesianMeshGenerator
dim = 2
dx = '0.1 0.8 0.1'
dy = '0.1 0.8 0.1'
ix = '5 20 5'
iy = '5 20 5'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[delete_internal_part]
type = BlockDeletionGenerator
input = gen
block = '2'
new_boundary = 'wall-internal'
[]
[lump_bdries_to_wall]
type = RenameBoundaryGenerator
input = delete_internal_part
old_boundary = 'bottom right top left'
new_boundary = 'wall-external wall-external wall-external wall-external'
[]
[pump_domain]
type = ParsedSubdomainMeshGenerator
input = lump_bdries_to_wall
combinatorial_geometry = 'x > 0.3 & x < 0.7 & y > 0.5'
block_id = '3'
[]
[rename_blocks]
type = RenameBlockGenerator
input = pump_domain
old_block = '1 3'
new_block = 'pipe pump'
[]
[side_pump]
type = ParsedGenerateSideset
input = rename_blocks
included_subdomains = 'pump'
included_neighbors = 'pipe'
new_sideset_name = 'pump_side'
normal = '1 0 0'
combinatorial_geometry = 'x > 0.35'
[]
[]
[GlobalParams]
velocity_interp_method = 'rc'
advected_interp_method = 'upwind'
rhie_chow_user_object = 'rc'
[]
[Problem]
material_coverage_check = False
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = vel_x
v = vel_y
pressure = pressure
correct_volumetric_force = true
volumetric_force_functors = 'pump_force'
volume_force_correction_method = 'force-consistent'
[]
[]
[Variables]
[vel_x]
type = INSFVVelocityVariable
initial_condition = 1
[]
[vel_y]
type = INSFVVelocityVariable
initial_condition = 1
[]
[pressure]
type = INSFVPressureVariable
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[AuxVariables]
[U]
order = CONSTANT
family = MONOMIAL
fv = true
[]
[]
[AuxKernels]
[mag]
type = VectorMagnitudeAux
variable = U
x = vel_x
y = vel_y
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
phi0 = 0.0
[]
[u_advection]
type = INSFVMomentumAdvection
variable = vel_x
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = vel_x
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = vel_x
momentum_component = 'x'
pressure = pressure
[]
[u_pump]
type = INSFVBodyForce
variable = vel_x
momentum_component = 'x'
functor = 'pump_force'
block = 'pump'
[]
[v_advection]
type = INSFVMomentumAdvection
variable = vel_y
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = vel_y
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = vel_y
momentum_component = 'y'
pressure = pressure
[]
[]
[FVBCs]
[walls-u]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_x
function = '0'
[]
[walls-v]
type = INSFVNoSlipWallBC
boundary = 'wall-internal wall-external'
variable = vel_y
function = '0'
[]
[]
[FunctorMaterials]
[pump_force]
type = PiecewiseByBlockFunctorMaterial
prop_name = 'pump_force'
subdomain_to_prop_value = 'pump 1000.0
pipe 0.0'
[]
[]
[Postprocessors]
[flow_rate]
type = Receiver
default = 1.0
[]
[flow_rate_to_pipe]
type = VolumetricFlowRate
advected_quantity = ${rho}
boundary = 'pump_side'
vel_x = 'vel_x'
vel_y = 'vel_y'
[]
[maximum_speed]
type = ADElementExtremeFunctorValue
functor = vel_x
value_type = max
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = false
[out]
type = CSV
execute_on = FINAL
show = 'flow_rate_to_pipe maximum_speed'
[]
[]
(test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_1D.i)
[Mesh]
[./cmg]
type = CartesianMeshGenerator
dim = 1
dx = '1.5 2.4 0.1'
ix = '2 1 1'
subdomain_id = '0 2 1'
[../]
[]
(modules/navier_stokes/test/tests/finite_volume/fviks/convection/convection_channel.i)
mu = 1
rho = 1
k = .01
cp = 1
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 0.5'
dy = '1'
ix = '8 5'
iy = '8'
subdomain_id = '0 1'
[]
[interface]
type = SideSetsBetweenSubdomainsGenerator
input = 'cmg'
primary_block = 0
paired_block = 1
new_boundary = 'interface'
[]
[fluid_side]
type = BreakBoundaryOnSubdomainGenerator
input = 'interface'
boundaries = 'top bottom'
[]
[]
[GlobalParams]
# retain behavior at time of test creation
two_term_boundary_expansion = false
rhie_chow_user_object = 'rc'
advected_interp_method = 'average'
velocity_interp_method = 'rc'
[]
[UserObjects]
[rc]
type = INSFVRhieChowInterpolator
u = u
v = v
block = 0
pressure = pressure
[]
[]
[Variables]
[u]
type = INSFVVelocityVariable
block = 0
initial_condition = 1e-6
[]
[v]
type = INSFVVelocityVariable
block = 0
initial_condition = 1e-6
[]
[pressure]
type = INSFVPressureVariable
block = 0
[]
[T]
type = INSFVEnergyVariable
block = 0
initial_condition = 1
[]
[Ts]
type = INSFVEnergyVariable
block = 1
[]
[lambda]
family = SCALAR
order = FIRST
[]
[]
[FVKernels]
[mass]
type = INSFVMassAdvection
variable = pressure
rho = ${rho}
[]
[mean_zero_pressure]
type = FVIntegralValueConstraint
variable = pressure
lambda = lambda
[]
[u_advection]
type = INSFVMomentumAdvection
variable = u
rho = ${rho}
momentum_component = 'x'
[]
[u_viscosity]
type = INSFVMomentumDiffusion
variable = u
mu = ${mu}
momentum_component = 'x'
[]
[u_pressure]
type = INSFVMomentumPressure
variable = u
momentum_component = 'x'
pressure = pressure
[]
[v_advection]
type = INSFVMomentumAdvection
variable = v
rho = ${rho}
momentum_component = 'y'
[]
[v_viscosity]
type = INSFVMomentumDiffusion
variable = v
mu = ${mu}
momentum_component = 'y'
[]
[v_pressure]
type = INSFVMomentumPressure
variable = v
momentum_component = 'y'
pressure = pressure
[]
[temp_conduction]
type = FVDiffusion
coeff = 'k'
variable = T
[]
[temp_advection]
type = INSFVEnergyAdvection
variable = T
[]
[solid_temp_conduction]
type = FVDiffusion
coeff = 'k'
variable = Ts
[]
[]
[FVInterfaceKernels]
[convection]
type = FVConvectionCorrelationInterface
variable1 = T
variable2 = Ts
boundary = 'interface'
h = 5
T_solid = Ts
T_fluid = T
subdomain1 = 0
subdomain2 = 1
wall_cell_is_bulk = true
[]
[]
[FVBCs]
[walls_u]
type = INSFVNoSlipWallBC
variable = u
boundary = 'interface left'
function = 0
[]
[walls_v]
type = INSFVNoSlipWallBC
variable = v
boundary = 'interface left'
function = 0
[]
[inlet_u]
type = INSFVInletVelocityBC
variable = u
boundary = 'bottom_to_0'
function = 0
[]
[inlet_v]
type = INSFVInletVelocityBC
variable = v
boundary = 'bottom_to_0'
function = 1
[]
[inlet_T]
type = FVDirichletBC
variable = T
boundary = 'bottom_to_0'
value = 0.5
[]
[outlet]
type = INSFVMassAdvectionOutflowBC
variable = pressure
boundary = 'top_to_0'
u = u
v = v
rho = ${rho}
[]
[outlet_u]
type = INSFVMomentumAdvectionOutflowBC
variable = u
boundary = 'top_to_0'
u = u
v = v
momentum_component = 'x'
rho = ${rho}
[]
[outlet_v]
type = INSFVMomentumAdvectionOutflowBC
variable = v
boundary = 'top_to_0'
u = u
v = v
momentum_component = 'y'
rho = ${rho}
[]
[heater]
type = FVDirichletBC
variable = 'Ts'
boundary = 'right'
value = 10
[]
[]
[FunctorMaterials]
[functor_constants]
type = ADGenericFunctorMaterial
prop_names = 'cp k'
prop_values = '${cp} ${k}'
[]
[ins_fv]
type = INSFVEnthalpyFunctorMaterial
temperature = 'T'
rho = ${rho}
block = 0
[]
[]
[Executioner]
type = Steady
solve_type = NEWTON
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -ksp_gmres_restart'
petsc_options_value = 'asm lu NONZERO 200'
line_search = 'none'
nl_abs_tol = 1e-14
[]
[Postprocessors]
[max_T]
type = ADElementExtremeFunctorValue
functor = T
block = 0
[]
[max_Ts]
type = ADElementExtremeFunctorValue
functor = Ts
block = 1
[]
[mdot_out]
type = VolumetricFlowRate
boundary = 'top_to_0'
vel_x = u
vel_y = v
advected_quantity = ${rho}
[]
[]
[Outputs]
exodus = true
[]
(test/tests/meshgenerators/mesh_diagnostics_generator/detect_amr_quad.i)
[Mesh]
[big_one]
type = GeneratedMeshGenerator
dim = 2
nx = 1
ny = 1
xmin = 1
xmax = 2
ymin = 0
ymax = 1
[]
[cut_one]
type = CartesianMeshGenerator
dim = 2
dx = 1
dy = 1
ix = 2
iy = 2
[]
[cmbn]
type = CombinerGenerator
inputs = 'big_one cut_one'
[]
[diag]
type = MeshDiagnosticsGenerator
input = cmbn
search_for_adaptivity_nonconformality = INFO
[]
[]
[Outputs]
exodus = true
[]
(modules/heat_transfer/test/tests/radiative_bcs/radiative_bc_cyl.i)
#
# Thin cylindrical shell with very high thermal conductivity
# so that temperature is almost uniform at 500 K. Radiative
# boundary conditions is applied. Heat flux out of boundary
# 'right' should be 3723.36; this is approached as the mesh
# is refined
#
[Mesh]
type = MeshGeneratorMesh
[./cartesian]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
ix = '1 10'
dy = '1 1'
subdomain_id = '1 2 1 2'
[../]
[./remove_1]
type = BlockDeletionGenerator
block = 1
input = cartesian
[../]
[./readd_left]
type = ParsedGenerateSideset
combinatorial_geometry = 'abs(x - 1) < 1e-4'
new_sideset_name = left
input = remove_1
[../]
[]
[Problem]
coord_type = RZ
[]
[Variables]
[./temp]
initial_condition = 800.0
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[]
[BCs]
[./lefttemp]
type = DirichletBC
boundary = left
variable = temp
value = 800
[../]
[./radiative_bc]
type = InfiniteCylinderRadiativeBC
boundary = right
variable = temp
boundary_radius = 2
boundary_emissivity = 0.2
cylinder_radius = 3
cylinder_emissivity = 0.7
Tinfinity = 500
[../]
[]
[Materials]
[./density]
type = GenericConstantMaterial
prop_names = 'density thermal_conductivity'
prop_values = '1 1.0e5'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
petsc_options = '-snes_converged_reason'
line_search = none
nl_rel_tol = 1e-6
nl_abs_tol = 1e-7
[]
[Postprocessors]
[./right]
type = SideDiffusiveFluxAverage
variable = temp
boundary = right
diffusivity = thermal_conductivity
[../]
[./min_temp]
type = ElementExtremeValue
variable = temp
value_type = min
[../]
[./max_temp]
type = ElementExtremeValue
variable = temp
value_type = max
[../]
[]
[Outputs]
csv = true
[]
(test/tests/postprocessors/side_advection_flux_integral/side_advection_flux_integral.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '0.75 0.75 0.75'
dy = '0.75 0.75 0.75'
ix = '2 2 2'
iy = '2 2 2'
subdomain_id = '1 1 1
1 2 1
1 1 1'
[]
[add_inner_boundaries_top]
type = SideSetsAroundSubdomainGenerator
input = cmg
new_boundary = 'block_2_top'
block = 2
normal = '0 1 0'
[]
[add_inner_boundaries_bot]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_top
new_boundary = 'block_2_bot'
block = 2
normal = '0 -1 0'
[]
[add_inner_boundaries_right]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_bot
new_boundary = 'block_2_right'
block = 2
normal = '1 0 0'
[]
[add_inner_boundaries_left]
type = SideSetsAroundSubdomainGenerator
input = add_inner_boundaries_right
new_boundary = 'block_2_left'
block = 2
normal = '-1 0 0'
[]
[]
[Variables]
[u]
[]
[]
[ICs]
[u_blob]
type = FunctionIC
variable = u
function = 'if(x<0.75,if(y<0.75,1,0),0)'
[]
[]
[Kernels]
[udot]
type = MassLumpedTimeDerivative
variable = u
[]
[u_advec]
type = ConservativeAdvection
variable = u
upwinding_type = full
velocity = '2 1.5 0'
[]
[]
[BCs]
[outflow]
type = OutflowBC
boundary = 'right top'
variable = u
velocity = '2 1.5 0'
[]
[]
[AuxVariables]
[flux_x]
order = CONSTANT
family = MONOMIAL
[]
[]
[AuxKernels]
[flux_x]
type = AdvectiveFluxAux
variable = flux_x
vel_x = 2
vel_y = 1.5
component = x
advected_variable = u
boundary = 'block_2_right block_2_left'
[]
[]
[Executioner]
type = Transient
solve_type = LINEAR
dt = 0.01
end_time = 0.02
l_tol = 1E-14
[]
[Postprocessors]
[flux_right]
type = SideIntegralVariablePostprocessor
variable = flux_x
boundary = 'block_2_right'
[]
[flux_right_exact]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_right'
vel_x = 2
vel_y = 1.5
component = x
advected_variable = u
[]
[flux_left]
type = SideIntegralVariablePostprocessor
variable = flux_x
boundary = 'block_2_left'
[]
[flux_left_exact]
type = SideAdvectiveFluxIntegral
boundary = 'block_2_left'
vel_x = 2
vel_y = 1.5
component = x
advected_variable = u
[]
[]
[Outputs]
csv = true
[]
(test/tests/meshgenerators/cyclic/cyclic.i)
[Mesh]
[ccmg]
type = ConcentricCircleMeshGenerator
num_sectors = 6
radii = '0.2546 0.3368'
rings = '4 3 4'
has_outer_square = on
pitch = 1
preserve_volumes = off
smoothing_max_it = 3
[]
[rename_left]
type = RenameBoundaryGenerator
input = ccmg
old_boundary = 'left'
new_boundary = '101'
[]
[left]
type = CartesianMeshGenerator
dim = 2
dx = '5'
dy = '1'
ix = '100'
iy = '16'
[]
[move_it]
type = TransformGenerator
input = left
transform = translate
vector_value = '-5.5 -0.5 0'
[]
[rename_middle]
type = RenameBoundaryGenerator
input = move_it
old_boundary = 'right'
new_boundary = '102'
[]
[stitch]
type = StitchedMeshGenerator
inputs = 'rename_left rename_middle'
stitch_boundaries_pairs = '101 102'
[]
[in_between]
type = SideSetsBetweenSubdomainsGenerator
input = stitch
primary_block = 2
paired_block = 1
new_boundary = 'no_circle'
[]
[delete]
type = BlockDeletionGenerator
input = in_between
block = '1'
[]
[create_fused_top_sideset_l]
input = delete
type = ParsedGenerateSideset
combinatorial_geometry = 'y > 0.49'
normal = '0 1 0'
new_sideset_name = 103
[]
[top_left_block]
type = GeneratedMeshGenerator
xmin = -5.5
xmax = -0.5
ymin = 0.5
ymax = ${fparse 0.5 + 2. / 16.}
nx = 100
ny = 2
dim = 2
[]
[rename_top_left_block]
input = top_left_block
type = RenameBlockGenerator
old_block = '0'
new_block = '100'
[]
[rename_middle_2]
input = rename_top_left_block
type = RenameBoundaryGenerator
old_boundary = 'right'
new_boundary = '104'
[]
[top_middle_block]
type = GeneratedMeshGenerator
xmin = -0.5
xmax = 0.5
ymin = 0.5
ymax = ${fparse 0.5 + 2. / 16.}
nx = 16
ny = 2
dim = 2
[]
[rename_top_middle_block]
input = top_middle_block
type = RenameBlockGenerator
old_block = '0'
new_block = '101'
[]
[rename_left_2]
input = rename_top_middle_block
type = RenameBoundaryGenerator
old_boundary = 'left'
new_boundary = '105'
[]
[stitch_2]
inputs = 'rename_middle_2 rename_left_2'
type = StitchedMeshGenerator
stitch_boundaries_pairs = '104 105'
[]
[create_fused_bottom_sideset]
input = stitch_2
type = ParsedGenerateSideset
combinatorial_geometry = 'y < 0.51'
normal = '0 -1 0'
new_sideset_name = 106
[]
[stitch_3]
inputs = 'create_fused_top_sideset_l create_fused_bottom_sideset'
type = StitchedMeshGenerator
stitch_boundaries_pairs = '103 106'
[]
[rename_extension]
type = RenameBoundaryGenerator
input = no_slip_bottom
old_boundary = 'extension'
new_boundary = '111'
[]
[extension]
type = CartesianMeshGenerator
dim = 2
dx = '5'
dy = '1'
ix = '100'
iy = '16'
[]
[move_it_2]
type = TransformGenerator
input = extension
transform = translate
vector_value = '5.5 -0.5 0'
[]
[stitch_4]
inputs = 'rename_middle rename_extension'
type = StitchedMeshGenerator
stitch_boundaries_pairs = '102 111'
[]
[create_fused_top_sideset_r]
input = stitch_4
type = ParsedGenerateSideset
combinatorial_geometry = 'y > .49'
normal = '0 1 0'
new_sideset_name = 113
[]
[top_right_block]
type = GeneratedMeshGenerator
xmin = 0.5
xmax = 5.5
ymin = 0.5
ymax = ${fparse 0.5 + 2. / 16.}
nx = 100
ny = 2
dim = 2
[]
[rename_top_right_block]
input = top_right_block
type = RenameBlockGenerator
old_block = 'top_right_block'
new_block = '110'
[]
[rename_extension_2]
input = rename_top_right_block
type = RenameBoundaryGenerator
old_boundary = 'rename_extension'
new_boundary = '115'
[]
[stitch_5]
inputs = 'rename_middle_2 rename_extension_2'
type = StitchedMeshGenerator
stitch_boundaries_pairs = '104 115'
[]
[stitch_6]
inputs = 'create_fused_bottom_sideset create_fused_top_sideset_r'
type = StitchedMeshGenerator
stitch_boundaries_pairs = '106 113'
[]
[no_slip_top]
input = stitch_6
type = ParsedGenerateSideset
combinatorial_geometry = 'y > .615'
normal = '0 1 0'
new_sideset_name = 'no_slip_top'
[]
[no_slip_bottom]
input = no_slip_top
type = ParsedGenerateSideset
combinatorial_geometry = 'y < -0.49'
normal = '0 -1 0'
new_sideset_name = 'no_slip_bottom'
[]
[inlet]
input = no_slip_bottom
type = ParsedGenerateSideset
combinatorial_geometry = 'x > 5.49'
normal = '1 0 0'
new_sideset_name = 'inlet'
[]
[outlet]
input = inlet
type = ParsedGenerateSideset
combinatorial_geometry = 'x < -5.49'
normal = '-1 0 0'
new_sideset_name = 'outlet'
[]
[]
(modules/reactor/test/tests/meshdivisions/hexagonal_division.i)
# Increase resolution to check results visually
resolution = 3
z_resolution = 3
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '1.5 2.4 0.1'
dy = '1.3 0.9'
dz = '0.4 0.5 0.6 0.7'
ix = '${fparse 2 * resolution} ${fparse resolution} ${fparse z_resolution}'
iy = '${fparse 2 * resolution} ${fparse 3 * z_resolution}'
iz = '${fparse resolution} ${fparse resolution} ${fparse resolution} ${fparse z_resolution}'
[]
# To keep VPP output consistently ordered
allow_renumbering = false
[]
[MeshDivisions]
[hexagonal_div]
type = HexagonalGridDivision
nr = 4
nz = 2
lattice_flat_to_flat = 4
pin_pitch = 0.6
z_min = 0
z_max = 3
center = '1 1 0'
[]
[]
[AuxVariables]
[div]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[mesh_div]
type = MeshDivisionAux
variable = div
mesh_division = 'hexagonal_div'
[]
[]
[VectorPostprocessors]
[div_out]
type = ElementValueSampler
variable = 'div'
sort_by = 'id'
outputs = csv
[]
[]
[Postprocessors]
[npos]
type = NumMeshDivisions
mesh_division = 'hexagonal_div'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(test/tests/times/exodus_times.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dx = 1
dim = 1
[]
[]
[Times]
[exodus]
type = ExodusFileTimes
files = '../executioners/transient_sync_time/gold/out_tio.e ../executioners/transient_sync_time/gold/out.e'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
[]
(test/tests/outputs/debug/show_execution_userobjects.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1.5 2.4'
dy = '1.3 0.9'
ix = '3 2'
iy = '2 3'
subdomain_id = '0 1
1 0'
[]
[add_interface]
type = SideSetsBetweenSubdomainsGenerator
input = 'cmg'
primary_block = 0
paired_block = 1
new_boundary = 'interface'
[]
second_order = true
[]
[Functions]
[forcing_fnu]
type = ParsedFunction
expression = -5.8*(x+y)+x*x*x-x+y*y*y-y
[]
[forcing_fnv]
type = ParsedFunction
expression = -4
[]
[slnu]
type = ParsedGradFunction
expression = x*x*x-x+y*y*y-y
grad_x = 3*x*x-1
grad_y = 3*y*y-1
[]
[slnv]
type = ParsedGradFunction
expression = x*x+y*y
grad_x = 2*x
grad_y = 2*y
[]
# NeumannBC functions
[bc_fnut]
type = ParsedFunction
expression = 3*y*y-1
[]
[bc_fnub]
type = ParsedFunction
expression = -3*y*y+1
[]
[bc_fnul]
type = ParsedFunction
expression = -3*x*x+1
[]
[bc_fnur]
type = ParsedFunction
expression = 3*x*x-1
[]
[]
[Variables]
[u]
order = SECOND
family = HIERARCHIC
[]
[v]
order = SECOND
family = LAGRANGE
initial_condition = 1
[]
[]
[AuxVariables]
[v_elem]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
active = 'diff1 diff2 test1 forceu forcev react'
[diff1]
type = Diffusion
variable = u
[]
[test1]
type = CoupledConvection
variable = u
velocity_vector = v
[]
[diff2]
type = Diffusion
variable = v
[]
[react]
type = Reaction
variable = u
[]
[forceu]
type = BodyForce
variable = u
function = forcing_fnu
[]
[forcev]
type = BodyForce
variable = v
function = forcing_fnv
[]
[]
[AuxKernels]
[set_v_elem]
type = FunctionAux
variable = v_elem
# selected not to be the solution for no particular reason
function = forcing_fnv
[]
[]
[BCs]
[bc_v]
type = FunctionDirichletBC
variable = v
function = slnv
boundary = 'left right top bottom'
[]
[bc_u_tb]
type = CoupledKernelGradBC
variable = u
var2 = v
vel = '0.1 0.1'
boundary = 'top bottom left right'
[]
[bc_ul]
type = FunctionNeumannBC
variable = u
function = bc_fnul
boundary = 'left'
[]
[bc_ur]
type = FunctionNeumannBC
variable = u
function = bc_fnur
boundary = 'right'
[]
[bc_ut]
type = FunctionNeumannBC
variable = u
function = bc_fnut
boundary = 'top'
[]
[bc_ub]
type = FunctionNeumannBC
variable = u
function = bc_fnub
boundary = 'bottom'
[]
[]
[Postprocessors]
# Global user objects
[dofs]
type = NumDOFs
[]
[h]
type = AverageElementSize
[]
# Elemental user objects
[L2u]
type = ElementL2Error
variable = u
function = slnu
# Testing an option
force_preic = true
[]
[L2v]
type = ElementL2Error
variable = v
function = slnv
# Testing an option
force_preaux = true
[]
[H1error]
type = ElementH1Error
variable = u
function = slnu
[]
[H1Semierror]
type = ElementH1SemiError
variable = u
function = slnu
[]
[L2v_elem]
type = ElementL2Error
variable = v_elem
function = slnv
[]
[f_integral]
type = FunctionElementIntegral
function = slnv
[]
[int_v]
type = ElementIntegralVariablePostprocessor
variable = v
block = 1
execute_on = 'TIMESTEP_END transfer'
[]
[int_v_elem]
type = ElementIntegralVariablePostprocessor
variable = v_elem
block = 1
execute_on = 'TIMESTEP_END transfer'
[]
# Side user objects
[integral_v]
type = SideIntegralVariablePostprocessor
variable = v
boundary = 0
[]
[]
[VectorPostprocessors]
# General UOs
[memory]
type = VectorMemoryUsage
[]
[line]
type = LineValueSampler
variable = v
num_points = 10
start_point = '0 0 0'
end_point = '0.5 0.5 0'
sort_by = 'x'
[]
# Nodal UOs
[nodal_sampler_y]
type = NodalValueSampler
variable = v
sort_by = 'y'
[]
[nodal_sampler_x]
type = NodalValueSampler
variable = v
sort_by = 'x'
[]
# Element UO
[elem_sample]
type = ElementValueSampler
variable = v_elem
sort_by = 'x'
[]
[]
[UserObjects]
# Nodal user objects
[find_node]
type = NearestNodeNumberUO
point = '0.5 0.5 0'
[]
# Side user objects
[side_int]
type = LayeredSideIntegral
variable = v
boundary = 0
direction = y
num_layers = 4
[]
[side_int_2]
type = NearestPointLayeredSideIntegral
variable = v
boundary = 0
direction = x
num_layers = 3
points = '1 1 0'
[]
# Interface user objects
[values]
type = InterfaceQpValueUserObject
var = v
boundary = interface
[]
inactive = 'prime_1 prime_2'
# Threaded general user objects
[prime_2]
type = PrimeProductUserObject
[]
[prime_1]
type = PrimeProductUserObject
[]
# Domain user objects
[domain_2]
type = InterfaceDomainUserObject
u = u
v = v
block = '0'
robin_boundaries = 'left'
interface_boundaries = 'interface'
interface_penalty = 1e-10
nl_abs_tol = 1e1
[]
[domain_1]
type = InterfaceDomainUserObject
u = u
v = v
block = '0 1'
robin_boundaries = 'left'
interface_boundaries = 'interface'
interface_penalty = 1e-10
nl_abs_tol = 1e1
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
l_tol = 1e-5
[]
[Problem]
kernel_coverage_check = false
[]
[MultiApps]
active = ''
[full_solve]
type = FullSolveMultiApp
execute_on = 'initial timestep_end final'
input_files = show_execution_userobjects.i
cli_args = 'Problem/solve=false'
[]
[]
[Transfers]
active = ''
[conservative]
type = MultiAppNearestNodeTransfer
from_multi_app = full_solve
source_variable = v
variable = v_elem
from_postprocessors_to_be_preserved = int_v
to_postprocessors_to_be_preserved = int_v_elem
[]
[]
[Debug]
show_execution_order = 'ALWAYS INITIAL NONLINEAR LINEAR TIMESTEP_BEGIN TIMESTEP_END FINAL'
[]