- functionThe initial condition function.
C++ Type:FunctionName
Description:The initial condition function.
- variableThe variable this initial condition is supposed to provide values for.
C++ Type:VariableName
Description:The variable this initial condition is supposed to provide values for.
FunctionIC

The FunctionIC has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.
# FunctionIC
!syntax description /ICs/FunctionIC
## Overview
!! Replace these lines with information regarding the FunctionIC object.
## Example Input File Syntax
!! Describe and include an example of how to use the FunctionIC object.
!syntax parameters /ICs/FunctionIC
!syntax inputs /ICs/FunctionIC
!syntax children /ICs/FunctionIC
An initial condition that uses a normal function of x, y, z to produce values (and optionally gradients) for a field variable.
Input Parameters
- blockThe list of block ids (SubdomainID) that this object will be applied
C++ Type:std::vector
Options:
Description:The list of block ids (SubdomainID) that this object will be applied
- boundaryThe list of boundary IDs from the mesh where this boundary condition applies
C++ Type:std::vector
Options:
Description:The list of boundary IDs from the mesh where this boundary condition applies
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector
Options:
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Options:
Description:Set the enabled status of the MooseObject.
- ignore_uo_dependencyFalseWhen set to true, a UserObject retrieved by this IC will not be executed before the this IC
Default:False
C++ Type:bool
Options:
Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC
Advanced Parameters
Input Files
- modules/level_set/test/tests/reinitialization/master.i
- modules/phase_field/test/tests/misc/equal_gradient_lagrange.i
- modules/richards/test/tests/dirac/bh08.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_1D_adaptivity.i
- modules/porous_flow/test/tests/basic_advection/2phase.i
- test/tests/functions/image_function/moose_logo_test_2D.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-quadratic.i
- modules/porous_flow/examples/tutorial/06_KT.i
- modules/porous_flow/test/tests/numerical_diffusion/framework.i
- modules/richards/test/tests/sinks/s05.i
- test/tests/time_integrators/tvdrk2/1d-linear.i
- test/tests/transfers/multiapp_projection_transfer/high_order_sub.i
- modules/porous_flow/examples/restart/gas_injection_new_mesh.i
- test/tests/functions/image_function/error/threshold_values.i
- modules/porous_flow/test/tests/jacobian/fflux10.i
- modules/phase_field/test/tests/functions/fourier_noise.i
- modules/xfem/test/tests/moving_interface/phase_transition.i
- test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic_stop_time.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic.i
- test/tests/misc/check_error/function_file_test13.i
- test/tests/auxkernels/solution_aux/aux_nonlinear_solution_adapt_xda.i
- modules/porous_flow/test/tests/mass_conservation/mass02.i
- modules/richards/test/tests/mass/m_fu_01.i
- test/tests/dgkernels/dg_displacement/dg_displacement.i
- modules/richards/test/tests/dirac/bh_fu_04.i
- modules/phase_field/test/tests/GBAnisotropy/testwidth1.i
- modules/porous_flow/test/tests/sinks/s02.i
- modules/porous_flow/test/tests/energy_conservation/except01.i
- modules/porous_flow/test/tests/sinks/s03.i
- modules/porous_flow/test/tests/heat_advection/heat_advection_1d_KT.i
- modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_1D.i
- modules/combined/test/tests/DiffuseCreep/stress_flux_n_gb_relax.i
- modules/phase_field/test/tests/free_energy_material/VanDerWaalsFreeEnergy.i
- modules/phase_field/test/tests/feature_flood_test/parallel_feature_count.i
- modules/combined/examples/phase_field-mechanics/kks_mechanics_KHS.i
- test/tests/executioners/nullspace/singular.i
- modules/porous_flow/test/tests/sinks/s09.i
- modules/porous_flow/test/tests/relperm/corey4.i
- test/tests/time_steppers/timesequence_stepper/timesequence_restart3.i
- test/tests/time_integrators/tvdrk2/2d-quadratic.i
- test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic.i
- modules/richards/test/tests/uo_egs/seff2.i
- test/tests/functions/image_function/image_2d.i
- test/tests/kernels/mass_lumping/mass_lumping_jacobian.i
- modules/richards/test/tests/dirac/bh10.i
- modules/porous_flow/test/tests/relperm/corey1.i
- modules/richards/test/tests/theis/th01.i
- modules/porous_flow/test/tests/mass_conservation/mass01.i
- modules/porous_flow/test/tests/numerical_diffusion/fltvd.i
- test/tests/misc/check_error/function_file_test5.i
- test/tests/time_integrators/rk-2/2d-quadratic.i
- test/tests/time_steppers/timesequence_stepper/timesequence.i
- modules/combined/test/tests/DiffuseCreep/strain.i
- modules/porous_flow/test/tests/numerical_diffusion/fltvd_no_antidiffusion.i
- test/tests/functions/image_function/image_mesh_3d.i
- modules/richards/test/tests/dirac/bh_fu_02.i
- test/tests/functions/solution_function/solution_function_scale_transl.i
- test/tests/time_steppers/timesequence_stepper/timesequence_failed_solve.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_blocks.i
- test/tests/time_integrators/explicit-euler/ee-1d-linear.i
- modules/porous_flow/test/tests/sinks/s01.i
- modules/porous_flow/test/tests/flux_limited_TVD_pflow/jacobian_05.i
- test/tests/auxkernels/linear_combination/test.i
- test/tests/vectorpostprocessors/element_value_sampler/element_value_sampler.i
- modules/richards/test/tests/user_objects/uo4.i
- test/tests/postprocessors/variable_inner_product/variable_inner_product.i
- test/tests/time_steppers/timesequence_stepper/exodustimesequence.i
- modules/richards/test/tests/sinks/s01.i
- modules/phase_field/test/tests/MultiPhase/switchingfunction3phasematerial.i
- python/chigger/tests/input/block_vars.i
- modules/porous_flow/test/tests/numerical_diffusion/no_action.i
- test/tests/misc/check_error/wrong_displacement_order.i
- modules/porous_flow/examples/tutorial/06.i
- modules/richards/test/tests/buckley_leverett/bl20.i
- modules/porous_flow/test/tests/mass_conservation/mass09.i
- modules/level_set/examples/rotating_circle/circle_rotate_supg.i
- modules/tensor_mechanics/test/tests/auxkernels/tensorelasticenergyaux.i
- modules/porous_flow/test/tests/sinks/s09_fully_saturated.i
- modules/richards/test/tests/user_objects/uo1.i
- modules/porous_flow/test/tests/heat_advection/heat_advection_1d_fully_saturated_action.i
- test/tests/kernels/conservative_advection/no_upwinding_2D.i
- modules/phase_field/test/tests/misc/interface_grad.i
- test/tests/misc/check_error/missing_function_test.i
- test/tests/time_steppers/timesequence_stepper/timesequence_restart_failure.i
- test/tests/kernels/ad_coupled_value/ad_aux_coupled_value.i
- test/tests/functions/solution_function/solution_function_rot3.i
- modules/porous_flow/test/tests/poroperm/poro_thm.i
- modules/porous_flow/test/tests/heat_advection/heat_advection_1d_fully_saturated.i
- test/tests/kernels/material_derivatives/material_derivatives_test.i
- modules/richards/test/tests/dirac/bh_fu_08.i
- modules/richards/test/tests/excav/ex01.i
- test/tests/functions/solution_function/solution_function_rot4.i
- modules/richards/test/tests/gravity_head_2/gh04.i
- test/tests/time_steppers/function_dt/function_dt_no_interpolation.i
- test/tests/functions/image_function/error/check_error.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/jacobian_02.i
- test/tests/meshgenerators/mesh_side_set_generator/mesh_side_set_generator.i
- modules/porous_flow/test/tests/poroperm/poro_tm.i
- modules/chemical_reactions/test/tests/aqueous_equilibrium/1species_without_action.i
- test/tests/auxkernels/time_derivative/time_derivative_nl.i
- modules/phase_field/test/tests/phase_field_kernels/SplitCHWRes.i
- test/tests/functions/image_function/shift_and_scale.i
- test/tests/misc/check_error/function_file_test3.i
- modules/combined/test/tests/surface_tension_KKS/surface_tension_VDWgas.i
- test/tests/nodalkernels/constraint_enforcement/upper-bound.i
- test/tests/kernels/mass_lumping/mass_lumping.i
- test/tests/time_steppers/timesequence_stepper/timesequence_restart2.i
- test/tests/functions/solution_function/solution_function_rot1.i
- modules/porous_flow/test/tests/chemistry/2species_equilibrium_2phase.i
- modules/richards/test/tests/sinks/s02.i
- modules/porous_flow/test/tests/buckley_leverett/bl01.i
- test/tests/misc/check_error/function_file_test8.i
- modules/porous_flow/test/tests/basic_advection/except2.i
- modules/level_set/test/tests/transfers/copy_solution/master.i
- modules/phase_field/test/tests/boundary_intersecting_features/boundary_intersecting_features.i
- modules/richards/test/tests/theis/th22.i
- test/tests/auxkernels/grad_component/grad_component_monomial.i
- modules/combined/examples/periodic_strain/global_strain_pfm_3D.i
- modules/level_set/examples/vortex/vortex_supg.i
- test/tests/misc/check_error/function_file_test2.i
- modules/porous_flow/test/tests/newton_cooling/nc04.i
- modules/phase_field/examples/multiphase/GrandPotential3Phase.i
- test/tests/multiapps/centroid_multiapp/centroid_multiapp.i
- modules/richards/test/tests/sinks/q2p01.i
- modules/tensor_mechanics/test/tests/interface_stress/test.i
- modules/combined/test/tests/DiffuseCreep/strain_gb_relax.i
- test/tests/userobjects/shape_element_user_object/shape_element_user_object.i
- modules/porous_flow/test/tests/poroperm/except1.i
- modules/porous_flow/examples/coal_mining/fine_with_fluid.i
- test/tests/functions/image_function/component.i
- modules/porous_flow/test/tests/relperm/corey3.i
- test/tests/bcs/sin_bc/sin_dirichlet_test.i
- modules/phase_field/test/tests/GrandPotentialPFM/GrandPotentialMultiphase.i
- test/tests/materials/derivative_material_interface/construction_order.i
- test/tests/functions/function_ic/function_ic_test.i
- modules/richards/test/tests/jacobian_2/jn17.i
- test/tests/misc/check_error/function_file_test6.i
- test/tests/userobjects/shape_element_user_object/jacobian.i
- modules/level_set/test/tests/verification/1d_level_set_mms/level_set_mms.i
- modules/porous_flow/test/tests/aux_kernels/darcy_velocity_lower.i
- modules/porous_flow/test/tests/energy_conservation/heat02.i
- test/tests/misc/check_error/missing_function_file_test.i
- modules/tensor_mechanics/test/tests/CylindricalRankTwoAux/test.i
- modules/phase_field/test/tests/free_energy_material/IdealGasFreeEnergy.i
- modules/richards/test/tests/sinks/s_fu_01.i
- modules/phase_field/test/tests/free_energy_material/RegularSolutionFreeEnergy_plog.i
- test/tests/dgkernels/1d_advection_dg/1d_advection_dg.i
- test/tests/multiapps/grid-sequencing/vi-fine.i
- modules/richards/test/tests/buckley_leverett/bl22_lumped_fu.i
- modules/porous_flow/test/tests/aux_kernels/darcy_velocity_lower_2D.i
- modules/phase_field/examples/interfacekernels/interface_fluxbc.i
- test/tests/functions/image_function/image_3d.i
- modules/chemical_reactions/examples/calcium_bicarbonate/calcium_bicarbonate.i
- modules/chemical_reactions/test/tests/parser/equilibrium_action.i
- modules/phase_field/examples/kim-kim-suzuki/kks_example_noflux.i
- modules/porous_flow/examples/restart/gravityeq.i
- modules/phase_field/test/tests/free_energy_material/RegularSolutionFreeEnergy_const_T.i
- modules/porous_flow/test/tests/radioactive_decay/radioactive_decay01.i
- test/tests/functions/image_function/flip_dual.i
- modules/richards/test/tests/buckley_leverett/bl20_lumped.i
- test/tests/ics/array_function_ic/array_function_ic_test.i
- test/tests/userobjects/solution_user_object/discontinuous_value_solution_uo_p1.i
- test/tests/userobjects/shape_element_user_object/jacobian_test.i
- test/tests/functions/parsed/mms_transient_coupled.i
- test/tests/functions/image_function/flip.i
- modules/richards/test/tests/buckley_leverett/bl21.i
- modules/richards/test/tests/dirac/bh_fu_03.i
- modules/porous_flow/test/tests/energy_conservation/heat01.i
- test/tests/time_steppers/postprocessor_dt/postprocessor_dt.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_angle.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/jacobian_03.i
- modules/porous_flow/test/tests/numerical_diffusion/fully_saturated_action.i
- modules/richards/test/tests/buckley_leverett/bl22.i
- modules/porous_flow/examples/tutorial/13.i
- modules/level_set/examples/vortex/vortex.i
- modules/richards/test/tests/theis/th_lumped_22.i
- test/tests/functions/image_function/threshold_adapt.i
- modules/combined/examples/mortar/mortar_gradient.i
- test/tests/multiapps/grid-sequencing/vi-fine-alone.i
- modules/richards/test/tests/gravity_head_2/gh02.i
- modules/level_set/test/tests/kernels/olsson_reinitialization/olsson_1d.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_3D.i
- test/tests/misc/check_error/function_file_test12.i
- test/tests/bcs/misc_bcs/weak_gradient_bc_test.i
- modules/level_set/test/tests/verification/1d_level_set_supg_mms/1d_level_set_supg_mms.i
- test/tests/bcs/sin_bc/sin_neumann_test.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D.i
- test/tests/restart/restart_subapp_not_master/two_step_solve_master.i
- modules/porous_flow/examples/co2_intercomparison/1Dradial/properties.i
- test/tests/ics/lagrange_ic/3d_second_order.i
- python/peacock/tests/common/spherical_average.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear.i
- test/tests/functions/image_function/image_3d_subset.i
- modules/richards/test/tests/gravity_head_2/gh_fu_02.i
- modules/combined/test/tests/multiphase_mechanics/twophasestress.i
- test/tests/functions/solution_function/solution_function_rot2.i
- modules/navier_stokes/test/tests/bcs/advection_bc/advection_bc.i
- modules/phase_field/test/tests/phase_field_kernels/AllenCahnVariableL.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear-adapt.i
- modules/porous_flow/test/tests/recover/pffltvd.i
- test/tests/misc/check_error/function_conflict.i
- modules/richards/test/tests/theis/th_lumped_02.i
- modules/porous_flow/test/tests/numerical_diffusion/fltvd_none.i
- modules/richards/test/tests/dirac/bh_lumped_07.i
- modules/porous_flow/test/tests/poroperm/except2.i
- modules/richards/test/tests/dirac/bh05.i
- test/tests/auxkernels/solution_aux/aux_nonlinear_solution_xdr.i
- test/tests/multiapps/grid-sequencing/vi-coarser.i
- modules/richards/test/tests/dirac/bh04.i
- modules/phase_field/examples/multiphase/DerivativeMultiPhaseMaterial.i
- test/tests/postprocessors/find_value_on_line/findvalueonline.i
- modules/phase_field/examples/fourier_noise.i
- test/tests/auxkernels/solution_aux/aux_nonlinear_solution_xda.i
- test/tests/misc/check_error/function_file_test9.i
- modules/level_set/examples/circle/circle_16.i
- test/tests/mortar/continuity-2d-conforming/equalgradient.i
- test/tests/kernels/conservative_advection/none_in_all_out.i
- modules/richards/test/tests/buckley_leverett/bl22_lumped.i
- test/tests/misc/check_error/function_file_test1.i
- test/tests/userobjects/shape_element_user_object/simple_shape_element_uo_test.i
- modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_2D_angle.i
- modules/richards/test/tests/dirac/bh09.i
- test/tests/transfers/multiapp_vector_pp_transfer/master.i
- modules/fluid_properties/test/tests/brine/brine.i
- modules/richards/test/tests/buckley_leverett/bl01_lumped.i
- modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_2D_trimesh.i
- modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv.i
- modules/porous_flow/test/tests/mass_conservation/mass07.i
- modules/porous_flow/test/tests/mass_conservation/mass05.i
- test/tests/time_integrators/explicit-euler/ee-2d-linear.i
- test/tests/misc/check_error/function_file_test15.i
- modules/level_set/examples/vortex/vortex_reinit.i
- modules/richards/test/tests/dirac/bh_fu_07.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_trimesh.i
- modules/porous_flow/examples/lava_lamp/1phase_convection.i
- modules/porous_flow/test/tests/numerical_diffusion/pffltvd.i
- modules/porous_flow/examples/tidal/atm_tides.i
- test/tests/functions/image_function/threshold.i
- test/tests/functions/solution_function/solution_function_test.i
- test/tests/nodalkernels/constraint_enforcement/upper-and-lower-bound.i
- modules/porous_flow/test/tests/dirackernels/pls03_action.i
- modules/porous_flow/test/tests/jacobian/fflux01.i
- test/tests/restart/restart_subapp_not_master/complete_solve_no_subapp.i
- modules/navier_stokes/test/tests/bcs/advection_bc/2d_advection_bc.i
- modules/porous_flow/test/tests/newton_cooling/nc02.i
- modules/porous_flow/test/tests/aux_kernels/darcy_velocity.i
- modules/combined/test/tests/DiffuseCreep/stress_based_chem_pot.i
- test/tests/misc/check_error/function_file_test4.i
- modules/fluid_properties/test/tests/water/water.i
- modules/level_set/examples/rotating_circle/circle_rotate.i
- modules/porous_flow/test/tests/heterogeneous_materials/constant_poroperm.i
- modules/richards/test/tests/mass/m01.i
- modules/porous_flow/test/tests/dispersion/disp01.i
- modules/phase_field/test/tests/grain_boundary_area/diagonal.i
- test/tests/markers/two_circle_marker/two_circle_marker_gaussian_ic.i
- modules/richards/test/tests/jacobian_2/jn_lumped_17.i
- modules/porous_flow/test/tests/dirackernels/injection_with_plasticity.i
- modules/combined/test/tests/DiffuseCreep/variable_base_eigen_strain.i
- modules/chemical_reactions/test/tests/parser/equilibrium_without_action.i
- test/tests/materials/derivative_material_interface/parsed_material.i
- modules/richards/test/tests/theis/th21.i
- modules/porous_flow/test/tests/jacobian/fflux02.i
- modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_3D.i
- test/tests/misc/check_error/function_file_test16.i
- test/tests/indicators/laplacian_jump_indicator/biharmonic_transient.i
- modules/level_set/examples/rotating_circle/circle_rotate_master.i
- modules/combined/test/tests/CHSplitFlux/flux_gb.i
- modules/porous_flow/test/tests/mass_conservation/mass08.i
- modules/fluid_properties/test/tests/co2/co2.i
- modules/porous_flow/test/tests/heat_advection/heat_advection_1d.i
- modules/porous_flow/test/tests/energy_conservation/except02.i
- test/tests/misc/check_error/function_file_test14.i
- test/tests/functions/image_function/subset.i
- modules/combined/examples/periodic_strain/global_strain_pfm.i
- modules/richards/test/tests/uo_egs/seff1.i
- test/tests/vectorpostprocessors/volume_histogram/volume_histogram.i
- modules/porous_flow/test/tests/capillary_pressure/vangenuchten2.i
- modules/porous_flow/test/tests/mass_conservation/mass10.i
- modules/phase_field/examples/kim-kim-suzuki/kks_example_ternary.i
- modules/richards/test/tests/buckley_leverett/bl01_adapt.i
- test/tests/misc/check_error/function_file_test10.i
- modules/phase_field/examples/interfacekernels/interface_gradient.i
- modules/rdg/test/tests/advection_1d/block_restrictable.i
- modules/porous_flow/test/tests/sinks/s07.i
- test/tests/time_integrators/explicit-euler/ee-2d-linear-adapt.i
- test/tests/bcs/coupled_var_neumann/coupled_var_neumann.i
- test/tests/time_steppers/timesequence_stepper/timesequence_restart1.i
- modules/combined/examples/phase_field-mechanics/kks_mechanics_VTS.i
- modules/richards/test/tests/sinks/s_fu_03.i
- modules/porous_flow/test/tests/relperm/vangenuchten1.i
- modules/phase_field/test/tests/MultiPhase/asymmetriccrosstermbarrierfunction.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic-neumann.i
- modules/porous_flow/test/tests/jacobian/fflux01_fully_saturated.i
- modules/phase_field/test/tests/free_energy_material/RegularSolutionFreeEnergy.i
- test/tests/time_steppers/timesequence_stepper/csvtimesequence.i
- modules/chemical_reactions/test/tests/aqueous_equilibrium/2species_without_action.i
- modules/combined/test/tests/GBDependentTensors/gb_property.i
- modules/richards/test/tests/excav/ex02.i
- test/tests/functions/solution_function/solution_function_scale_mult.i
- test/tests/misc/check_error/function_file_test11.i
- modules/porous_flow/test/tests/capillary_pressure/brooks_corey2.i
- test/tests/ics/hermite_ic/hermite_ic.i
- test/tests/misc/check_error/function_file_test7.i
- test/tests/functions/constant_function/constant_function_test.i
- modules/combined/test/tests/surface_tension_KKS/surface_tension_KKS.i
- test/tests/functions/solution_function/solution_function_grad_p1.i
- modules/phase_field/test/tests/misc/interface_flux.i
- test/tests/time_integrators/multi_stage_time_integrator/unconverged_1st_stage.i
- modules/porous_flow/test/tests/basic_advection/except1.i
- modules/porous_flow/test/tests/basic_advection/1phase.i
- modules/richards/test/tests/user_objects/uo3.i
- modules/porous_flow/test/tests/newton_cooling/nc06.i
- test/tests/kernels/conservative_advection/full_upwinding_2D.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_1D.i
- test/tests/time_integrators/explicit-euler/ee-1d-quadratic-neumann.i
- modules/richards/test/tests/dirac/bh07.i
- test/tests/multiapps/grid-sequencing/vi-coarse.i
- modules/richards/test/tests/jacobian_2/jn_fu_17.i
- modules/heat_conduction/test/tests/verify_against_analytical/1D_transient.i
- test/tests/kernels/conservative_advection/none_in_none_out.i
- tutorials/darcy_thermo_mech/step04_velocity_aux/tests/auxkernels/velocity_aux/velocity_aux.i
- test/tests/ics/function_ic/spline_function.i
- modules/rdg/test/tests/advection_1d/1d_aefv_square_wave.i
- modules/phase_field/test/tests/MultiPhase/crosstermbarrierfunction.i
- modules/chemical_reactions/test/tests/aqueous_equilibrium/2species.i
- modules/richards/test/tests/theis/th_lumped_01.i
- modules/richards/test/tests/buckley_leverett/bl01_lumped_fu.i
- modules/richards/test/tests/theis/th02.i
- test/tests/bcs/periodic/no_add_scalar.i
- modules/phase_field/test/tests/phase_field_kernels/ADAllenCahnVariableL.i
- modules/tensor_mechanics/test/tests/interface_stress/multi.i
- modules/porous_flow/test/tests/dispersion/disp01_heavy.i
- modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_2D.i
- test/tests/transfers/multiapp_userobject_transfer/two_pipe_sub.i
- test/tests/time_integrators/explicit-euler/ee-2d-quadratic.i
- modules/porous_flow/test/tests/sinks/s06.i
- modules/chemical_reactions/test/tests/aqueous_equilibrium/2species_eqaux.i
- modules/heat_conduction/test/tests/verify_against_analytical/ad_1D_transient.i
- modules/richards/test/tests/newton_cooling/nc02.i
- test/tests/mesh_modifiers/mesh_side_set/test.i
- modules/chemical_reactions/test/tests/aqueous_equilibrium/1species.i
- test/tests/kernels/ad_mat_diffusion/ad_1D_transient.i
- modules/combined/test/tests/multiphase_mechanics/multiphasestress.i
- modules/porous_flow/test/tests/capillary_pressure/vangenuchten1.i
- test/tests/executioners/nullspace/singular_contaminated.i
- modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv_action.i
- modules/porous_flow/test/tests/relperm/brooks_corey2.i
- modules/porous_flow/test/tests/dirackernels/pls03.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-linear.i
- modules/porous_flow/test/tests/sinks/s04.i
- modules/rdg/test/tests/advection_1d/rdgP0.i
- modules/combined/test/tests/DiffuseCreep/stress.i
- modules/porous_flow/test/tests/jacobian/basic_advection1.i
- test/tests/functions/image_function/image_2d_elemental.i
- modules/richards/test/tests/dirac/bh_fu_05.i
- test/tests/nodalkernels/constraint_enforcement/vi-bounding.i
- test/tests/ics/function_ic/parsed_function.i
- modules/porous_flow/test/tests/sinks/s08.i
- modules/richards/test/tests/dirac/bh03.i
- modules/porous_flow/examples/tidal/atm_tides_open_hole.i
- modules/richards/test/tests/sinks/s03.i
- modules/combined/doc/richards/user/excav/ex01.i
- modules/tensor_mechanics/test/tests/elasticitytensor/composite.i
- modules/porous_flow/test/tests/capillary_pressure/brooks_corey1.i
- modules/porous_flow/test/tests/newton_cooling/nc08.i
- modules/phase_field/examples/kim-kim-suzuki/kks_example_dirichlet.i
- test/tests/functions/image_function/image_mesh_2d.i
- test/tests/postprocessors/displaced_mesh/elemental.i
- modules/porous_flow/test/tests/relperm/vangenuchten2.i
- test/tests/functions/image_function/threshold_adapt_parallel.i
- modules/porous_flow/test/tests/relperm/unity.i
- test/tests/nodalkernels/constraint_enforcement/lower-bound.i
- test/tests/postprocessors/displaced_mesh/side.i
- modules/richards/test/tests/uo_egs/relperm.i
- test/tests/time_integrators/explicit-euler/ee-1d-quadratic.i
- modules/richards/test/tests/dirac/bh02.i
- modules/porous_flow/test/tests/relperm/brooks_corey1.i
- test/tests/kernels/ad_mat_diffusion/1D_transient.i
- test/tests/time_steppers/function_dt/function_dt_min.i
- modules/richards/test/tests/dirac/st01.i
- test/tests/restart/restart_subapp_not_master/two_step_solve_sub.i
- test/tests/misc/check_error/function_file_test17.i
- modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_1D_adaptivity.i
- modules/richards/test/tests/buckley_leverett/bl01.i
- modules/porous_flow/examples/lava_lamp/2phase_convection.i
- modules/porous_flow/examples/coal_mining/coarse_with_fluid.i
- test/tests/userobjects/shape_element_user_object/shape_side_uo_physics_test.i
- modules/porous_flow/test/tests/heterogeneous_materials/constant_poroperm2.i
- modules/phase_field/test/tests/MultiPhase/thirdphasesuppressionmaterial.i
- test/tests/functions/image_function/image.i
- modules/porous_flow/test/tests/poroperm/poro_hm.i
- modules/richards/test/tests/dirac/bh27.i
- modules/richards/test/tests/user_objects/uo2.i
- modules/richards/test/tests/buckley_leverett/bl02.i
- modules/porous_flow/test/tests/mass_conservation/mass06.i
- modules/porous_flow/test/tests/sinks/s05.i
- modules/porous_flow/test/tests/relperm/corey2.i
- test/tests/transfers/multiapp_projection_transfer/high_order_master.i
- modules/porous_flow/test/tests/chemistry/2species_equilibrium.i
- test/tests/misc/jacobian/offdiag.i
- modules/phase_field/test/tests/ExpressionBuilderCoupledVectorTest/testCoupledVector.i
- test/tests/functions/image_function/flip_quad.i
- modules/richards/test/tests/uo_egs/density.i
- test/tests/time_integrators/rk-2/1d-linear.i
- test/tests/vectorpostprocessors/spherical_average/spherical_average.i
- modules/phase_field/test/tests/automatic_differentiation/admatreaction.i
- test/tests/time_integrators/dirk/dirk-2d-heat.i
- modules/porous_flow/test/tests/capillary_pressure/vangenuchten3.i
- test/tests/functions/image_function/crop.i
- modules/fluid_properties/test/tests/brine/brine_tabulated.i
- test/tests/misc/initial_solution_copy/solutions_equal.i
- modules/richards/test/tests/buckley_leverett/bl20_lumped_fu.i
- modules/combined/examples/phase_field-mechanics/interface_stress.i
- modules/porous_flow/test/tests/numerical_diffusion/pffltvd_action.i
- modules/combined/test/tests/eigenstrain/composite.i
modules/level_set/test/tests/reinitialization/master.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 8
ny = 8
uniform_refine = 3 #1/64
[]
[AuxVariables]
[./vel_x]
initial_condition = 1
[../]
[./vel_y]
initial_condition = 1
[../]
[]
[Variables]
[./phi]
[../]
[]
[Functions]
[./phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.05
center = '0.5 0.5 0'
radius = 0.15
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = phi
auto_direction = 'x y'
[../]
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[]
[Postprocessors]
[./area]
type = LevelSetVolume
threshold = 0.5
variable = phi
location = outside
execute_on = 'initial timestep_end'
[../]
[./cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 1
nl_rel_tol = 1e-12
scheme = crank-nicolson
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 1
[../]
[]
[MultiApps]
[./reinit]
type = LevelSetReinitializationMultiApp
input_files = 'reinit.i'
execute_on = 'timestep_end'
[../]
[]
[Transfers]
[./to_sub]
type = MultiAppCopyTransfer
variable = phi
source_variable = phi
direction = to_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[../]
[./to_sub_init]
type = MultiAppCopyTransfer
variable = phi_0
source_variable = phi
direction = to_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[../]
[./from_sub]
type = MultiAppCopyTransfer
variable = phi
source_variable = phi
direction = from_multiapp
multi_app = reinit
execute_on = timestep_end
[../]
[]
[Outputs]
exodus = true
csv = true
[]
modules/phase_field/test/tests/misc/equal_gradient_lagrange.i
#
# This test demonstrates an InterfaceKernel set that can enforce the componentwise
# continuity of the gradient of a variable using the Lagrange multiplier method.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./box1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
input = gen
[../]
[./box2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
input = box1
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[]
[Variables]
[./u2]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v2]
block = 2
initial_condition = 0.8
[../]
[./lambda]
[../]
[]
[Kernels]
[./u2_diff]
type = Diffusion
variable = u2
block = 1
[../]
[./u2_dt]
type = TimeDerivative
variable = u2
block = 1
[../]
[./v2_diff]
type = Diffusion
variable = v2
block = 2
[../]
[./v2_dt]
type = TimeDerivative
variable = v2
block = 2
[../]
[./lambda]
type = NullKernel
variable = lambda
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u2
neighbor_var = v2
[../]
[./lambda]
type = EqualGradientLagrangeMultiplier
variable = lambda
boundary = 10
element_var = u2
neighbor_var = v2
component = 0
[../]
[./constraint]
type = EqualGradientLagrangeInterface
boundary = 10
lambda = lambda
variable = u2
neighbor_var = v2
component = 0
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./uv]
type = LineValueSampler
variable = 'u2 v2'
start_point = '0 0.5 0'
end_point = '1 0.5 0'
sort_by = x
num_points = 100
[../]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pctype -sub_pc_type -sub_pc_factor_shift_type -pc_factor_shift_type'
petsc_options_value = ' asm lu nonzero nonzero'
dt = 0.002
num_steps = 10
[]
[Outputs]
exodus = true
csv = true
hide = lambda
print_linear_residuals = false
[]
modules/richards/test/tests/dirac/bh08.i
# fully-saturated
# production
# with anisotropic, but diagonal, permeability
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh02.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = 1
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 2E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 0.5
dt = 1E-2
solve_type = NEWTON
[]
[Outputs]
file_base = bh08
exodus = false
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_1D_adaptivity.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, with antidiffusion from superbee flux limiting
# 1D version with mesh adaptivity
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[Adaptivity]
initial_steps = 1
initial_marker = tracer_marker
marker = tracer_marker
max_h_level = 1
[./Markers]
[./tracer_marker]
type = ValueRangeMarker
variable = tracer
lower_bound = 0.02
upper_bound = 0.98
[../]
[../]
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
nl_max_its = 500
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
modules/porous_flow/test/tests/basic_advection/2phase.i
# Basic advection of u in a 2-phase situation
#
# grad(P) = -2
# density * gravity = 4 * 0.25
# grad(P) - density * gravity = -3
# permeability = 10
# relative permeability = 0.5
# viscosity = 150
# so Darcy velocity = 0.1
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./P0]
[../]
[./P1]
[../]
[]
[ICs]
[./P0]
type = FunctionIC
variable = P0
function = '0'
[../]
[./P1]
type = FunctionIC
variable = P1
function = '2*(1-x)'
[../]
[./u]
type = FunctionIC
variable = u
function = 'if(x<0.1,1,0)'
[../]
[]
[Kernels]
[./u_dot]
type = TimeDerivative
variable = u
[../]
[./u_advection]
type = PorousFlowBasicAdvection
variable = u
phase = 1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = ''
number_fluid_phases = 2
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
density0 = 32
viscosity = 123
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 4
thermal_expansion = 0
viscosity = 150.0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePP
phase0_porepressure = P0
phase1_porepressure = P1
capillary_pressure = pc
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '10 0 0 0 10 0 0 0 10'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityConst
kr = 0.5
phase = 1
[../]
[./darcy_velocity]
type = PorousFlowDarcyVelocityMaterial
gravity = '0.25 0 0'
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = left
value = 1
variable = u
[../]
[./right]
type = DirichletBC
boundary = right
value = 0
variable = u
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
petsc_options_iname = '-pc_type -snes_rtol'
petsc_options_value = ' lu 1E-10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 5
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
test/tests/functions/image_function/moose_logo_test_2D.i
[Problem]
solve = false
[]
[Mesh]
type = ImageMesh
cells_per_pixel = 1
dim = 2
file = moose_logo_small.png
[]
[Variables]
[./original]
family = MONOMIAL
order = CONSTANT
[../]
[./scaled]
family = MONOMIAL
order = CONSTANT
[../]
[./shifted]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Functions]
[./image]
type = ImageFunction
file = moose_logo_small.png
[../]
[./image_scale]
type = ImageFunction
file = moose_logo_small.png
scale = 0.00392156862
[../]
[./image_shift]
type = ImageFunction
file = moose_logo_small.png
shift = -127.5
[../]
[]
[ICs]
[./original_IC]
type = FunctionIC
function = image
variable = original
[../]
[./scaled_IC]
type = FunctionIC
function = image_scale
variable = scaled
[../]
[./shifted_IC]
type = FunctionIC
function = image_shift
variable = shifted
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD9
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = ((x*x)+(y*y))-(4*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*((x*x)+(y*y))
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
l_tol = 1e-13
start_time = 0.0
num_steps = 20
dt = 0.00005
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/porous_flow/examples/tutorial/06_KT.i
# Darcy flow with a tracer
[Mesh]
[annular]
type = AnnularMeshGenerator
nr = 10
rmin = 1.0
rmax = 10
growth_r = 1.4
nt = 4
dmin = 0
dmax = 90
[]
[./make3D]
type = MeshExtruderGenerator
extrusion_vector = '0 0 12'
num_layers = 3
bottom_sideset = 'bottom'
top_sideset = 'top'
input = annular
[../]
[./shift_down]
type = TransformGenerator
transform = TRANSLATE
vector_value = '0 0 -6'
input = make3D
[../]
[./aquifer]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 -2'
top_right = '10 10 2'
input = shift_down
[../]
[./injection_area]
type = ParsedGenerateSideset
combinatorial_geometry = 'x*x+y*y<1.01'
included_subdomain_ids = 1
new_sideset_name = 'injection_area'
input = 'aquifer'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caps aquifer'
input = 'injection_area'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./porepressure]
[../]
[./tracer_concentration]
[../]
[]
[ICs]
[./tracer_concentration]
type = FunctionIC
function = '0.5*if(x*x+y*y<1.01,1,0)'
variable = tracer_concentration
[../]
[]
[PorousFlowFullySaturated]
porepressure = porepressure
coupling_type = Hydro
gravity = '0 0 0'
fp = the_simple_fluid
mass_fraction_vars = tracer_concentration
stabilization = KT
flux_limiter_type = superbee
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1E6
boundary = injection_area
[../]
[./constant_outer_porepressure]
type = DirichletBC
variable = porepressure
value = 0
boundary = rmax
[../]
[./injected_tracer]
type = DirichletBC
variable = tracer_concentration
value = 0.5
boundary = injection_area
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
viscosity = 1.0E-3
density0 = 1000.0
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability_aquifer]
type = PorousFlowPermeabilityConst
block = aquifer
permeability = '1E-14 0 0 0 1E-14 0 0 0 1E-14'
[../]
[./permeability_caps]
type = PorousFlowPermeabilityConst
block = caps
permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-16'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1E6
dt = 1E5
nl_rel_tol = 1E-14
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/numerical_diffusion/framework.i
# Using framework objects: no mass lumping or upwinding
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = TimeDerivative
variable = tracer
[../]
[./flux]
type = ConservativeAdvection
velocity = '0.1 0 0'
variable = tracer
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-1
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
modules/richards/test/tests/sinks/s05.i
# checking the multiplying_fcn of RichardsPiecewiseLinearSinkFlux.
# This test is constructed so it should produce exactly the same answer as s02.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1 # same deal with PETScs constant state
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 2
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-lfout-rfout-mf)/2/(mi+mf))
vars = 'mi mf lfout rfout'
vals = 'mass_init mass_fin left_flux_out right_flux_out'
[../]
[]
[Postprocessors]
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./mass_fin]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./left_flux_out]
type = RichardsHalfGaussianSinkFlux
boundary = left
variable = pressure
centre = 1
max = 4
multiplying_fcn = 0.5
sd = 1
[../]
[./right_flux_out]
type = RichardsHalfGaussianSinkFlux
boundary = right
variable = pressure
centre = 1
max = 1
multiplying_fcn = 2
sd = 1
[../]
[./p0]
type = PointValue
point = '0 0 0'
variable = pressure
[../]
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
[BCs]
[./left_flux]
type = RichardsHalfGaussianSink
boundary = left
variable = pressure
centre = 1
max = 2
sd = 1
[../]
[./right_flux]
type = RichardsHalfGaussianSink
boundary = right
variable = pressure
centre = 1
max = 2
sd = 1
[../]
[]
[Kernels]
active = 'richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 4E-3
end_time = 0.4
[]
[Outputs]
file_base = s05
csv = true
execute_on = timestep_end
[]
test/tests/time_integrators/tvdrk2/1d-linear.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 20
elem_type = EDGE2
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
variable = u
function = ic
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitTVDRK2
[../]
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 10
dt = 0.001
l_tol = 1e-15
[]
[Outputs]
exodus = true
perf_graph = true
[]
test/tests/transfers/multiapp_projection_transfer/high_order_sub.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
[]
[Functions]
[./test_function]
type = ParsedFunction
value = '2.5*x^2 + 0.75*y^2 + 0.15*x*y'
[../]
[]
[AuxVariables]
[./from_master]
family = monomial
order = first
[../]
[./test_var]
family = monomial
order = first
[./InitialCondition]
type = FunctionIC
function = test_function
[../]
[../]
[]
[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
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
modules/porous_flow/examples/restart/gas_injection_new_mesh.i
# Using the results from the equilibrium run to provide the initial condition for
# porepressure, we now inject a gas phase into the brine-saturated reservoir. In this
# example, the mesh is not identical to the mesh used in gravityeq.i. Rather, it is
# generated so that it is more refined near the injection boundary and at the top of
# the model, as that is where the gas plume will be present.
#
# To use the hydrostatic pressure calculated using the gravity equilibrium run as the initial
# condition for the pressure, a SolutionUserObject is used, along with a SolutionFunction to
# interpolate the pressure from the gravity equilibrium run to the initial condition for liqiud
# porepressure in this example.
#
# Even though the gravity equilibrium is established using a 2D mesh, in this example,
# we use a mesh shifted 0.1 m to the right and rotate it about the Y axis to make a 2D radial
# model.
#
# Methane injection takes place over the surface of the hole created by rotating the mesh,
# and hence the injection area is 2 pi r h. We can calculate this using an AreaPostprocessor,
# and then use this in a ParsedFunction to calculate the injection rate so that 10 kg/s of
# methane is injected.
#
# Note: as this example uses the results from a previous simulation, gravityeq.i MUST be
# run before running this input file.
[Mesh]
type = GeneratedMesh
dim = 2
ny = 25
nx = 50
ymax = 100
xmin = 0.1
xmax = 5000
bias_x = 1.05
bias_y = 0.95
[]
[Problem]
coord_type = RZ
rz_coord_axis = Y
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 -9.81 0'
temperature_unit = Celsius
[]
[Variables]
[./pp_liq]
[../]
[./sat_gas]
initial_condition = 0
[../]
[]
[ICs]
[./ppliq_ic]
type = FunctionIC
variable = pp_liq
function = ppliq_ic
[../]
[]
[AuxVariables]
[./temperature]
initial_condition = 50
[../]
[./xnacl]
initial_condition = 0.1
[../]
[./brine_density]
family = MONOMIAL
order = CONSTANT
[../]
[./methane_density]
family = MONOMIAL
order = CONSTANT
[../]
[./massfrac_ph0_sp0]
initial_condition = 1
[../]
[./massfrac_ph1_sp0]
initial_condition = 0
[../]
[./pp_gas]
family = MONOMIAL
order = CONSTANT
[../]
[./sat_liq]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = pp_liq
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
variable = pp_liq
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
variable = sat_gas
fluid_component = 1
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
variable = sat_gas
fluid_component = 1
[../]
[]
[AuxKernels]
[./brine_density]
type = PorousFlowPropertyAux
property = density
variable = brine_density
execute_on = 'initial timestep_end'
[../]
[./methane_density]
type = PorousFlowPropertyAux
property = density
variable = methane_density
phase = 1
execute_on = 'initial timestep_end'
[../]
[./pp_gas]
type = PorousFlowPropertyAux
property = pressure
phase = 1
variable = pp_gas
execute_on = 'initial timestep_end'
[../]
[./sat_liq]
type = PorousFlowPropertyAux
property = saturation
variable = sat_liq
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./gas_injection]
type = PorousFlowSink
boundary = left
variable = sat_gas
flux_function = injection_rate
fluid_phase = 1
[../]
[./brine_out]
type = PorousFlowPiecewiseLinearSink
boundary = right
variable = pp_liq
multipliers = '0 1e9'
pt_vals = '0 1e9'
fluid_phase = 0
flux_function = 1e-6
use_mobility = true
use_relperm = true
mass_fraction_component = 0
[../]
[]
[Functions]
[./injection_rate]
type = ParsedFunction
vals = injection_area
vars = area
value = '-1/area'
[../]
[./ppliq_ic]
type = SolutionFunction
solution = soln
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp_liq sat_gas'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
alpha = 1e-5
m = 0.5
sat_lr = 0.2
pc_max = 1e7
[../]
[./soln]
type = SolutionUserObject
mesh = gravityeq_out.e
system_variables = porepressure
[../]
[]
[Modules]
[./FluidProperties]
[./brine]
type = BrineFluidProperties
[../]
[./methane]
type = MethaneFluidProperties
[../]
[./methane_tab]
type = TabulatedFluidProperties
fp = methane
save_file = false
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./ps]
type = PorousFlow2PhasePS
phase0_porepressure = pp_liq
phase1_saturation = sat_gas
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./brine]
type = PorousFlowBrine
compute_enthalpy = false
compute_internal_energy = false
xnacl = xnacl
phase = 0
[../]
[./methane]
type = PorousFlowSingleComponentFluid
compute_enthalpy = false
compute_internal_energy = false
fp = methane_tab
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-13 0 0 0 5e-14 0 0 0 1e-13'
[../]
[./relperm_liq]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
s_res = 0.2
sum_s_res = 0.3
[../]
[./relperm_gas]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 1
s_res = 0.1
sum_s_res = 0.3
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = ' asm lu NONZERO'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1e8
nl_abs_tol = 1e-12
nl_rel_tol = 1e-06
nl_max_its = 20
dtmax = 1e6
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1e1
growth_factor = 1.5
[../]
[]
[Postprocessors]
[./mass_ph0]
type = PorousFlowFluidMass
fluid_component = 0
execute_on = 'initial timestep_end'
[../]
[./mass_ph1]
type = PorousFlowFluidMass
fluid_component = 1
execute_on = 'initial timestep_end'
[../]
[./injection_area]
type = AreaPostprocessor
boundary = left
execute_on = initial
[../]
[]
[Outputs]
execute_on = 'initial timestep_end'
exodus = true
perf_graph = true
[]
test/tests/functions/image_function/error/threshold_values.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./tif]
type = ImageFunction
file_base = ../stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
threshold = 30000
upper_value = 1
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = tif
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/jacobian/fflux10.i
# 1phase, 3components, constant viscosity, constant insitu permeability
# density with constant bulk, BW relative perm, nonzero gravity, unsaturated with BW
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
xmin = 0
xmax = 1
ny = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./massfrac0]
[../]
[./massfrac1]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = -0.7+x+y
[../]
[./massfrac0]
type = RandomIC
variable = massfrac0
min = 0
max = 0.3
[../]
[./massfrac1]
type = RandomIC
variable = massfrac1
min = 0
max = 0.4
[../]
[]
[Kernels]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
gravity = '-1 -0.1 0'
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = massfrac0
gravity = '-1 -0.1 0'
[../]
[./flux2]
type = PorousFlowAdvectiveFlux
fluid_component = 2
variable = massfrac1
gravity = '-1 -0.1 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp massfrac0 massfrac1'
number_fluid_phases = 1
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureBW
Sn = 0.05
Ss = 0.9
las = 2.2
C = 1.5
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.5
density0 = 1
thermal_expansion = 0
viscosity = 1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac0 massfrac1'
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1 0 0 0 2 0 0 0 3'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityBW
Sn = 0.05
Ss = 0.9
Kn = 0.02
Ks = 0.95
C = 1.5
phase = 0
[../]
[]
[Preconditioning]
active = check
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000'
[../]
[./check]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
exodus = false
[]
modules/phase_field/test/tests/functions/fourier_noise.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./c]
[../]
[]
[Functions]
[./fn]
type = FourierNoise
lambda = 0.2
[../]
[]
[ICs]
[./c]
type = FunctionIC
variable = c
function = fn
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/xfem/test/tests/moving_interface/phase_transition.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 1
xmin = 0
xmax = 2
ymin = 0
ymax = 1
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./velocity]
type = XFEMPhaseTransitionMovingInterfaceVelocity
diffusivity_at_positive_level_set = 5
diffusivity_at_negative_level_set = 1
equilibrium_concentration_jump = 1
value_at_interface_uo = value_uo
[../]
[./value_uo]
type = PointValueAtXFEMInterface
variable = 'u'
geometric_cut_userobject = 'moving_line_segments'
execute_on = 'nonlinear'
level_set_var = ls
[../]
[./moving_line_segments]
type = MovingLineSegmentCutSetUserObject
cut_data = '0.5 0 0.5 1.0 0 0'
heal_always = true
interface_velocity = velocity
[../]
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./ic_u]
type = FunctionIC
variable = u
function = 'if(x<0.51, 2, 1)'
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Constraints]
[./u_constraint]
type = XFEMEqualValueAtInterface
geometric_cut_userobject = 'moving_line_segments'
use_displaced_mesh = false
variable = u
value = 2
alpha = 1e5
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[AuxKernels]
[./ls]
type = LineSegmentLevelSetAux
line_segment_cut_set_user_object = 'moving_line_segments'
variable = ls
[../]
[]
[Materials]
[./diffusivity_A]
type = GenericConstantMaterial
prop_names = A_diffusion_coefficient
prop_values = 5
[../]
[./diffusivity_B]
type = GenericConstantMaterial
prop_names = B_diffusion_coefficient
prop_values = 1
[../]
[./diff_combined]
type = LevelSetBiMaterialReal
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = diffusion_coefficient
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
value = 2
boundary = 3
[../]
[./right_u]
type = NeumannBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-11
start_time = 0.0
dt = 0.01
num_steps = 4
max_xfem_update = 1
[]
[Outputs]
execute_on = timestep_end
exodus = true
perf_graph = true
[./console]
type = Console
output_linear = true
[../]
csv = true
[]
test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic_stop_time.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./gaussian_ic]
type = FunctionIC
variable = u
function = gaussian_2d
[../]
[]
[Functions]
[./gaussian_2d]
type = ParsedFunction
value = exp(-((x-x0)*(x-x0)+(y-y0)*(y-y0))/2.0/sigma/sigma)
vars = 'sigma x0 y0'
vals = '0.05 0.35 0.25'
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = marker
cycles_per_step = 1
marker = marker
max_h_level = 2
stop_time = 0.0
[./Markers]
[./marker]
type = CircleMarker
point = '0.35 0.25 0'
radius = 0.2
inside = refine
outside = coarsen
[../]
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 20
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
l_tol = 1e-12
start_time = 0.0
num_steps = 20
dt = 0.00005
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
test/tests/misc/check_error/function_file_test13.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_columns_more_data.csv
format = columns
xy_in_file_only = false
x_index_in_file = 3 #Will generate error because data does not contain 4 columns
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/auxkernels/solution_aux/aux_nonlinear_solution_adapt_xda.i
[Mesh]
# This test uses SolutionUserObject which doesn't work with DistributedMesh.
type = FileMesh
file = aux_nonlinear_solution_adapt_out_0004_mesh.xda
parallel_type = replicated
[]
[Adaptivity]
marker = error_frac
steps = 2
[./Indicators]
[./jump_indicator]
type = GradientJumpIndicator
variable = u
[../]
[../]
[./Markers]
[./error_frac]
type = ErrorFractionMarker
indicator = jump_indicator
refine = 0.7
[../]
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./u_aux]
[../]
[]
[Functions]
[./u_xda_func]
type = SolutionFunction
solution = xda_u
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./aux_xda_kernel]
type = SolutionAux
variable = u_aux
solution = xda_u_aux
execute_on = initial
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 1
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 2
[../]
[]
[UserObjects]
[./xda_u_aux]
type = SolutionUserObject
system = aux0
mesh = aux_nonlinear_solution_adapt_out_0004_mesh.xda
es = aux_nonlinear_solution_adapt_out_0004.xda
system_variables = u_aux
execute_on = initial
[../]
[./xda_u]
type = SolutionUserObject
system = nl0
mesh = aux_nonlinear_solution_adapt_out_0004_mesh.xda
es = aux_nonlinear_solution_adapt_out_0004.xda
system_variables = u
execute_on = initial
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
nl_rel_tol = 1e-10
[]
[Outputs]
exodus = true
[]
[ICs]
[./u_func_ic]
function = u_xda_func
variable = u
type = FunctionIC
[../]
[]
modules/porous_flow/test/tests/mass_conservation/mass02.i
# checking that the mass postprocessor correctly calculates the mass
# 1phase, 2component, constant porosity
[Mesh]
type = GeneratedMesh
dim = 1
nx = 3
xmin = -1
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./mass_frac_comp0]
[../]
[]
[ICs]
[./pinit]
type = FunctionIC
function = x
variable = pp
[../]
[./minit]
type = FunctionIC
function = 'x*x'
variable = mass_frac_comp0
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = mass_frac_comp0
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp mass_frac_comp0'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'mass_frac_comp0'
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./total_mass_0]
type = PorousFlowFluidMass
[../]
[./total_mass_1]
type = PorousFlowFluidMass
fluid_component = 1
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = mass02
csv = true
[]
modules/richards/test/tests/mass/m_fu_01.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 2
xmin = -1
xmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1 # same deal with PETScs constant state
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = x
[../]
[]
[Postprocessors]
[./total_mass]
type = RichardsMass
variable = pressure
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFullyUpwindFlux
variable = pressure
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-10
end_time = 1E-10
[]
[Outputs]
execute_on = 'timestep_end'
file_base = m_fu_01
csv = true
[]
test/tests/dgkernels/dg_displacement/dg_displacement.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
displacements = 'disp_x disp_y'
[]
[Variables]
[./u]
order = FIRST
family = MONOMIAL
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Functions]
[./forcing_fn]
type = ParsedFunction
value = 2*pow(e,-x-(y*y))*(1-2*y*y)
[../]
[./exact_fn]
type = ParsedGradFunction
value = pow(e,-x-(y*y))
grad_x = -pow(e,-x-(y*y))
grad_y = -2*y*pow(e,-x-(y*y))
[../]
[./disp_func]
type = ParsedFunction
value = x
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./abs]
type = Reaction
variable = u
[../]
[./forcing]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[DGKernels]
[./dg_diff]
type = DGDiffusion
variable = u
epsilon = -1
sigma = 6
use_displaced_mesh = true
[../]
[]
[BCs]
[./all]
type = DGFunctionDiffusionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
epsilon = -1
sigma = 6
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
nl_rel_tol = 1e-10
[]
[Outputs]
execute_on = 'timestep_end'
file_base = out
exodus = true
[]
[ICs]
[./disp_x_ic]
function = disp_func
variable = disp_x
type = FunctionIC
[../]
[]
modules/richards/test/tests/dirac/bh_fu_04.i
# unsaturated
# production
# fullyupwind
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1E-2 1E-1 1 1E1 1E2 1E3'
x = '0 1E-1 1 1E1 1E2 1E3'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = -1E6
point_file = bh02.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = 1
fully_upwind = true
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 0
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1E3
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh_fu_04
exodus = false
execute_on = timestep_end
csv = true
[]
modules/phase_field/test/tests/GBAnisotropy/testwidth1.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 30
ny = 2
nz = 0
xmin = -500
xmax = 1000
ymin = 0
ymax = 100
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[GlobalParams]
op_num = 3
var_name_base = gr
length_scale = 1.0e-9
time_scale = 1.0e-9
[]
[Variables]
[./PolycrystalVariables]
[../]
[]
[Functions]
[./ic_func_eta1]
type = ParsedFunction
value = '0.5*(1.0-tanh((x)*sqrt(m/kappa/2.0)))'
vars = 'm kappa'
vals = '0.26514 331.414'
[../]
[./ic_func_eta2]
type = ParsedFunction
value = '0.5*(1.0+tanh((x)*sqrt(m/kappa/2.0)))*0.5*(1.0-tanh((x-500)*sqrt(m/kappa/2.0)))'
vars = 'm kappa'
vals = '0.26514 331.414'
[../]
[./ic_func_eta3]
type = ParsedFunction
value = '0.5*(1.0+tanh((x-500)*sqrt(m/kappa/2.0)))'
vars = 'm kappa'
vals = '0.26514 331.414'
[../]
[]
[ICs]
[./eta1_ic]
variable = gr0
type = FunctionIC
function = ic_func_eta1
[../]
[./eta2_ic]
variable = gr1
type = FunctionIC
function = ic_func_eta2
[../]
[./eta3_ic]
variable = gr2
type = FunctionIC
function = ic_func_eta3
[../]
[]
[AuxVariables]
[./bnds]
order = FIRST
family = LAGRANGE
[../]
[./unique_grains]
order = FIRST
family = LAGRANGE
[../]
[./var_indices]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./PolycrystalKernel]
[../]
[]
[AuxKernels]
[./bnds_aux]
type = BndsCalcAux
variable = bnds
execute_on = timestep_end
[../]
[]
[Materials]
[./CuGrGranisotropic]
type = GBWidthAnisotropy
kappa = 331.414
mu = 0.26514
T = 600 # K
# molar_volume_value = 7.11e-6 #Units:m^3/mol
Anisotropic_GB_file_name = anisotropy_energy.txt
inclination_anisotropy = false # true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 30
l_tol = 1e-4
nl_max_its = 40
nl_rel_tol = 1e-10
nl_abs_tol = 1e-11
num_steps = 2
dt = 10
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
modules/porous_flow/test/tests/sinks/s02.i
# apply a sink flux with use_mobility=true and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass00]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p00 1.3'
[../]
[./mass01]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p01 1.3'
[../]
[./expected_mass_change00]
type = ParsedFunction
value = 'fcn*perm*dens0*exp(pp/bulk)/visc*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt'
vals = '6 0.2 1.1 p00 1.3 1.1 0.5 1E-3'
[../]
[./expected_mass_change01]
type = ParsedFunction
value = 'fcn*perm*dens0*exp(pp/bulk)/visc*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt'
vals = '6 0.2 1.1 p01 1.3 1.1 0.5 1E-3'
[../]
[./mass00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm00_prev del_m00'
[../]
[./mass01_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm01_prev del_m01'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m00]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'initial timestep_end'
[../]
[./m00_prev]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m00]
type = FunctionValuePostprocessor
function = expected_mass_change00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m00_expect]
type = FunctionValuePostprocessor
function = mass00_expect
execute_on = 'timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m01]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'initial timestep_end'
[../]
[./m01_prev]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m01]
type = FunctionValuePostprocessor
function = expected_mass_change01
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m01_expect]
type = FunctionValuePostprocessor
function = mass01_expect
execute_on = 'timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = pp
use_mobility = true
use_relperm = true
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.03
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s02
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 30
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 3
[../]
[]
modules/porous_flow/test/tests/energy_conservation/except01.i
# checking that the heat-energy postprocessor throws the correct error if the phase number is entered incorrectly
[Mesh]
type = GeneratedMesh
dim = 1
nx = 3
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./temp]
[../]
[]
[ICs]
[./tinit]
type = FunctionIC
function = '100*x'
variable = temp
[../]
[./pinit]
type = FunctionIC
function = x
variable = pp
[../]
[]
[Kernels]
[./dummyt]
type = TimeDerivative
variable = temp
[../]
[./dummyp]
type = TimeDerivative
variable = pp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
viscosity = 0.001
thermal_expansion = 0
cv = 1.3
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 2.2
density = 0.5
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[]
[Postprocessors]
[./total_heat]
type = PorousFlowHeatEnergy
phase = 1
[../]
[./rock_heat]
type = PorousFlowHeatEnergy
[../]
[./fluid_heat]
type = PorousFlowHeatEnergy
include_porous_skeleton = false
phase = 0
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = except01
csv = true
[]
modules/porous_flow/test/tests/sinks/s03.i
# apply a sink flux with use_relperm=true and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = -y
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass00]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p00 1.3 1.1 0.5'
[../]
[./sat00]
type = ParsedFunction
value = 'pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'pp al m'
vals = 'p00 1.1 0.5'
[../]
[./mass01]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p01 1.3 1.1 0.5'
[../]
[./expected_mass_change00]
type = ParsedFunction
value = 'fcn*pow(pow(1+pow(-al*pp,1.0/(1-m)),-m),2)*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt al m'
vals = '6 0.2 1.1 p00 1.3 1.1 0.5 1E-3 1.1 0.5'
[../]
[./expected_mass_change01]
type = ParsedFunction
value = 'fcn*pow(pow(1+pow(-al*pp,1.0/(1-m)),-m),2)*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt al m'
vals = '6 0.2 1.1 p01 1.3 1.1 0.5 1E-3 1.1 0.5'
[../]
[./mass00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm00_prev del_m00'
[../]
[./mass01_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm01_prev del_m01'
[../]
[./sat01]
type = ParsedFunction
value = 'pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'pp al m'
vals = 'p01 1.1 0.5'
[../]
[./expected_mass_change_rate]
type = ParsedFunction
value = 'fcn*pow(pow(1+pow(-al*pp,1.0/(1-m)),-m),2)*area'
vars = 'fcn perm dens0 pp bulk visc area dt al m'
vals = '6 0.2 1.1 p00 1.3 1.1 0.5 1E-3 1.1 0.5'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m00]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'initial timestep_end'
[../]
[./m00_prev]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m00]
type = FunctionValuePostprocessor
function = expected_mass_change00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m00_expect]
type = FunctionValuePostprocessor
function = mass00_expect
execute_on = 'timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m01]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'initial timestep_end'
[../]
[./m01_prev]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m01]
type = FunctionValuePostprocessor
function = expected_mass_change01
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m01_expect]
type = FunctionValuePostprocessor
function = mass01_expect
execute_on = 'timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./s00]
type = FunctionValuePostprocessor
function = sat00
execute_on = 'initial timestep_end'
[../]
[./mass00_rate]
type = FunctionValuePostprocessor
function = expected_mass_change_rate
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = pp
use_mobility = false
use_relperm = true
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.018
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s03
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 5
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 2
[../]
[]
modules/porous_flow/test/tests/heat_advection/heat_advection_1d_KT.i
# 1phase, heat advecting with a moving fluid
# Using the Kuzmin-Turek stabilization scheme
[Mesh]
type = GeneratedMesh
dim = 1
nx = 50
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./temp]
initial_condition = 200
[../]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = '1-x'
[../]
[]
[BCs]
[./pp0]
type = DirichletBC
variable = pp
boundary = left
value = 1
[../]
[./pp1]
type = DirichletBC
variable = pp
boundary = right
value = 0
[../]
[./spit_heat]
type = DirichletBC
variable = temp
boundary = left
value = 300
[../]
[./suck_heat]
type = DirichletBC
variable = temp
boundary = right
value = 200
[../]
[]
[Kernels]
[./mass_dot]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./fluid_advection]
type = PorousFlowFluxLimitedTVDAdvection
variable = pp
advective_flux_calculator = fluid_advective_flux
[../]
[./energy_dot]
type = PorousFlowEnergyTimeDerivative
variable = temp
[../]
[./heat_advection]
type = PorousFlowFluxLimitedTVDAdvection
variable = temp
advective_flux_calculator = heat_advective_flux
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.6
alpha = 1.3
[../]
[./fluid_advective_flux]
type = PorousFlowAdvectiveFluxCalculatorSaturated
flux_limiter_type = superbee
[../]
[./heat_advective_flux]
type = PorousFlowAdvectiveFluxCalculatorSaturatedHeat
flux_limiter_type = superbee
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 100
density0 = 1000
viscosity = 4.4
thermal_expansion = 0
cv = 2
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1.0
density = 125
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 2 0 0 0 3'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./PS]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'gmres bjacobi 1E-15 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 0.01
end_time = 0.6
[]
[VectorPostprocessors]
[./T]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 51
sort_by = x
variable = temp
[../]
[]
[Outputs]
file_base = heat_advection_1d_KT
[./csv]
type = CSV
sync_times = '0.1 0.6'
sync_only = true
[../]
[]
modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_1D.i
# Using flux-limited TVD advection ala Kuzmin and Turek, mploying PorousFlow Kernels and UserObjects, with superbee flux-limiter
# 1D version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
modules/combined/test/tests/DiffuseCreep/stress_flux_n_gb_relax.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.1*v'
[../]
[../]
[./mu]
[../]
[./jx]
[../]
[./jy]
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./creep_strain_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./creep_strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./creep_strain_xy]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_xy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = mu_prop
c = c
[../]
[./flux_x]
type = CHSplitFlux
variable = jx
component = 0
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./flux_y]
type = CHSplitFlux
variable = jy
component = 1
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[./TensorMechanics]
displacements = 'disp_x disp_y'
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./creep_strain_xx]
type = RankTwoAux
variable = creep_strain_xx
rank_two_tensor = creep_strain
index_i = 0
index_j = 0
[../]
[./creep_strain_yy]
type = RankTwoAux
variable = creep_strain_yy
rank_two_tensor = creep_strain
index_i = 1
index_j = 1
[../]
[./creep_strain_xy]
type = RankTwoAux
variable = creep_strain_xy
rank_two_tensor = creep_strain
index_i = 0
index_j = 1
[../]
[./stress_xx]
type = RankTwoAux
variable = stress_xx
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
variable = stress_yy
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./stress_xy]
type = RankTwoAux
variable = stress_xy
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[./diffuse_strain_increment]
type = FluxBasedStrainIncrement
xflux = jx
yflux = jy
gb = gb
property_name = diffuse
[../]
[./gb_relax_prefactor]
type = DerivativeParsedMaterial
block = 0
function = '0.01*(c-0.15)*gb'
args = 'c gb'
f_name = gb_relax_prefactor
derivative_order = 1
[../]
[./gb_relax]
type = GBRelaxationStrainIncrement
property_name = gb_relax
prefactor_name = gb_relax_prefactor
gb_normal_name = gb_normal
[../]
[./creep_strain]
type = SumTensorIncrements
tensor_name = creep_strain
coupled_tensor_increment_names = 'diffuse gb_relax'
[../]
[./strain]
type = ComputeIncrementalSmallStrain
displacements = 'disp_x disp_y'
[../]
[./stress]
type = ComputeStrainIncrementBasedStress
inelastic_strain_names = creep_strain
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[]
[BCs]
[./Periodic]
[./cbc]
auto_direction = 'x y'
variable = c
[../]
[../]
[./fix_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[./fix_y]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-10
nl_max_its = 5
l_tol = 1e-4
l_max_its = 20
dt = 1
num_steps = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/free_energy_material/VanDerWaalsFreeEnergy.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
elem_type = QUAD4
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = x*0.4+0.001
[../]
[../]
[./T]
[./InitialCondition]
type = FunctionIC
function = y*1999+1
[../]
[../]
[]
[Materials]
[./free_energy]
type = VanDerWaalsFreeEnergy
f_name = Fgas
m = 134 # Xenon
a = 7.3138
b = 84.77
omega = 41
c = c
T = T
outputs = exodus
[../]
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/feature_flood_test/parallel_feature_count.i
[Mesh]
type = ImageMesh
dim = 2
file = spiral_16x16.png
scale_to_one = false
[]
[Variables]
[./u]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxVariables]
[./feature]
order = CONSTANT
family = MONOMIAL
[../]
[./proc_id]
order = CONSTANT
family = MONOMIAL
[../]
[./feature_ghost]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./nodal_flood_aux]
type = FeatureFloodCountAux
variable = feature
flood_counter = flood_count_pp
execute_on = 'initial timestep_end'
[../]
[./proc_id]
type = ProcessorIDAux
variable = proc_id
execute_on = 'initial timestep_end'
[../]
[./ghost]
type = FeatureFloodCountAux
variable = feature_ghost
field_display = GHOSTED_ENTITIES
flood_counter = flood_count_pp
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./tif]
type = ImageFunction
component = 0
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = tif
variable = u
[../]
[]
[Postprocessors]
[./flood_count_pp]
type = FeatureFloodCount
variable = u
threshold = 1.0
execute_on = 'initial timestep_end'
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
modules/combined/examples/phase_field-mechanics/kks_mechanics_KHS.i
# KKS phase-field model coupled with elasticity using Khachaturyan's scheme as
# described in L.K. Aagesen et al., Computational Materials Science, 140, 10-21 (2017)
# Original run #170403a
[Mesh]
type = GeneratedMesh
dim = 3
nx = 640
ny = 1
nz = 1
xmin = -10
xmax = 10
ymin = 0
ymax = 0.03125
zmin = 0
zmax = 0.03125
elem_type = HEX8
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# solute concentration
[./c]
order = FIRST
family = LAGRANGE
[../]
# chemical potential
[./w]
order = FIRST
family = LAGRANGE
[../]
# solute phase concentration (matrix)
[./cm]
order = FIRST
family = LAGRANGE
[../]
# solute phase concentration (precipitate)
[./cp]
order = FIRST
family = LAGRANGE
[../]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./eta_ic]
variable = eta
type = FunctionIC
function = ic_func_eta
block = 0
[../]
[./c_ic]
variable = c
type = FunctionIC
function = ic_func_c
block = 0
[../]
[./w_ic]
variable = w
type = ConstantIC
value = 0.00991
block = 0
[../]
[./cm_ic]
variable = cm
type = ConstantIC
value = 0.131
block = 0
[../]
[./cp_ic]
variable = cp
type = ConstantIC
value = 0.236
block = 0
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = '0.5*(1.0+tanh((x)/delta_eta/sqrt(2.0)))'
vars = 'delta_eta'
vals = '0.8034'
[../]
[./ic_func_c]
type = ParsedFunction
value = '0.2389*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^3*(6*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^2-15*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))+10)+0.1339*(1-(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^3*(6*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^2-15*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))+10))'
vars = 'delta'
vals = '0.8034'
[../]
[./psi_eq_int]
type = ParsedFunction
value = 'volume*psi_alpha'
vars = 'volume psi_alpha'
vals = 'volume psi_alpha'
[../]
[./gamma]
type = ParsedFunction
value = '(psi_int - psi_eq_int) / dy / dz'
vars = 'psi_int psi_eq_int dy dz'
vals = 'psi_int psi_eq_int 0.03125 0.03125'
[../]
[]
[AuxVariables]
[./sigma11]
order = CONSTANT
family = MONOMIAL
[../]
[./sigma22]
order = CONSTANT
family = MONOMIAL
[../]
[./sigma33]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[./e12]
order = CONSTANT
family = MONOMIAL
[../]
[./e22]
order = CONSTANT
family = MONOMIAL
[../]
[./e33]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el11]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el12]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el22]
order = CONSTANT
family = MONOMIAL
[../]
[./f_el]
order = CONSTANT
family = MONOMIAL
[../]
[./eigen_strain00]
order = CONSTANT
family = MONOMIAL
[../]
[./Fglobal]
order = CONSTANT
family = MONOMIAL
[../]
[./psi]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./matl_sigma11]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = sigma11
[../]
[./matl_sigma22]
type = RankTwoAux
rank_two_tensor = stress
index_i = 1
index_j = 1
variable = sigma22
[../]
[./matl_sigma33]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = sigma33
[../]
[./matl_e11]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 0
index_j = 0
variable = e11
[../]
[./f_el]
type = MaterialRealAux
variable = f_el
property = f_el_mat
execute_on = timestep_end
[../]
[./GlobalFreeEnergy]
variable = Fglobal
type = KKSGlobalFreeEnergy
fa_name = fm
fb_name = fp
w = 0.0264
kappa_names = kappa
interfacial_vars = eta
[../]
[./psi_potential]
variable = psi
type = ParsedAux
args = 'Fglobal w c f_el sigma11 e11'
function = 'Fglobal - w*c + f_el - sigma11*e11'
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[./front_y]
type = DirichletBC
variable = disp_y
boundary = front
value = 0
[../]
[./back_y]
type = DirichletBC
variable = disp_y
boundary = back
value = 0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value = 0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value = 0
[../]
[]
[Materials]
# Chemical free energy of the matrix
[./fm]
type = DerivativeParsedMaterial
f_name = fm
args = 'cm'
function = '6.55*(cm-0.13)^2'
[../]
# Chemical Free energy of the precipitate phase
[./fp]
type = DerivativeParsedMaterial
f_name = fp
args = 'cp'
function = '6.55*(cp-0.235)^2'
[../]
# Elastic energy of the precipitate
[./elastic_free_energy_p]
type = ElasticEnergyMaterial
f_name = f_el_mat
args = 'eta'
outputs = exodus
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# 1- h(eta), putting in function explicitly
[./one_minus_h_eta_explicit]
type = DerivativeParsedMaterial
f_name = one_minus_h_explicit
args = eta
function = 1-eta^3*(6*eta^2-15*eta+10)
outputs = exodus
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L kappa misfit'
prop_values = '0.7 0.7 0.01704 0.00377'
[../]
#Mechanical properties
[./Stiffness_matrix]
type = ComputeElasticityTensor
base_name = C_matrix
C_ijkl = '103.3 74.25 74.25 103.3 74.25 103.3 46.75 46.75 46.75'
fill_method = symmetric9
[../]
[./Stiffness_ppt]
type = ComputeElasticityTensor
C_ijkl = '100.7 71.45 71.45 100.7 71.45 100.7 50.10 50.10 50.10'
base_name = C_ppt
fill_method = symmetric9
[../]
[./C]
type = CompositeElasticityTensor
args = eta
tensors = 'C_matrix C_ppt'
weights = 'one_minus_h_explicit h'
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./strain]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
eigenstrain_names = 'eigenstrain_ppt'
[../]
[./eigen_strain]
type = ComputeVariableEigenstrain
eigen_base = '0.00377 0.00377 0.00377 0 0 0'
prefactor = h
args = eta
eigenstrain_name = 'eigenstrain_ppt'
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y disp_z'
[../]
# enforce c = (1-h(eta))*cm + h(eta)*cp
[./PhaseConc]
type = KKSPhaseConcentration
ca = cm
variable = cp
c = c
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotVacancies]
type = KKSPhaseChemicalPotential
variable = cm
cb = cp
fa_name = fm
fb_name = fp
[../]
#
# Cahn-Hilliard Equation
#
[./CHBulk]
type = KKSSplitCHCRes
variable = c
ca = cm
fa_name = fm
w = w
[../]
[./dcdt]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./ckernel]
type = SplitCHWRes
mob_name = M
variable = w
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = fm
fb_name = fp
w = 0.0264
args = 'cp cm'
[../]
[./ACBulkC]
type = KKSACBulkC
variable = eta
ca = cm
cb = cp
fa_name = fm
[../]
[./ACBulk_el] #This adds df_el/deta for strain interpolation
type = AllenCahn
variable = eta
f_name = f_el_mat
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = kappa
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm ilu nonzero'
l_max_its = 30
nl_max_its = 10
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-11
num_steps = 200
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.5
[../]
[]
[Postprocessors]
[./f_el_int]
type = ElementIntegralMaterialProperty
mat_prop = f_el_mat
[../]
[./c_alpha]
type = SideAverageValue
boundary = left
variable = c
[../]
[./c_beta]
type = SideAverageValue
boundary = right
variable = c
[../]
[./e11_alpha]
type = SideAverageValue
boundary = left
variable = e11
[../]
[./e11_beta]
type = SideAverageValue
boundary = right
variable = e11
[../]
[./s11_alpha]
type = SideAverageValue
boundary = left
variable = sigma11
[../]
[./s22_alpha]
type = SideAverageValue
boundary = left
variable = sigma22
[../]
[./s33_alpha]
type = SideAverageValue
boundary = left
variable = sigma33
[../]
[./s11_beta]
type = SideAverageValue
boundary = right
variable = sigma11
[../]
[./s22_beta]
type = SideAverageValue
boundary = right
variable = sigma22
[../]
[./s33_beta]
type = SideAverageValue
boundary = right
variable = sigma33
[../]
[./f_el_alpha]
type = SideAverageValue
boundary = left
variable = f_el
[../]
[./f_el_beta]
type = SideAverageValue
boundary = right
variable = f_el
[../]
[./f_c_alpha]
type = SideAverageValue
boundary = left
variable = Fglobal
[../]
[./f_c_beta]
type = SideAverageValue
boundary = right
variable = Fglobal
[../]
[./chem_pot_alpha]
type = SideAverageValue
boundary = left
variable = w
[../]
[./chem_pot_beta]
type = SideAverageValue
boundary = right
variable = w
[../]
[./psi_alpha]
type = SideAverageValue
boundary = left
variable = psi
[../]
[./psi_beta]
type = SideAverageValue
boundary = right
variable = psi
[../]
[./total_energy]
type = ElementIntegralVariablePostprocessor
variable = Fglobal
[../]
# Get simulation cell size from postprocessor
[./volume]
type = ElementIntegralMaterialProperty
mat_prop = 1
[../]
[./psi_eq_int]
type = FunctionValuePostprocessor
function = psi_eq_int
[../]
[./psi_int]
type = ElementIntegralVariablePostprocessor
variable = psi
[../]
[./gamma]
type = FunctionValuePostprocessor
function = gamma
[../]
[./int_position]
type = FindValueOnLine
start_point = '-10 0 0'
end_point = '10 0 0'
v = eta
target = 0.5
[../]
[]
#
# Precondition using handcoded off-diagonal terms
#
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Outputs]
[./exodus]
type = Exodus
interval = 20
[../]
checkpoint = true
[./csv]
type = CSV
execute_on = 'final'
[../]
[]
test/tests/executioners/nullspace/singular.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 10
nx = 8
[]
[Problem]
null_space_dimension = 1
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./eig]
type = MassEigenKernel
variable = u
eigen_postprocessor = 1.0002920196258376e+01
eigen = false
[../]
[./force]
type = CoupledForce
variable = u
v = aux_v
[../]
[]
[AuxVariables]
[./aux_v]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = eigen_mode
[../]
[../]
[]
[AuxKernels]
[./set_source]
type = FunctionAux
variable = aux_v
function = second_harmonic
execute_on = timestep_begin
[../]
[]
[Functions]
[./eigen_mode]
type = ParsedFunction
value = 'sqrt(2.0 / L) * sin(mode * pi * x / L)'
vars = 'L mode'
vals = '10 1'
[../]
[./second_harmonic]
type = ParsedFunction
value = 'sqrt(2.0 / L) * sin(mode * pi * x / L)'
vars = 'L mode'
vals = '10 2'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1'
value = 0
[../]
[]
[VectorPostprocessors]
[./sample_solution]
type = LineValueSampler
variable = u
start_point = '0 0 0'
end_point = '10 0 0'
sort_by = x
num_points = 9
execute_on = timestep_end
[../]
[]
[Preconditioning]
[./prec]
type = SMP
full = true
[../]
[]
[Executioner]
type = SteadyWithNull
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_pc_side -snes_type -ksp_norm_type'
petsc_options_value = 'hypre boomeramg left ksponly preconditioned'
nl_rel_tol = 1.0e-14
nl_abs_tol = 1.0e-14
[]
[Outputs]
execute_on = 'timestep_end'
csv = true
[]
modules/porous_flow/test/tests/sinks/s09.i
# Apply a piecewise-linear sink flux to the right-hand side and watch fluid flow to it
#
# This test has a single phase with two components. The test initialises with
# the porous material fully filled with component=1. The left-hand side is fixed
# at porepressure=1 and mass-fraction of the zeroth component being unity.
# The right-hand side has a very strong piecewise-linear flux that keeps the
# porepressure~0 at that side. Fluid mass is extracted by this flux in proportion
# to the fluid component mass fraction.
#
# Therefore, the zeroth fluid component will flow from left to right (down the
# pressure gradient).
#
# The important DE is
# porosity * dc/dt = (perm / visc) * grad(P) * grad(c)
# which is true for c = mass-fraction, and very large bulk modulus of the fluid.
# For grad(P) constant in time and space (as in this example) this is just the
# advection equation for c, with velocity = perm / visc / porosity. The parameters
# are chosen to velocity = 1 m/s.
# In the numerical world, and especially with full upwinding, the advection equation
# suffers from diffusion. In this example, the diffusion is obvious when plotting
# the mass-fraction along the line, but the average velocity of the front is still
# correct at 1 m/s.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp frac'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[./frac]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = 1-x
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = pp
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
gravity = '0 0 0'
variable = frac
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
gravity = '0 0 0'
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e10 # need large in order for constant-velocity advection
density0 = 1 # almost irrelevant, except that the ability of the right BC to keep P fixed at zero is related to density_P0
thermal_expansion = 0
viscosity = 11
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = frac
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 1.1 0 0 0 1.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2 # irrelevant in this fully-saturated situation
phase = 0
[../]
[]
[BCs]
[./lhs_fixed_a]
type = DirichletBC
boundary = 'left'
variable = frac
value = 1
[../]
[./lhs_fixed_b]
type = DirichletBC
boundary = 'left'
variable = pp
value = 1
[../]
[./flux0]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = frac # the zeroth comonent
mass_fraction_component = 0
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[./flux1]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = pp # comonent 1
mass_fraction_component = 1
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-2
end_time = 1
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[VectorPostprocessors]
[./mf]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 100
sort_by = x
variable = frac
[../]
[]
[Outputs]
file_base = s09
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
sync_times = '0.1 0.5 1'
sync_only = true
[../]
interval = 10
[]
modules/porous_flow/test/tests/relperm/corey4.i
# Test Corey relative permeability curve by varying saturation over the mesh
# Residual saturation of phase 0: s0r = 0.2
# Residual saturation of phase 1: s1r = 0.3
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
family = LAGRANGE
order = FIRST
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityCorey
scaling = 0.1
phase = 0
n = 2
s_res = 0.2
sum_s_res = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
scaling = 10.0
phase = 1
n = 2
s_res = 0.3
sum_s_res = 0.5
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-8
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/time_steppers/timesequence_stepper/timesequence_restart3.i
[Mesh]
file = timesequence_restart1_cp/0002_mesh.cpr
[]
[Problem]
restart_file_base = timesequence_restart1_cp/0002
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
end_time = 4.5
[./TimeStepper]
type = TimeSequenceStepper
time_sequence = '0 0.85 1.3 1.9 2 4 4.5'
[../]
[]
[Outputs]
exodus = true
[]
test/tests/time_integrators/tvdrk2/2d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 20
ny = 20
elem_type = QUAD9
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*((x*x)+(y*y))-(4*t*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*t*((x*x)+(y*y))
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
variable = u
function = ic
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitTVDRK2
[../]
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 10
dt = 0.0001
l_tol = 1e-8
[]
[Outputs]
exodus = true
perf_graph = true
[]
test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./gaussian_ic]
type = FunctionIC
variable = u
function = gaussian_2d
[../]
[]
[Functions]
[./gaussian_2d]
type = ParsedFunction
value = exp(-((x-x0)*(x-x0)+(y-y0)*(y-y0))/2.0/sigma/sigma)
vars = 'sigma x0 y0'
vals = '0.05 0.35 0.25'
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = marker
cycles_per_step = 1
marker = marker
max_h_level = 2
[./Markers]
[./marker]
type = CircleMarker
point = '0.35 0.25 0'
radius = 0.2
inside = refine
outside = coarsen
[../]
[../]
[]
[UserObjects]
[./mesh_adaptivity_off]
type = ToggleMeshAdaptivity
mesh_adaptivity = 'off'
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/richards/test/tests/uo_egs/seff2.i
# Outputs a 2phase effective saturation relationship into an exodus file
# and into a CSV file.
# In the exodus file, the Seff will be a function of "x", and
# this "x" is actually the difference in porepressures,
# say P_gas - P_water (so "x" should be positive).
# In the CSV file you will find the Seff at the "x" point
# specified by you below.
#
# You may specify:
# - the "type" of Seff in the UserObjects block
# - the parameters of this Seff function in the UserObjects block
# - the "x" point (which is del_porepressure) that you want to extract
# the Seff at, if you want a value at a particular point
# - the range of "x" values (which is porepressure values) may be
# changed in the Mesh block, below
[UserObjects]
[./seff]
type = RichardsSeff2waterVG
al = 1E-6
m = 0.8
[../]
[]
[Postprocessors]
[./point_val]
type = PointValue
execute_on = timestep_begin
# note this point must lie inside the mesh below
point = '1 0 0'
variable = seff
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
# the following specify the range of porepressure
xmin = 0
xmax = 3E6
[]
############################
# You should not need to change any of the stuff below
############################
[Variables]
[./u]
[../]
[./v]
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = x
[../]
[./v_init]
type = ConstantIC
variable = v
value = 0
[../]
[]
[AuxVariables]
[./seff]
[../]
[]
[AuxKernels]
[./seff_AuxK]
type = RichardsSeffAux
variable = seff
seff_UO = seff
execute_on = timestep_begin
pressure_vars = 'v u'
[../]
[]
[Kernels]
[./dummy_u]
type = Diffusion
variable = u
[../]
[./dummy_v]
type = Diffusion
variable = v
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 0
[]
[Outputs]
file_base = seff2
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
hide = 'u v'
[../]
[]
test/tests/functions/image_function/image_2d.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
test/tests/kernels/mass_lumping/mass_lumping_jacobian.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 2
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = init_f
[../]
[]
[Kernels]
[./time_deriv]
type = MassLumpedTimeDerivative
variable = u
[../]
[./diff]
type = FuncCoefDiffusion
variable = u
coef = diff_f
[../]
[]
[Functions]
[./init_f]
type = ParsedFunction
value = max(x,0) #(x>0)
[../]
[./diff_f]
type = ParsedFunction
value = max(x,0)
[../]
[]
[Executioner]
type = Transient
end_time = 1
solve_type = 'NEWTON'
petsc_options_iname = '-snes_type'
petsc_options_value = 'test'
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/dirac/bh10.i
# fully-saturated
# production
# with anisotropic and nonsymmetric (!) permeability
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh02.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = 1
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '2E-12 0 0 1E-12 3E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 0.5
dt = 1E-2
solve_type = NEWTON
[]
[Outputs]
file_base = bh10
exodus = false
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/relperm/corey1.i
# Test Corey relative permeability curve by varying saturation over the mesh
# Corey exponent n = 1 for both phases (linear residual saturation)
# No residual saturation in either phase
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityCorey
phase = 0
n = 1
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 1
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-8
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
modules/richards/test/tests/theis/th01.i
# fully-saturated
# production
[Mesh]
type = FileMesh
file = th01_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.5 1 2 10'
x = '0 1 10 100'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsPolyLineSink
pressures = '-1E9 1E9'
fluxes = '200 200'
point_file = th01.points
SumQuantityUO = total_outflow_mass
variable = pressure
[../]
[]
[Postprocessors]
[./flow_report]
type = RichardsPlotQuantity
uo = total_outflow_mass
[../]
[./p50]
type = PointValue
variable = pressure
point = '50 0 0'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E5
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-6 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 100
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
execute_on = 'timestep_end'
file_base = th01
csv = true
[]
modules/porous_flow/test/tests/mass_conservation/mass01.i
# checking that the mass postprocessor correctly calculates the mass
# 1phase, 1component, constant porosity
[Mesh]
type = GeneratedMesh
dim = 1
nx = 3
xmin = -1
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pinit]
type = FunctionIC
function = x
variable = pp
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./total_mass]
type = PorousFlowFluidMass
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = mass01
csv = true
[]
modules/porous_flow/test/tests/numerical_diffusion/fltvd.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, with antidiffusion from superbee flux limiting
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
nl_max_its = 500
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/misc/check_error/function_file_test5.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = dummy
xy_data = '1 2'
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/time_integrators/rk-2/2d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 20
ny = 20
elem_type = QUAD9
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*((x*x)+(y*y))-(4*t*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*t*((x*x)+(y*y))
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitMidpoint
[../]
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 10
dt = 0.0001
l_tol = 1e-8
[]
[Outputs]
exodus = true
perf_graph = true
[]
test/tests/time_steppers/timesequence_stepper/timesequence.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
end_time = 4.0
[./TimeStepper]
type = TimeSequenceStepper
time_sequence = '0 0.85 1.3 2 4'
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/DiffuseCreep/strain.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.1*v'
[../]
[../]
[./mu]
[../]
[./jx]
[../]
[./jy]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./creep_strain_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./creep_strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./creep_strain_xy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = mu_prop
c = c
[../]
[./flux_x]
type = CHSplitFlux
variable = jx
component = 0
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./flux_y]
type = CHSplitFlux
variable = jy
component = 1
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./creep_strain_xx]
type = RankTwoAux
variable = creep_strain_xx
rank_two_tensor = creep_strain
index_i = 0
index_j = 0
[../]
[./creep_strain_yy]
type = RankTwoAux
variable = creep_strain_yy
rank_two_tensor = creep_strain
index_i = 1
index_j = 1
[../]
[./creep_strain_xy]
type = RankTwoAux
variable = creep_strain_xy
rank_two_tensor = creep_strain
index_i = 0
index_j = 1
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[./diffuse_strain_increment]
type = FluxBasedStrainIncrement
xflux = jx
yflux = jy
gb = gb
property_name = diffuse
[../]
[./diffuse_creep_strain]
type = SumTensorIncrements
tensor_name = creep_strain
coupled_tensor_increment_names = diffuse
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_max_its = 5
dt = 20
num_steps = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/numerical_diffusion/fltvd_no_antidiffusion.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, but without any antidiffusion
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = none
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-1
nl_abs_tol = 1E-8
nl_max_its = 500
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/functions/image_function/image_mesh_3d.i
[Mesh]
type = ImageMesh
dim = 3
file_base = stack/test
file_suffix = png
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
# ImageFunction gets its file range parameters from ImageMesh,
# when it is present. This prevents duplicating information in
# input files.
type = ImageFunction
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/dirac/bh_fu_02.i
# fully-saturated
# production
# fullyupwind
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh02.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = 1
fully_upwind = true
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 0.5
dt = 1E-2
solve_type = NEWTON
[]
[Outputs]
file_base = bh_fu_02
exodus = false
csv = true
execute_on = timestep_end
[]
test/tests/functions/solution_function/solution_function_scale_transl.i
# checking scale and translation, with ordering scale first, then translation second
[Mesh]
type = GeneratedMesh
dim = 3
xmin = -1
xmax = 1
nx = 3
ymin = -1
ymax = 1
ny = 3
zmin = -1
zmax = 1
nz = 3
[]
[UserObjects]
[./solution_uo]
type = SolutionUserObject
mesh = cube_with_u_equals_x.e
timestep = 1
system_variables = u
scale = '0.5 1 1'
translation = '2 0 0'
transformation_order = 'scale translation'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = solution_fcn
[../]
[]
[Functions]
[./solution_fcn]
type = SolutionFunction
from_variable = u
solution = solution_uo
[../]
[]
[Kernels]
[./diff]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
l_max_its = 800
nl_rel_tol = 1e-10
num_steps = 1
end_time = 1
dt = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = solution_function_scale_transl
exodus = true
[]
test/tests/time_steppers/timesequence_stepper/timesequence_failed_solve.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
# This timestepper does not use dt to set the timestep, it uses the time_sequence.
# dt = 250
dtmin=250
end_time = 3000.0
[./TimeStepper]
type = TimeSequenceStepperFailTest
time_sequence = '0 1000.0 2000.0'
[../]
nl_rel_tol=1.e-10
[]
[Outputs]
file_base = timesequence_failed_solve
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_blocks.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek
# 2D version with blocks
# Top block: tracer is defined here, with velocity = (0.1, 0, 0)
# Central block: tracer is not defined here
# Bottom block: tracer is defined here, with velocity = (-0.1, 0, 0)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmin = 0
xmax = 1
ny = 5
ymin = 0
ymax = 1
[]
[./top]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0.6 0'
top_right = '1 1 0'
block_id = 1
[../]
[./center]
input = bottom
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0.4 0'
top_right = '1 0.6 0'
block_id = 2
[../]
[./bottom]
input = top
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 0.6 0'
block_id = 3
[../]
[./split_bdys]
type = BreakBoundaryOnSubdomainGenerator
input = center
boundaries = 'left right'
[../]
[]
[GlobalParams]
block = '1 2 3'
[]
[Variables]
[./tracer]
block = '1 3'
[../]
[./dummy]
[../]
[]
[ICs]
[./tracer_top]
type = FunctionIC
variable = tracer
function = 'if(x<0.1 | x>0.3, 0, 1)'
block = '1'
[../]
[./tracer_bot]
type = FunctionIC
variable = tracer
function = 'if(x<0.7 | x > 0.9, 0, 1)'
block = '3'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
block = '1 3'
[../]
[./flux_top]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo_top
block = '1'
[../]
[./flux_bot]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo_bot
block = '3'
[../]
[.dummy]
type = TimeDerivative
variable = dummy
[../]
[]
[UserObjects]
[./fluo_top]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
block = '1'
[../]
[./fluo_bot]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '-0.1 0 0'
block = '3'
[../]
[]
[BCs]
[./no_tracer_on_left_top]
type = DirichletBC
variable = tracer
value = 0
boundary = 'left_to_1'
[../]
[./remove_tracer_top]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = 'right_to_1'
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[./no_tracer_on_left_bot]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = 'left_to_3'
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[./remove_tracer_bot]
type = DirichletBC
variable = tracer
value = 0
boundary = 'right_to_3'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer_bot]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[./tracer_top]
type = LineValueSampler
start_point = '0 1 0'
end_point = '1 1 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/time_integrators/explicit-euler/ee-1d-linear.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 200
elem_type = EDGE2
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/porous_flow/test/tests/sinks/s01.i
# apply a sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass00]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p00 1.3'
[../]
[./mass01]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p01 1.3'
[../]
[./expected_mass_change00]
type = ParsedFunction
value = 'fcn*perm*dens0*exp(pp/bulk)/visc*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt'
vals = '6 1 1 0 1.3 1 0.5 1E-3'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m00]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'initial timestep_end'
[../]
[./del_m00]
type = FunctionValuePostprocessor
function = expected_mass_change00
execute_on = 'timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m01]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = pp
use_mobility = false
use_relperm = true
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 1E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s01
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'initial timestep_end'
[../]
[]
modules/porous_flow/test/tests/flux_limited_TVD_pflow/jacobian_05.i
# Checking the Jacobian of Flux-Limited TVD Advection, 2 phases, 2 components, using flux_limiter_type != None
#
# Here we use snes_check_jacobian instead of snes_type=test. The former just checks the Jacobian for the
# random initial conditions, while the latter checks for u=1 and u=-1
#
# The Jacobian is correct for u=1 and u=-1, but the finite-difference scheme used by snes_type=test gives the
# wrong answer.
# For u=constant, the Kuzmin-Turek scheme adds as much antidiffusion as possible, resulting in a central-difference
# version of advection (flux_limiter = 1). This is correct, and the Jacobian is calculated correctly.
# However, when computing the Jacobian using finite differences, u is increased or decreased at a node.
# This results in that node being at a maximum or minimum, which means no antidiffusion should be added
# (flux_limiter = 0). This corresponds to a full-upwind scheme. So the finite-difference computes the
# Jacobian in the full-upwind scenario, which is incorrect (the original residual = 0, after finite-differencing
# the residual comes from the full-upwind scenario).
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 5
[]
[GlobalParams]
gravity = '1.1 2 -0.5'
PorousFlowDictator = dictator
[]
[Variables]
[./ppwater]
[../]
[./ppgas]
[../]
[./massfrac_ph0_sp0]
[../]
[./massfrac_ph1_sp0]
[../]
[]
[ICs]
[./ppwater]
type = FunctionIC
variable = ppwater
function = 'if(x<1,0,if(x<4,sin(x-1),1))'
[../]
[./ppgas]
type = FunctionIC
variable = ppgas
function = 'x*(6-x)/6'
[../]
[./massfrac_ph0_sp0]
type = FunctionIC
variable = massfrac_ph0_sp0
function = 'x/6'
[../]
[./massfrac_ph1_sp0]
type = FunctionIC
variable = massfrac_ph1_sp0
function = '1-x/7'
[../]
[]
[Kernels]
[./flux_ph0_sp0]
type = PorousFlowFluxLimitedTVDAdvection
variable = ppwater
advective_flux_calculator = advective_flux_calculator_ph0_sp0
[../]
[./flux_ph0_sp1]
type = PorousFlowFluxLimitedTVDAdvection
variable = ppgas
advective_flux_calculator = advective_flux_calculator_ph0_sp1
[../]
[./flux_ph1_sp0]
type = PorousFlowFluxLimitedTVDAdvection
variable = massfrac_ph0_sp0
advective_flux_calculator = advective_flux_calculator_ph1_sp0
[../]
[./flux_ph1_sp1]
type = PorousFlowFluxLimitedTVDAdvection
variable = massfrac_ph1_sp0
advective_flux_calculator = advective_flux_calculator_ph1_sp1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 1.5
density0 = 1
thermal_expansion = 0
viscosity = 1
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 0.5
density0 = 0.5
thermal_expansion = 0
viscosity = 1.4
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'ppwater ppgas massfrac_ph0_sp0 massfrac_ph1_sp0'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
alpha = 1
m = 0.5
[../]
[./advective_flux_calculator_ph0_sp0]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = minmod
phase = 0
fluid_component = 0
[../]
[./advective_flux_calculator_ph0_sp1]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = vanleer
phase = 0
fluid_component = 1
[../]
[./advective_flux_calculator_ph1_sp0]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = mc
phase = 1
fluid_component = 0
[../]
[./advective_flux_calculator_ph1_sp1]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = superbee
phase = 1
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePP
phase0_porepressure = ppwater
phase1_porepressure = ppgas
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 3
phase = 1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.21 0 0 0 1.5 0 0 0 0.8'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options = '-snes_check_jacobian'
[../]
[]
[Executioner]
type = Transient
solve_type = Linear # this is to force convergence even though the nonlinear residual is high: we just care about the Jacobian in this test
end_time = 1
num_steps = 1
dt = 1
[]
test/tests/auxkernels/linear_combination/test.i
# All tested logic is in the aux system
# The non-linear problem is unrelated
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 10
[]
[Functions]
[./v1_func]
type = ParsedFunction
value = (1-x)/2
[../]
[./v2_func]
type = ParsedFunction
value = (1+x)/2
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./lc]
[../]
[./v1]
[../]
[./v2]
[../]
[./w1]
[../]
[./w2]
[../]
[]
[ICs]
[./v1_ic]
type = FunctionIC
variable = v1
function = v1_func
[../]
[./v2_ic]
type = FunctionIC
variable = v2
function = v2_func
[../]
[./w1_ic]
type = ConstantIC
variable = w1
value = 0.3
[../]
[./w2_ic]
type = ConstantIC
variable = w2
value = 0.5
[../]
[]
[AuxKernels]
[./lc-aux]
type = ParsedAux
variable = lc
function = 'v1*w1+v2*w2'
args = 'v1 w1 v2 w2'
execute_on = 'timestep_end'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 1
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 2
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
[./out]
type = Exodus
[../]
[]
test/tests/vectorpostprocessors/element_value_sampler/element_value_sampler.i
# Tests the ElementValueSampler vector post-processor. In this test, 2 constant
# monomial variables are given distributions by a function and are output to a CSV file.
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
[]
[Functions]
[./u_fn]
type = ParsedFunction
value = '2 * x + 3 * y'
[../]
[./v_fn]
type = ParsedFunction
value = 'x + y'
[../]
[]
[AuxVariables]
[./u]
family = MONOMIAL
order = CONSTANT
[../]
[./v]
family = MONOMIAL
order = CONSTANT
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
variable = u
function = u_fn
[../]
[./v_ic]
type = FunctionIC
variable = v
function = v_fn
[../]
[]
[VectorPostprocessors]
[./element_value_sampler]
type = ElementValueSampler
variable = 'u v'
sort_by = id
execute_on = 'initial'
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base = 'element_value_sampler'
csv = true
execute_on = 'initial'
[]
modules/richards/test/tests/user_objects/uo4.i
# Seff 2-phase User objects give the correct value
#
# If you want to add another test for another UserObject
# then add the UserObject, add a Function defining the expected result,
# add an AuxVariable and AuxKernel that will record the UserObjects value
# and finally add a NodalL2Error that compares this with the Function
#
# Here pressure is x where x is between -5 and 5
[UserObjects]
[./Seff2waterVG]
type = RichardsSeff2waterVG
m = 0.8
al = 0.3
[../]
[./Seff2gasVG]
type = RichardsSeff2gasVG
m = 0.8
al = 0.3
[../]
[./Seff2waterVGshifted]
type = RichardsSeff2waterVGshifted
m = 0.8
al = 0.3
shift = 2
[../]
[./Seff2gasVGshifted]
type = RichardsSeff2gasVGshifted
m = 0.8
al = 0.3
shift = 2
[../]
# following are unimportant in this test
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.10101
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.1
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1
[../]
[]
[Functions]
[./initial_pwater]
type = ParsedFunction
value = x
[../]
[./initial_pgas]
type = ParsedFunction
value = 5.0
[../]
[./answer_Seff2waterVG]
type = ParsedFunction
value = (1+max((-(x-5))*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '0.3 0.8'
[../]
[./answer_dSeff2waterVG]
type = GradParsedFunction
direction = '1E-5 0 0'
value = (1+max((-(x-5))*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '0.3 0.8'
[../]
[./answer_d2Seff2waterVG]
type = Grad2ParsedFunction
direction = '1E-4 0 0'
value = (1+max((-(x-5))*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '0.3 0.8'
[../]
[./answer_Seff2gasVG]
type = ParsedFunction
value = 1-(1+max((-(x-5))*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '0.3 0.8'
[../]
[./answer_dSeff2gasVG]
type = GradParsedFunction
direction = '1E-5 0 0'
value = 1-(1+max((-(x-5))*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '0.3 0.8'
[../]
[./answer_d2Seff2gasVG]
type = Grad2ParsedFunction
direction = '1E-4 0 0'
value = 1-(1+max((-(x-5))*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '0.3 0.8'
[../]
[./answer_Seff2waterVGshifted]
type = ParsedFunction
value = ((1+max((-(x-5-shift))*al,0)^(1/(1-m)))^(-m))/((1+max((-(-shift))*al,0)^(1/(1-m)))^(-m))
vars = 'al m shift'
vals = '0.3 0.8 2'
[../]
[./answer_dSeff2waterVGshifted]
type = GradParsedFunction
direction = '1E-5 0 0'
value = ((1+max((-(x-5-shift))*al,0)^(1/(1-m)))^(-m))/((1+max((-(-shift))*al,0)^(1/(1-m)))^(-m))
vars = 'al m shift'
vals = '0.3 0.8 2'
[../]
[./answer_d2Seff2waterVGshifted]
type = Grad2ParsedFunction
direction = '1E-4 0 0'
value = ((1+max((-(x-5-shift))*al,0)^(1/(1-m)))^(-m))/((1+max((-(-shift))*al,0)^(1/(1-m)))^(-m))
vars = 'al m shift'
vals = '0.3 0.8 2'
[../]
[./answer_Seff2gasVGshifted]
type = ParsedFunction
value = 1-((1+max((-(x-5-shift))*al,0)^(1/(1-m)))^(-m))/((1+max((-(-shift))*al,0)^(1/(1-m)))^(-m))
vars = 'al m shift'
vals = '0.3 0.8 2'
[../]
[./answer_dSeff2gasVGshifted]
type = GradParsedFunction
direction = '1E-5 0 0'
value = 1-((1+max((-(x-5-shift))*al,0)^(1/(1-m)))^(-m))/((1+max((-(-shift))*al,0)^(1/(1-m)))^(-m))
vars = 'al m shift'
vals = '0.3 0.8 2'
[../]
[./answer_d2Seff2gasVGshifted]
type = Grad2ParsedFunction
direction = '1E-4 0 0'
value = 1-((1+max((-(x-5-shift))*al,0)^(1/(1-m)))^(-m))/((1+max((-(-shift))*al,0)^(1/(1-m)))^(-m))
vars = 'al m shift'
vals = '0.3 0.8 2'
[../]
[]
[AuxVariables]
[./Seff2waterVG_Aux]
[../]
[./dSeff2waterVG_Aux]
[../]
[./d2Seff2waterVG_Aux]
[../]
[./Seff2gasVG_Aux]
[../]
[./dSeff2gasVG_Aux]
[../]
[./d2Seff2gasVG_Aux]
[../]
[./Seff2waterVGshifted_Aux]
[../]
[./dSeff2waterVGshifted_Aux]
[../]
[./d2Seff2waterVGshifted_Aux]
[../]
[./Seff2gasVGshifted_Aux]
[../]
[./dSeff2gasVGshifted_Aux]
[../]
[./d2Seff2gasVGshifted_Aux]
[../]
[./check_Aux]
[../]
[]
[AuxKernels]
[./Seff2waterVG_AuxK]
type = RichardsSeffAux
variable = Seff2waterVG_Aux
seff_UO = Seff2waterVG
pressure_vars = 'pwater pgas'
[../]
[./dSeff2waterVG_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff2waterVG_Aux
seff_UO = Seff2waterVG
pressure_vars = 'pwater pgas'
wrtnum = 0
[../]
[./d2Seff2waterVG_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff2waterVG_Aux
seff_UO = Seff2waterVG
pressure_vars = 'pwater pgas'
wrtnum1 = 0
wrtnum2 = 0
[../]
[./Seff2gasVG_AuxK]
type = RichardsSeffAux
variable = Seff2gasVG_Aux
seff_UO = Seff2gasVG
pressure_vars = 'pwater pgas'
[../]
[./dSeff2gasVG_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff2gasVG_Aux
seff_UO = Seff2gasVG
pressure_vars = 'pwater pgas'
wrtnum = 0
[../]
[./d2Seff2gasVG_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff2gasVG_Aux
seff_UO = Seff2gasVG
pressure_vars = 'pwater pgas'
wrtnum1 = 0
wrtnum2 = 0
[../]
[./Seff2waterVGshifted_AuxK]
type = RichardsSeffAux
variable = Seff2waterVGshifted_Aux
seff_UO = Seff2waterVGshifted
pressure_vars = 'pwater pgas'
[../]
[./dSeff2waterVGshifted_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff2waterVGshifted_Aux
seff_UO = Seff2waterVGshifted
pressure_vars = 'pwater pgas'
wrtnum = 0
[../]
[./d2Seff2waterVGshifted_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff2waterVGshifted_Aux
seff_UO = Seff2waterVGshifted
pressure_vars = 'pwater pgas'
wrtnum1 = 0
wrtnum2 = 0
[../]
[./Seff2gasVGshifted_AuxK]
type = RichardsSeffAux
variable = Seff2gasVGshifted_Aux
seff_UO = Seff2gasVGshifted
pressure_vars = 'pwater pgas'
[../]
[./dSeff2gasVGshifted_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff2gasVGshifted_Aux
seff_UO = Seff2gasVGshifted
pressure_vars = 'pwater pgas'
wrtnum = 0
[../]
[./d2Seff2gasVGshifted_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff2gasVGshifted_Aux
seff_UO = Seff2gasVGshifted
pressure_vars = 'pwater pgas'
wrtnum1 = 0
wrtnum2 = 0
[../]
[./check_AuxK]
type = FunctionAux
variable = check_Aux
function = answer_d2Seff2waterVGshifted
[../]
[]
[Postprocessors]
[./cf_Seff2waterVG]
type = NodalL2Error
function = answer_Seff2waterVG
variable = Seff2waterVG_Aux
[../]
[./cf_dSeff2waterVG]
type = NodalL2Error
function = answer_dSeff2waterVG
variable = dSeff2waterVG_Aux
[../]
[./cf_d2Seff2waterVG]
type = NodalL2Error
function = answer_d2Seff2waterVG
variable = d2Seff2waterVG_Aux
[../]
[./cf_Seff2gasVG]
type = NodalL2Error
function = answer_Seff2gasVG
variable = Seff2gasVG_Aux
[../]
[./cf_dSeff2gasVG]
type = NodalL2Error
function = answer_dSeff2gasVG
variable = dSeff2gasVG_Aux
[../]
[./cf_d2Seff2gasVG]
type = NodalL2Error
function = answer_d2Seff2gasVG
variable = d2Seff2gasVG_Aux
[../]
[./cf_Seff2waterVGshifted]
type = NodalL2Error
function = answer_Seff2waterVGshifted
variable = Seff2waterVGshifted_Aux
[../]
[./cf_dSeff2waterVGshifted]
type = NodalL2Error
function = answer_dSeff2waterVGshifted
variable = dSeff2waterVGshifted_Aux
[../]
[./cf_d2Seff2waterVGshifted]
type = NodalL2Error
function = answer_d2Seff2waterVGshifted
variable = d2Seff2waterVGshifted_Aux
[../]
[./cf_Seff2gasVGshifted]
type = NodalL2Error
function = answer_Seff2gasVGshifted
variable = Seff2gasVGshifted_Aux
[../]
[./cf_dSeff2gasVGshifted]
type = NodalL2Error
function = answer_dSeff2gasVGshifted
variable = dSeff2gasVGshifted_Aux
[../]
[./cf_d2Seff2gasVGshifted]
type = NodalL2Error
function = answer_d2Seff2gasVGshifted
variable = d2Seff2gasVGshifted_Aux
[../]
[]
#############################################################################
#
# Following is largely unimportant as we are not running an actual similation
#
#############################################################################
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = -5
xmax = 5
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pwater
[../]
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pgas
[../]
[../]
[]
[Kernels]
active = 'watert gast'
[./watert]
type = RichardsMassChange
richardsVarNames_UO = PPNames
variable = pwater
[../]
[./gast]
type = RichardsMassChange
richardsVarNames_UO = PPNames
variable = pgas
[../]
[]
[Materials]
[./unimportant_material]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-20 0 0 0 1E-20 0 0 0 1E-20'
richardsVarNames_UO = PPNames
density_UO = 'DensityConstBulk DensityConstBulk'
relperm_UO = 'RelPermPower RelPermPower'
sat_UO = 'Saturation Saturation'
seff_UO = 'Seff2waterVG Seff2gasVG'
SUPG_UO = 'SUPGstandard SUPGstandard'
viscosity = '1E-3 1E-5'
gravity = '0 0 -10'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./does_nothing]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E50 1E50 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 1
dt = 1E-100
[]
[Outputs]
execute_on = 'timestep_end'
active = 'csv'
file_base = uo4
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
[../]
[]
test/tests/postprocessors/variable_inner_product/variable_inner_product.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
xmin = -1
xmax = 1
ymin = 0
ymax = 1
elem_type = QUAD9
[]
[AuxVariables]
[./f]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = leg2
[../]
[../]
[./g]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = leg1
[../]
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Functions]
[./leg1]
type = ParsedFunction
value = 'x'
[../]
[./leg2]
type = ParsedFunction
value = '0.5*(3.0*x*x-1.0)'
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[./Quadrature]
order = fourth
[]
[]
[Postprocessors]
[./f_dot_g]
type = VariableInnerProduct
variable = f
second_variable = g
[../]
[./f_dot_f]
type = VariableInnerProduct
variable = f
second_variable = f
[../]
[./norm_f]
type = ElementL2Norm
variable = f
[../]
[]
[Outputs]
file_base = variable_inner_product
csv = true
[]
test/tests/time_steppers/timesequence_stepper/exodustimesequence.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
end_time = 4.0
[./TimeStepper]
type = ExodusTimeSequenceStepper
mesh = timesequence_no_start_time.e
[../]
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/sinks/s01.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1 # same deal with PETScs constant state
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 2
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-lfout-rfout-mf)/2/(mi+mf))
vars = 'mi mf lfout rfout'
vals = 'mass_init mass_fin left_flux_out right_flux_out'
[../]
[]
[Postprocessors]
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./mass_fin]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./left_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = left
variable = pressure
pressures = '0 1'
bare_fluxes = '1 2'
use_mobility = false
use_relperm = false
[../]
[./right_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = right
variable = pressure
pressures = '0 1'
bare_fluxes = '1 2'
use_mobility = false
use_relperm = false
[../]
[./p0]
type = PointValue
point = '0 0 0'
variable = pressure
[../]
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
[BCs]
[./left_flux]
type = RichardsPiecewiseLinearSink
boundary = left
pressures = '0 1'
bare_fluxes = '1 2'
variable = pressure
use_mobility = false
use_relperm = false
[../]
[./right_flux]
type = RichardsPiecewiseLinearSink
boundary = right
pressures = '0 1'
bare_fluxes = '1 2'
variable = pressure
use_mobility = false
use_relperm = false
[../]
[]
[Kernels]
active = 'richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[]
[AuxVariables]
[./one]
initial_condition = 1
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 0.2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s01
csv = true
execute_on = timestep_end
[]
modules/phase_field/test/tests/MultiPhase/switchingfunction3phasematerial.i
# This is a test of the SwitchingFunction3PhaseMaterial, a switching function
# used in a 3-phase phase-field model to prevent formation of the third phase
# at the interface between the two other phases
# See Folch and Plapp, Phys. Rev. E, v 72, 011602 (2005) for details
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 0.1
nx = 20
ny = 2
elem_type = QUAD4
[]
[GlobalParams]
derivative_order = 0
outputs = exodus
[]
[AuxVariables]
[./eta1]
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./eta2]
[./InitialCondition]
type = FunctionIC
function = 1.0-x
[../]
[../]
[./eta3]
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
[]
[Materials]
[./h_material_1]
type = SwitchingFunction3PhaseMaterial
f_name = h_i1
eta_i = eta1
eta_j = eta2
eta_k = eta3
outputs = exodus
[../]
# Next we reverse eta2 and eta3 to make sure the switching function is symmetric
# with respect to interchanging these two, as it is designed to be
[./h_material_2]
type = SwitchingFunction3PhaseMaterial
f_name = h_i2
eta_i = eta1
eta_j = eta3
eta_k = eta2
outputs = exodus
[../]
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
execute_on = 'TIMESTEP_END'
exodus = true
[]
python/chigger/tests/input/block_vars.i
[Mesh]
type = MeshGeneratorMesh
[]
[MeshGenerators]
[generator]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[subdomain1]
type = SubdomainBoundingBoxGenerator
input = generator
bottom_left = '0.5 0 0'
top_right = '1 1 0'
block_id = 1
[]
[]
[Variables]
[right_elemental]
block = 1
family = MONOMIAL
order = CONSTANT
[]
[right_nodal]
block = 1
[]
[]
[ICs]
[right_elemental]
type = FunctionIC
variable = right_elemental
function = 2*y
[]
[right_nodal]
type = FunctionIC
variable = right_nodal
function = 3*y
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/numerical_diffusion/no_action.i
# Using upwinded and mass-lumped PorousFlow Kernels
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = tracer
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = porepressure
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-1
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/misc/check_error/wrong_displacement_order.i
[Mesh]
type = GeneratedMesh
dim = 2
# Mesh uses second-order elements
elem_type = QUAD8
displacements = 'disp_x disp_y'
block_name = pore
block_id = 0
[]
[Variables]
[./temperature]
order = SECOND
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
[]
# We are *not* allowed to use FIRST-order displacement vars!
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[./InitialCondition]
type = FunctionIC
function = displ
[../]
[../]
[]
[Functions]
[./displ]
type = ParsedFunction
value = -1/2*x*(y-0.5)
[../]
[]
[Kernels]
[./diffusion]
type = Diffusion
variable = temperature
use_displaced_mesh = true
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = temperature
boundary = left
value = 1
use_displaced_mesh = true
[../]
[./right]
type = DirichletBC
variable = temperature
boundary = right
value = 0
use_displaced_mesh = true
[../]
[]
[Preconditioning]
[./SMP_PJFNK]
type = SMP
full = true
solve_type = PJFNK
[../]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = none
nl_rel_tol = 1e-6
nl_max_its = 10
l_tol = 1e-8
l_max_its = 50
num_steps = 2 # 200
nl_abs_tol = 1e-10
nl_rel_step_tol = 1e-10
nl_abs_step_tol = 1e-10
[./TimeStepper]
type = ConstantDT
dt = 0.001
[../]
dtmin = .001
[]
[Outputs]
exodus = true
[]
modules/porous_flow/examples/tutorial/06.i
# Darcy flow with a tracer
[Mesh]
[annular]
type = AnnularMeshGenerator
nr = 10
rmin = 1.0
rmax = 10
growth_r = 1.4
nt = 4
dmin = 0
dmax = 90
[]
[./make3D]
type = MeshExtruderGenerator
extrusion_vector = '0 0 12'
num_layers = 3
bottom_sideset = 'bottom'
top_sideset = 'top'
input = annular
[../]
[./shift_down]
type = TransformGenerator
transform = TRANSLATE
vector_value = '0 0 -6'
input = make3D
[../]
[./aquifer]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 -2'
top_right = '10 10 2'
input = shift_down
[../]
[./injection_area]
type = ParsedGenerateSideset
combinatorial_geometry = 'x*x+y*y<1.01'
included_subdomain_ids = 1
new_sideset_name = 'injection_area'
input = 'aquifer'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caps aquifer'
input = 'injection_area'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./porepressure]
[../]
[./tracer_concentration]
[../]
[]
[ICs]
[./tracer_concentration]
type = FunctionIC
function = '0.5*if(x*x+y*y<1.01,1,0)'
variable = tracer_concentration
[../]
[]
[PorousFlowFullySaturated]
porepressure = porepressure
coupling_type = Hydro
gravity = '0 0 0'
fp = the_simple_fluid
mass_fraction_vars = tracer_concentration
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1E6
boundary = injection_area
[../]
[./constant_outer_porepressure]
type = DirichletBC
variable = porepressure
value = 0
boundary = rmax
[../]
[./injected_tracer]
type = DirichletBC
variable = tracer_concentration
value = 0.5
boundary = injection_area
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
viscosity = 1.0E-3
density0 = 1000.0
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability_aquifer]
type = PorousFlowPermeabilityConst
block = aquifer
permeability = '1E-14 0 0 0 1E-14 0 0 0 1E-14'
[../]
[./permeability_caps]
type = PorousFlowPermeabilityConst
block = caps
permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-16'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1E6
dt = 1E5
nl_rel_tol = 1E-14
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/buckley_leverett/bl20.i
# two-phase version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 30
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.1 0.5 0.5 1 2 4'
x = '0 0.1 1 5 40 42'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[./bounds_dummy]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[./richardsppenalty]
type = RichardsPPenalty
variable = pgas
a = 1E-18
lower_var = pwater
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[Bounds]
[./pwater_bounds]
type = BoundsAux
variable = bounds_dummy
bounded_variable = pwater
upper = 1E7
lower = -310000
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1E6
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -300000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-300000*(max(x-5,0)/max(abs(x-5),1E-10))
[../]
[./initial_gas]
type = ParsedFunction
value = max(1000000*(1-x/5),0)+1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type -ksp_rtol -ksp_atol'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 50 vinewtonssls 1E-20 1E-20'
[../]
[./standard]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'gmres asm lu NONZERO 1E-10 1E-10 20 1E-20 1E-20'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bl20
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
hide = pgas
[]
modules/porous_flow/test/tests/mass_conservation/mass09.i
# Checking that the mass postprocessor throws the correct error when more than a single
# phase index is given when using the saturation_threshold parameter
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./sat]
[../]
[]
[AuxVariables]
[./massfrac_ph0_sp0]
initial_condition = 1
[../]
[./massfrac_ph1_sp0]
initial_condition = 0
[../]
[]
[ICs]
[./pinit]
type = ConstantIC
value = 1
variable = pp
[../]
[./satinit]
type = FunctionIC
function = 1-x
variable = sat
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = sat
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp sat'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 0.1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = pp
phase1_saturation = sat
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./comp1_total_mass]
type = PorousFlowFluidMass
fluid_component = 1
saturation_threshold = 0.5
phase = '0 1'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
modules/level_set/examples/rotating_circle/circle_rotate_supg.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 32
ny = 32
uniform_refine = 2
[]
[AuxVariables]
[./vel_x]
[../]
[./vel_y]
[../]
[]
[AuxKernels]
[./vel_x]
type = FunctionAux
function = 4*y
variable = vel_x
execute_on = initial
[../]
[./vel_y]
type = FunctionAux
function = -4*x
variable = vel_y
execute_on = initial
[../]
[]
[Variables]
[./phi]
[../]
[]
[Functions]
[./phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.03
center = '0 0.5 0'
radius = 0.15
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[./advection_supg]
type = LevelSetAdvectionSUPG
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[./time_supg]
type = LevelSetTimeDerivativeSUPG
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[]
[Postprocessors]
[./area]
type = LevelSetVolume
threshold = 0.5
variable = phi
location = outside
execute_on = 'initial timestep_end'
[../]
[./cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 1.570796
scheme = crank-nicolson
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 0.8
[../]
[]
[Outputs]
csv = true
exodus = true
[]
modules/tensor_mechanics/test/tests/auxkernels/tensorelasticenergyaux.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
nz = 0
xmax = 3
ymax = 2
zmax = 0
elem_type = QUAD4
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./dummy]
[../]
[]
[AuxVariables]
[./disp_x]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = sin(x)*0.1
[../]
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = cos(y)*0.05
[../]
[../]
[./E]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./elastic_energy]
type = ElasticEnergyAux
variable = E
[../]
[]
[Materials]
[./elasticity]
type = ComputeElasticityTensor
fill_method = symmetric9
C_ijkl = '1 2 4 3 2 5 1 3 1'
[../]
[./strain]
type = ComputeSmallStrain
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Problem]
kernel_coverage_check = false
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/sinks/s09_fully_saturated.i
# Apply a piecewise-linear sink flux to the right-hand side and watch fluid flow to it
#
# This test has a single phase with two components. The test initialises with
# the porous material fully filled with component=1. The left-hand side is fixed
# at porepressure=1 and mass-fraction of the zeroth component being unity.
# The right-hand side has a very strong piecewise-linear flux that keeps the
# porepressure~0 at that side. Fluid mass is extracted by this flux in proportion
# to the fluid component mass fraction.
#
# Therefore, the zeroth fluid component will flow from left to right (down the
# pressure gradient).
#
# The important DE is
# porosity * dc/dt = (perm / visc) * grad(P) * grad(c)
# which is true for c = mass-fraction, and very large bulk modulus of the fluid.
# For grad(P) constant in time and space (as in this example) this is just the
# advection equation for c, with velocity = perm / visc / porosity. The parameters
# are chosen to velocity = 1 m/s.
# In the numerical world, and especially with full upwinding, the advection equation
# suffers from diffusion. In this example, the diffusion is obvious when plotting
# the mass-fraction along the line, but the average velocity of the front is still
# correct at 1 m/s.
# This test uses the FullySaturated version of the flow Kernel. This does not
# suffer from as much numerical diffusion as the standard PorousFlow Kernel since
# it does not employ any upwinding.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp frac'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[./frac]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = 1-x
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = pp
[../]
[./flux0]
type = PorousFlowFullySaturatedDarcyFlow
fluid_component = 0
gravity = '0 0 0'
variable = frac
[../]
[./flux1]
type = PorousFlowFullySaturatedDarcyFlow
fluid_component = 1
gravity = '0 0 0'
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e10 # need large in order for constant-velocity advection
density0 = 1 # almost irrelevant, except that the ability of the right BC to keep P fixed at zero is related to density_P0
thermal_expansion = 0
viscosity = 11
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = frac
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 1.1 0 0 0 1.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2 # irrelevant in this fully-saturated situation
phase = 0
[../]
[]
[BCs]
[./lhs_fixed_a]
type = DirichletBC
boundary = 'left'
variable = frac
value = 1
[../]
[./lhs_fixed_b]
type = DirichletBC
boundary = 'left'
variable = pp
value = 1
[../]
[./flux0]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = frac # the zeroth comonent
mass_fraction_component = 0
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[./flux1]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = pp # comonent 1
mass_fraction_component = 1
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-2
end_time = 1
nl_rel_tol = 1E-11
nl_abs_tol = 1E-11
[]
[VectorPostprocessors]
[./mf]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 100
sort_by = x
variable = frac
[../]
[]
[Outputs]
file_base = s09_fully_saturated
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
sync_times = '0.1 0.5 1'
sync_only = true
[../]
interval = 10
[]
modules/richards/test/tests/user_objects/uo1.i
# Relative-permeability User objects give the correct value
# (note that here p is x, where x runs between 0.01 and 0.99
# and that seff is p in the aux vars)
#
# If you want to add another test for another UserObject
# then add the UserObject, add a Function defining the expected result,
# add an AuxVariable and AuxKernel that will record the UserObjects value
# and finally add a NodalL2Error that compares this with the Function.
[UserObjects]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermPower5]
type = RichardsRelPermPower
simm = 0.0
n = 5
[../]
[./RelPermVG]
type = RichardsRelPermVG
simm = 0.0
m = 0.8
[../]
[./RelPermVG1]
type = RichardsRelPermVG1
simm = 0.0
m = 0.8
scut = 1E-6 # then we get a cubic
[../]
[./RelPermBW]
type = RichardsRelPermBW
Sn = 0.05
Ss = 0.95
Kn = 0.0
Ks = 1.0
C = 1.5
[../]
[./RelPermMonomial]
type = RichardsRelPermMonomial
simm = 0.0
n = 3
[../]
[./RelPermPowerGas]
type = RichardsRelPermPowerGas
simm = 0.0
n = 5
[../]
[./Q2PRelPermPowerGas]
type = Q2PRelPermPowerGas
simm = 0.0
n = 5
[../]
[./RelPermMonomial_zero]
type = RichardsRelPermMonomial
simm = 0.1
n = 0
zero_to_the_zero = 0
[../]
# following are unimportant in this test
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-6
[../]
[./RelPermPower_unimportant]
type = RichardsRelPermPower
simm = 0.10101
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.054321
sum_s_res = 0.054321
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E5
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = x
[../]
[./answer_RelPermPower]
type = ParsedFunction
value = ((n+1)*(x^n))-(n*(x^(n+1)))
vars = 'n'
vals = '2'
[../]
[./answer_dRelPermPower]
type = GradParsedFunction
direction = '1E-4 0 0'
value = ((n+1)*(x^n))-(n*(x^(n+1)))
vars = 'n'
vals = '2'
[../]
[./answer_d2RelPermPower]
type = Grad2ParsedFunction
direction = '1E-3 0 0'
value = ((n+1)*(x^n))-(n*(x^(n+1)))
vars = 'n'
vals = '2'
[../]
[./answer_RelPermPower5]
type = ParsedFunction
value = ((n+1)*(x^n))-(n*(x^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_dRelPermPower5]
type = GradParsedFunction
direction = '1E-4 0 0'
value = ((n+1)*(x^n))-(n*(x^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_d2RelPermPower5]
type = Grad2ParsedFunction
direction = '1E-5 0 0'
value = ((n+1)*(x^n))-(n*(x^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_RelPermVG]
type = ParsedFunction
value = (x^(0.5))*(1-(1-(x^(1.0/m)))^m)^2
vars = 'm'
vals = '0.8'
[../]
[./answer_dRelPermVG]
type = GradParsedFunction
direction = '1E-4 0 0'
value = (x^(0.5))*(1-(1-(x^(1.0/m)))^m)^2
vars = 'm'
vals = '0.8'
[../]
[./answer_d2RelPermVG]
type = Grad2ParsedFunction
direction = '1E-5 0 0'
value = (x^(0.5))*(1-(1-(x^(1.0/m)))^m)^2
vars = 'm'
vals = '0.8'
[../]
[./answer_RelPermVG1]
type = ParsedFunction
value = x^3
[../]
[./answer_dRelPermVG1]
type = GradParsedFunction
direction = '1E-4 0 0'
value = x^3
[../]
[./answer_d2RelPermVG1]
type = Grad2ParsedFunction
direction = '1E-5 0 0'
value = x^3
[../]
[./answer_RelPermBW]
type = ParsedFunction
value = if(x>ss,1,if(x<sn,0,kn+(((x-sn)/(ss-sn))^2)*(c-1)*(ks-kn)/(c-((x-sn)/(ss-sn)))))
vars = 'kn ks c sn ss'
vals = '0 1 1.5 0.05 0.95'
[../]
[./answer_dRelPermBW]
type = GradParsedFunction
direction = '1E-4 0 0'
value = if(x>ss,1,if(x<sn,0,kn+(((x-sn)/(ss-sn))^2)*(c-1)*(ks-kn)/(c-((x-sn)/(ss-sn)))))
vars = 'kn ks c sn ss'
vals = '0 1 1.5 0.05 0.95'
[../]
[./answer_d2RelPermBW]
type = Grad2ParsedFunction
direction = '1E-5 0 0'
value = if(x>ss,1,if(x<sn,0,kn+(((x-sn)/(ss-sn))^2)*(c-1)*(ks-kn)/(c-((x-sn)/(ss-sn)))))
vars = 'kn ks c sn ss'
vals = '0 1 1.5 0.05 0.95'
[../]
[./answer_RelPermMonomial]
type = ParsedFunction
value = x^n
vars = 'n'
vals = '3'
[../]
[./answer_dRelPermMonomial]
type = GradParsedFunction
direction = '1E-4 0 0'
value = x^n
vars = 'n'
vals = '3'
[../]
[./answer_d2RelPermMonomial]
type = Grad2ParsedFunction
direction = '1E-3 0 0'
value = x^n
vars = 'n'
vals = '3'
[../]
[./answer_RelPermMonomial_zero]
type = ParsedFunction
value = if(x>simm,1,0)
vars = 'simm'
vals = '0.1'
[../]
[./answer_dRelPermMonomial_zero]
type = GradParsedFunction
direction = '1E-4 0 0'
value = if(x>simm,1,0)
vars = 'simm'
vals = '0.1'
[../]
[./answer_d2RelPermMonomial_zero]
type = Grad2ParsedFunction
direction = '1E-3 0 0'
value = if(x>simm,1,0)
vars = 'simm'
vals = '0.1'
[../]
[./answer_RelPermPowerGas]
type = ParsedFunction
value = 1-((n+1)*((1-x)^n))+(n*((1-x)^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_dRelPermPowerGas]
type = GradParsedFunction
direction = '1E-4 0 0'
value = 1-((n+1)*((1-x)^n))+(n*((1-x)^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_d2RelPermPowerGas]
type = Grad2ParsedFunction
direction = '1E-5 0 0'
value = 1-((n+1)*((1-x)^n))+(n*((1-x)^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_Q2PRelPermPowerGas]
type = ParsedFunction
value = 1-((n+1)*(x^n))+(n*(x^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_dQ2PRelPermPowerGas]
type = GradParsedFunction
direction = '1E-4 0 0'
value = 1-((n+1)*(x^n))+(n*(x^(n+1)))
vars = 'n'
vals = '5'
[../]
[./answer_d2Q2PRelPermPowerGas]
type = Grad2ParsedFunction
direction = '1E-5 0 0'
value = 1-((n+1)*(x^n))+(n*(x^(n+1)))
vars = 'n'
vals = '5'
[../]
[]
[AuxVariables]
[./RelPermPower_Aux]
[../]
[./dRelPermPower_Aux]
[../]
[./d2RelPermPower_Aux]
[../]
[./RelPermPower5_Aux]
[../]
[./dRelPermPower5_Aux]
[../]
[./d2RelPermPower5_Aux]
[../]
[./RelPermVG_Aux]
[../]
[./dRelPermVG_Aux]
[../]
[./d2RelPermVG_Aux]
[../]
[./RelPermVG1_Aux]
[../]
[./dRelPermVG1_Aux]
[../]
[./d2RelPermVG1_Aux]
[../]
[./RelPermBW_Aux]
[../]
[./dRelPermBW_Aux]
[../]
[./d2RelPermBW_Aux]
[../]
[./RelPermMonomial_Aux]
[../]
[./dRelPermMonomial_Aux]
[../]
[./d2RelPermMonomial_Aux]
[../]
[./RelPermPowerGas_Aux]
[../]
[./dRelPermPowerGas_Aux]
[../]
[./d2RelPermPowerGas_Aux]
[../]
[./Q2PRelPermPowerGas_Aux]
[../]
[./dQ2PRelPermPowerGas_Aux]
[../]
[./d2Q2PRelPermPowerGas_Aux]
[../]
[./RelPermMonomial_zero_Aux]
[../]
[./dRelPermMonomial_zero_Aux]
[../]
[./d2RelPermMonomial_zero_Aux]
[../]
[./check_Aux]
[../]
[]
[AuxKernels]
[./RelPermPower_AuxK]
type = RichardsRelPermAux
variable = RelPermPower_Aux
relperm_UO = RelPermPower
seff_var = pressure
[../]
[./dRelPermPower_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermPower_Aux
relperm_UO = RelPermPower
seff_var = pressure
[../]
[./d2RelPermPower_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermPower_Aux
relperm_UO = RelPermPower
seff_var = pressure
[../]
[./RelPermPower5_AuxK]
type = RichardsRelPermAux
variable = RelPermPower5_Aux
relperm_UO = RelPermPower5
seff_var = pressure
[../]
[./dRelPermPower5_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermPower5_Aux
relperm_UO = RelPermPower5
seff_var = pressure
[../]
[./d2RelPermPower5_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermPower5_Aux
relperm_UO = RelPermPower5
seff_var = pressure
[../]
[./RelPermVG_AuxK]
type = RichardsRelPermAux
variable = RelPermVG_Aux
relperm_UO = RelPermVG
seff_var = pressure
[../]
[./dRelPermVG_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermVG_Aux
relperm_UO = RelPermVG
seff_var = pressure
[../]
[./d2RelPermVG_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermVG_Aux
relperm_UO = RelPermVG
seff_var = pressure
[../]
[./RelPermVG1_AuxK]
type = RichardsRelPermAux
variable = RelPermVG1_Aux
relperm_UO = RelPermVG1
seff_var = pressure
[../]
[./dRelPermVG1_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermVG1_Aux
relperm_UO = RelPermVG1
seff_var = pressure
[../]
[./d2RelPermVG1_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermVG1_Aux
relperm_UO = RelPermVG1
seff_var = pressure
[../]
[./RelPermBW_AuxK]
type = RichardsRelPermAux
variable = RelPermBW_Aux
relperm_UO = RelPermBW
seff_var = pressure
[../]
[./dRelPermBW_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermBW_Aux
relperm_UO = RelPermBW
seff_var = pressure
[../]
[./d2RelPermBW_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermBW_Aux
relperm_UO = RelPermBW
seff_var = pressure
[../]
[./RelPermMonomial_AuxK]
type = RichardsRelPermAux
variable = RelPermMonomial_Aux
relperm_UO = RelPermMonomial
seff_var = pressure
[../]
[./dRelPermMonomial_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermMonomial_Aux
relperm_UO = RelPermMonomial
seff_var = pressure
[../]
[./d2RelPermMonomial_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermMonomial_Aux
relperm_UO = RelPermMonomial
seff_var = pressure
[../]
[./RelPermPowerGas_AuxK]
type = RichardsRelPermAux
variable = RelPermPowerGas_Aux
relperm_UO = RelPermPowerGas
seff_var = pressure
[../]
[./dRelPermPowerGas_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermPowerGas_Aux
relperm_UO = RelPermPowerGas
seff_var = pressure
[../]
[./d2RelPermPowerGas_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermPowerGas_Aux
relperm_UO = RelPermPowerGas
seff_var = pressure
[../]
[./Q2PRelPermPowerGas_AuxK]
type = RichardsRelPermAux
variable = Q2PRelPermPowerGas_Aux
relperm_UO = Q2PRelPermPowerGas
seff_var = pressure
[../]
[./dQ2PRelPermPowerGas_AuxK]
type = RichardsRelPermPrimeAux
variable = dQ2PRelPermPowerGas_Aux
relperm_UO = Q2PRelPermPowerGas
seff_var = pressure
[../]
[./d2Q2PRelPermPowerGas_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2Q2PRelPermPowerGas_Aux
relperm_UO = Q2PRelPermPowerGas
seff_var = pressure
[../]
[./RelPermMonomial_zero_AuxK]
type = RichardsRelPermAux
variable = RelPermMonomial_zero_Aux
relperm_UO = RelPermMonomial_zero
seff_var = pressure
[../]
[./dRelPermMonomial_zero_AuxK]
type = RichardsRelPermPrimeAux
variable = dRelPermMonomial_zero_Aux
relperm_UO = RelPermMonomial_zero
seff_var = pressure
[../]
[./d2RelPermMonomial_zero_AuxK]
type = RichardsRelPermPrimePrimeAux
variable = d2RelPermMonomial_zero_Aux
relperm_UO = RelPermMonomial_zero
seff_var = pressure
[../]
[./check_AuxK]
type = FunctionAux
variable = check_Aux
function = answer_RelPermBW
[../]
[]
[Postprocessors]
[./cf_RelPermPower]
type = NodalL2Error
function = answer_RelPermPower
variable = RelPermPower_Aux
[../]
[./cf_dRelPermPower]
type = NodalL2Error
function = answer_dRelPermPower
variable = dRelPermPower_Aux
[../]
[./cf_d2RelPermPower]
type = NodalL2Error
function = answer_d2RelPermPower
variable = d2RelPermPower_Aux
[../]
[./cf_RelPermPower5]
type = NodalL2Error
function = answer_RelPermPower5
variable = RelPermPower5_Aux
[../]
[./cf_dRelPermPower5]
type = NodalL2Error
function = answer_dRelPermPower5
variable = dRelPermPower5_Aux
[../]
[./cf_d2RelPermPower5]
type = NodalL2Error
function = answer_d2RelPermPower5
variable = d2RelPermPower5_Aux
[../]
[./cf_RelPermVG]
type = NodalL2Error
function = answer_RelPermVG
variable = RelPermVG_Aux
[../]
[./cf_dRelPermVG]
type = NodalL2Error
function = answer_dRelPermVG
variable = dRelPermVG_Aux
[../]
[./cf_d2RelPermVG]
type = NodalL2Error
function = answer_d2RelPermVG
variable = d2RelPermVG_Aux
[../]
[./cf_RelPermVG1]
type = NodalL2Error
function = answer_RelPermVG1
variable = RelPermVG1_Aux
[../]
[./cf_dRelPermVG1]
type = NodalL2Error
function = answer_dRelPermVG1
variable = dRelPermVG1_Aux
[../]
[./cf_d2RelPermVG1]
type = NodalL2Error
function = answer_d2RelPermVG1
variable = d2RelPermVG1_Aux
[../]
[./cf_RelPermBW]
type = NodalL2Error
function = answer_RelPermBW
variable = RelPermBW_Aux
[../]
[./cf_dRelPermBW]
type = NodalL2Error
function = answer_dRelPermBW
variable = dRelPermBW_Aux
[../]
[./cf_d2RelPermBW]
type = NodalL2Error
function = answer_d2RelPermBW
variable = d2RelPermBW_Aux
[../]
[./cf_RelPermMonomial]
type = NodalL2Error
function = answer_RelPermMonomial
variable = RelPermMonomial_Aux
[../]
[./cf_dRelPermMonomial]
type = NodalL2Error
function = answer_dRelPermMonomial
variable = dRelPermMonomial_Aux
[../]
[./cf_d2RelPermMonomial]
type = NodalL2Error
function = answer_d2RelPermMonomial
variable = d2RelPermMonomial_Aux
[../]
[./cf_RelPermPowerGas]
type = NodalL2Error
function = answer_RelPermPowerGas
variable = RelPermPowerGas_Aux
[../]
[./cf_dRelPermPowerGas]
type = NodalL2Error
function = answer_dRelPermPowerGas
variable = dRelPermPowerGas_Aux
[../]
[./cf_d2RelPermPowerGas]
type = NodalL2Error
function = answer_d2RelPermPowerGas
variable = d2RelPermPowerGas_Aux
[../]
[./cf_Q2PRelPermPowerGas]
type = NodalL2Error
function = answer_Q2PRelPermPowerGas
variable = Q2PRelPermPowerGas_Aux
[../]
[./cf_dQ2PRelPermPowerGas]
type = NodalL2Error
function = answer_dQ2PRelPermPowerGas
variable = dQ2PRelPermPowerGas_Aux
[../]
[./cf_d2Q2PRelPermPowerGas]
type = NodalL2Error
function = answer_d2Q2PRelPermPowerGas
variable = d2Q2PRelPermPowerGas_Aux
[../]
[./cf_RelPermMonomial_zero]
type = NodalL2Error
function = answer_RelPermMonomial_zero
variable = RelPermMonomial_zero_Aux
[../]
[./cf_dRelPermMonomial_zero]
type = NodalL2Error
function = answer_dRelPermMonomial_zero
variable = dRelPermMonomial_zero_Aux
[../]
[./cf_d2RelPermMonomial_zero]
type = NodalL2Error
function = answer_d2RelPermMonomial_zero
variable = d2RelPermMonomial_zero_Aux
[../]
[]
#############################################################################
#
# Following is largely unimportant as we are not running an actual similation
#
#############################################################################
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0.01
xmax = 0.99
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
richardsVarNames_UO = PPNames
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
richardsVarNames_UO = PPNames
variable = pressure
[../]
[]
[Materials]
[./unimportant_material]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-20 0 0 0 1E-20 0 0 0 1E-20'
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower_unimportant
sat_UO = Saturation
seff_UO = SeffVG
SUPG_UO = SUPGstandard
viscosity = 1E-3
gravity = '0 0 -10'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./does_nothing]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E50 1E50 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 1
dt = 1E-100
[]
[Outputs]
execute_on = 'timestep_end'
active = 'csv'
file_base = uo1
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
hide = pressure
[../]
[]
modules/porous_flow/test/tests/heat_advection/heat_advection_1d_fully_saturated_action.i
# 1phase, heat advecting with a moving fluid
# Using the PorousFlowFullySaturated Action with KT stabilization
# This should produce an identical result to heat_advection_1D_KT
[Mesh]
type = GeneratedMesh
dim = 1
nx = 50
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./temp]
initial_condition = 200
[../]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = '1-x'
[../]
[]
[BCs]
[./pp0]
type = DirichletBC
variable = pp
boundary = left
value = 1
[../]
[./pp1]
type = DirichletBC
variable = pp
boundary = right
value = 0
[../]
[./spit_heat]
type = DirichletBC
variable = temp
boundary = left
value = 300
[../]
[./suck_heat]
type = DirichletBC
variable = temp
boundary = right
value = 200
[../]
[]
[PorousFlowFullySaturated]
porepressure = pp
temperature = temp
coupling_type = ThermoHydro
fp = simple_fluid
add_darcy_aux = false
stabilization = KT
flux_limiter_type = superbee
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 100
density0 = 1000
viscosity = 4.4
thermal_expansion = 0
cv = 2
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./zero_thermal_conductivity]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '0 0 0 0 0 0 0 0 0'
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1.0
density = 125
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 2 0 0 0 3'
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 0.01
end_time = 0.6
[]
[VectorPostprocessors]
[./T]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 51
sort_by = x
variable = temp
[../]
[]
[Outputs]
file_base = heat_advection_1d_fully_saturation_action
[./csv]
type = CSV
sync_times = '0.1 0.6'
sync_only = true
[../]
[]
test/tests/kernels/conservative_advection/no_upwinding_2D.i
# 2D test of advection with no upwinding
# Note there are overshoots or undershoots
# but numerical diffusion is minimized.
# The center of the blob advects with the correct velocity
[Mesh]
type = GeneratedMesh
dim = 2
nx = 40
ny = 40
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u_blob]
type = FunctionIC
variable = u
function = 'if(x<0.2,if(y<0.2,1,0),0)'
[../]
[]
[Kernels]
[./udot]
type = TimeDerivative
variable = u
[../]
[./advection]
type = ConservativeAdvection
variable = u
velocity = '2 1 0'
[../]
[]
[Executioner]
type = Transient
solve_type = LINEAR
dt = 0.01
end_time = 0.1
l_tol = 1E-14
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/misc/interface_grad.i
#
# Test a gradient continuity interfacekernel
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./box1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
input = gen
[../]
[./box2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
input = box1
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[./iface_v]
type = SideSetsBetweenSubdomainsGenerator
master_block = 2
paired_block = 1
new_boundary = 11
input = iface_u
[../]
[]
[Variables]
[./u]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v]
block = 2
initial_condition = 0.8
[../]
[]
[Kernels]
[./u_diff]
type = Diffusion
variable = u
block = 1
[../]
[./u_dt]
type = TimeDerivative
variable = u
block = 1
[../]
[./v_diff]
type = Diffusion
variable = v
block = 2
[../]
[./v_dt]
type = TimeDerivative
variable = v
block = 2
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionFluxMatch
variable = u
boundary = 10
neighbor_var = v
[../]
[]
[BCs]
[./u_boundary_term]
type = DiffusionFluxBC
variable = u
boundary = 10
[../]
[./v_boundary_term]
type = DiffusionFluxBC
variable = v
boundary = 11
[../]
[]
[Executioner]
type = Transient
dt = 0.002
num_steps = 10
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
test/tests/misc/check_error/missing_function_test.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = missing_function #should generate error
[../]
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/time_steppers/timesequence_stepper/timesequence_restart_failure.i
[Mesh]
file = timesequence_restart_failure1_cp/0002_mesh.cpr
[]
[Problem]
restart_file_base = timesequence_restart_failure1_cp/0002
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
end_time = 4.0
[./TimeStepper]
type = TimeSequenceStepper
time_sequence = '0 0.85 1.2 1.3 2 4'
[../]
[]
[Outputs]
exodus = true
[]
test/tests/kernels/ad_coupled_value/ad_aux_coupled_value.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[v]
initial_condition = 2
[]
[exact]
[]
[]
[ICs]
[exact]
type = FunctionIC
function = 'x*(2-x)'
variable = exact
[]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./ad_coupled_value]
type = ADCoupledValueTest
variable = u
v = v
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'Newton'
[]
[Outputs]
exodus = true
[]
test/tests/functions/solution_function/solution_function_rot3.i
# checking rotation of points by 90 deg about z axis, then 45 deg about x axis in a SolutionUserObject
[Mesh]
# this is chosen so when i rotate through 45deg i get a length of "1" along the x or y or z direction
type = GeneratedMesh
dim = 3
xmin = -0.70710678
xmax = 0.70710678
nx = 3
ymin = -0.70710678
ymax = 0.70710678
ny = 3
zmin = -0.70710678
zmax = 0.70710678
nz = 3
[]
[UserObjects]
[./solution_uo]
type = SolutionUserObject
mesh = cube_with_u_equals_x.e
timestep = 1
system_variables = u
# the following takes:
# (0.7, 0.7, +/-0.7) -> (-0.7, 0.7, +/-0.7)
# (-0.7, 0.7, +/-0.7) -> (-0.7, -0.7, +/-0.7)
# (0.7, -0.7, +/-0.7) -> (0.7, 0.7, +/-0.7)
# (-0.7, -0.7, +/-0.7) -> (0.7, -0.7, +/-0.7)
rotation0_vector = '0 0 1'
rotation0_angle = 90
# then the following takes:
# (+/-0.7, 0.7, 0.7) -> (+/-0.7, 0, 1)
# (+/-0.7, 0.7, -0.7) -> (+/-0.7, 1, 0)
# (+/-0.7, -0.7, 0.7) -> (+/-0.7, -1, 0)
# (+/-0.7, -0.7, -0.7) -> (+/-0.7, 0, -1)
rotation1_vector = '1 0 0'
rotation1_angle = 45
# so, in total: a point y = +/-0.7 takes values from x = -/+0.7, so solution_function_rot3 should have u = -y
transformation_order = 'rotation0 rotation1'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = solution_fcn
[../]
[]
[Functions]
[./solution_fcn]
type = SolutionFunction
from_variable = u
solution = solution_uo
[../]
[]
[Kernels]
[./diff]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
l_max_its = 800
nl_rel_tol = 1e-10
num_steps = 1
end_time = 1
dt = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = solution_function_rot3
exodus = true
[]
modules/porous_flow/test/tests/poroperm/poro_thm.i
# Test that porosity is correctly calculated.
# Porosity = biot + (phi0 - biot) * exp(-vol_strain + (biot - 1) / solid_bulk * (porepressure - ref_pressure) + thermal_exp_coeff * (temperature - ref_temperature))
# The parameters used are:
# biot = 0.7
# phi0 = 0.5
# vol_strain = 0.5
# solid_bulk = 0.3
# porepressure = 2
# ref_pressure = 3
# thermal_exp_coeff = 0.5
# temperature = 4
# ref_temperature = 3.5
# which yield porosity = 0.276599996677
[Mesh]
type = GeneratedMesh
dim = 3
[]
[GlobalParams]
PorousFlowDictator = dictator
displacements = 'disp_x disp_y disp_z'
biot_coefficient = 0.7
[]
[Variables]
[./porepressure]
initial_condition = 2
[../]
[./temperature]
initial_condition = 4
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[ICs]
[./disp_x]
type = FunctionIC
function = '0.5 * x'
variable = disp_x
[../]
[]
[Kernels]
[./dummy_p]
type = TimeDerivative
variable = porepressure
[../]
[./dummy_t]
type = TimeDerivative
variable = temperature
[../]
[./dummy_x]
type = TimeDerivative
variable = disp_x
[../]
[./dummy_y]
type = TimeDerivative
variable = disp_y
[../]
[./dummy_z]
type = TimeDerivative
variable = disp_z
[../]
[]
[AuxVariables]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
[../]
[]
[Postprocessors]
[./porosity]
type = PointValue
variable = porosity
point = '0 0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure temperature'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./eff_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./vol_strain]
type = PorousFlowVolumetricStrain
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./porosity]
type = PorousFlowPorosity
mechanical = true
fluid = true
thermal = true
ensure_positive = false
porosity_zero = 0.5
solid_bulk = 0.3
thermal_expansion_coeff = 0.5
reference_porepressure = 3
reference_temperature = 3.5
[../]
[]
[Executioner]
solve_type = Newton
type = Transient
num_steps = 1
[]
[Outputs]
csv = true
[]
modules/porous_flow/test/tests/heat_advection/heat_advection_1d_fully_saturated.i
# 1phase, heat advecting with a moving fluid
# Using the FullySaturated Kernel
[Mesh]
type = GeneratedMesh
dim = 1
nx = 50
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./temp]
initial_condition = 200
[../]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = '1-x'
[../]
[]
[BCs]
[./pp0]
type = DirichletBC
variable = pp
boundary = left
value = 1
[../]
[./pp1]
type = DirichletBC
variable = pp
boundary = right
value = 0
[../]
[./spit_heat]
type = DirichletBC
variable = temp
boundary = left
value = 300
[../]
[./suck_heat]
type = DirichletBC
variable = temp
boundary = right
value = 200
[../]
[]
[Kernels]
[./mass_dot]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./advection]
type = PorousFlowFullySaturatedDarcyBase
variable = pp
[../]
[./energy_dot]
type = PorousFlowEnergyTimeDerivative
variable = temp
[../]
[./convection]
type = PorousFlowFullySaturatedHeatAdvection
variable = temp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 100
density0 = 1000
viscosity = 4.4
thermal_expansion = 0
cv = 2
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1.0
density = 125
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 2 0 0 0 3'
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./PS]
type = PorousFlow1PhaseFullySaturated
porepressure = pp
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'gmres bjacobi 1E-15 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 0.01
end_time = 0.6
[]
[VectorPostprocessors]
[./T]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 51
sort_by = x
variable = temp
[../]
[]
[Outputs]
file_base = heat_advection_1d_fully_saturated
[./csv]
type = CSV
sync_times = '0.1 0.6'
sync_only = true
[../]
[]
test/tests/kernels/material_derivatives/material_derivatives_test.i
###########################################################
# This is a test of the material derivatives test kernel.
###########################################################
[Mesh]
type = GeneratedMesh
dim = 1
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[./v]
order = FIRST
family = LAGRANGE
[../]
[]
[Functions]
[./u_IC_fn]
type = ParsedFunction
value = 'x'
[../]
[./v_IC_fn]
type = ParsedFunction
value = 'sin(x)'
[../]
[]
[ICs]
[./u_IC]
type = FunctionIC
variable = u
function = u_IC_fn
[../]
[./v_IC]
type = FunctionIC
variable = v
function = v_IC_fn
[../]
[]
[Kernels]
[./test_kernel]
type = MaterialDerivativeTestKernel
variable = u
args = 'u v'
material_property = material_derivative_test_property
[../]
# add a dummy kernel for v to prevent singular Jacobian
[./dummy_kernel]
type = Diffusion
variable = v
[../]
[]
[Materials]
[./material_derivative_test_material]
type = MaterialDerivativeTestMaterial
var1 = u
var2 = v
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
solve_type = newton
petsc_options_iname = '-snes_type -snes_test_err'
petsc_options_value = 'test 1e-10'
[../]
[]
[Executioner]
type = Steady
[]
modules/richards/test/tests/dirac/bh_fu_08.i
#fullyupwind
[Mesh]
type = FileMesh
file = bh07_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1000 10000'
x = '100 1000'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[BCs]
[./fix_outer]
type = DirichletBC
boundary = perimeter
variable = pressure
value = 1E7
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFullyUpwindFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh08.bh
borehole_length = 1
borehole_direction = '0 0 1'
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
re_constant = 0.1594
character = 2
fully_upwind = true
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
execute_on = 'initial timestep_end'
[../]
[./fluid_mass]
type = RichardsMass
variable = pressure
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-11 0 0 0 1E-11 0 0 0 1E-11'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1000
solve_type = NEWTON
[./TimeStepper]
# get only marginally better results for smaller time steps
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh_fu_08
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[]
modules/richards/test/tests/excav/ex01.i
###########################################
# #
# THIS EXAMPLE CONTAINS AN EXCAVATION #
# #
###########################################
# Easiest way of figuring out what's happening:
# Run this example, load into paraview, take
# a slice through (0,0,0) with normal (0,0,1),
# colour by pressure and play the animation.
# This mesh has an interior sideset called excav_bdy
[Mesh]
type = FileMesh
file = ex01_input.e
[]
# This is a boundary condition acting on excav_bdy
# All it does is to set the pressure to p_excav=0
# at places on excav_bdy wherever excav_fcn tells it to.
[BCs]
[./excav_bdy]
type = RichardsExcav
boundary = excav_bdy
p_excav = 0.0
variable = pressure
excav_geom_function = excav_fcn
[../]
[]
[Functions]
# excav_fcn controls where to set pressure=p_excav
# You supply start and end positions and times and
# by a linear interpolation these define the position
# of the coal face at all times
[./excav_fcn]
type = RichardsExcavGeom
start_posn = '0 -500 0'
start_time = 0
end_posn = '0 -300 0'
end_time = 6E6
active_length = 1E4
[../]
# mass_bal_fcn calculates the mass balance
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-fout-mf)/2/(mi+mf))
vars = 'mi mf fout'
vals = 'mass_init mass_final flux_out'
[../]
# initial pressure - unimportant in this example
[./initial_pressure]
type = ParsedFunction
value = -10000*(z-100)
[../]
[]
# following is needed by postprocessors, kernels, etc
# unimportant in this example
[GlobalParams]
richardsVarNames_UO = PPNames
[]
# following does the calculation of relevant
# masses and mass-flux to the excavation
[Postprocessors]
# note that this is calculated at beginning of timestep
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = 'initial timestep_begin'
[../]
# note this is calculated at end of timestep
[./mass_final]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
# this is what calculates the mass flux to the excavation
# it is calculating it for boundary=excav_bdy, and the
# excavation time-dependence is set through the excav_fcn
[./flux_out]
type = RichardsExcavFlow
boundary = excav_bdy
variable = pressure
excav_geom_function = excav_fcn
[../]
# mass_bal just outputs the result to screen
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
######################################
# #
# THE FOLLOWING STUFF IS STANDARD #
# #
######################################
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E+2
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = '1 2 3 4'
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-15'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 -10'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-13 1E-14 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 6E6
dt = 3E6
solve_type = NEWTON
[]
[Outputs]
file_base = ex01
exodus = true
csv = true
[]
test/tests/functions/solution_function/solution_function_rot4.i
# checking rotation of points by 45 deg about z axis in a SolutionUserObject for a 2D situation
[Mesh]
# this is chosen so when i rotate through 45deg i get a length of "1" along the x or y direction
type = GeneratedMesh
dim = 2
xmin = -0.70710678
xmax = 0.70710678
nx = 3
ymin = -0.70710678
ymax = 0.70710678
ny = 3
[]
[UserObjects]
[./solution_uo]
type = SolutionUserObject
mesh = square_with_u_equals_x.e
timestep = 1
system_variables = u
rotation0_vector = '0 0 1'
rotation0_angle = 45
transformation_order = rotation0
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = solution_fcn
[../]
[]
[Functions]
[./solution_fcn]
type = SolutionFunction
from_variable = u
solution = solution_uo
[../]
[]
[Kernels]
[./diff]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
l_max_its = 800
nl_rel_tol = 1e-10
num_steps = 1
end_time = 1
dt = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = solution_function_rot4
exodus = true
[]
modules/richards/test/tests/gravity_head_2/gh04.i
# unsaturated = true
# gravity = true
# supg = true
# transient = false
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
xmin = 0
xmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0E2
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5E2
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.15
[../]
[./SatGas]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.15
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-3
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-3
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
# get nonconvergence if initial condition is too crazy
[./water_ic]
type = FunctionIC
function = '1-x/2'
variable = pwater
[../]
[./gas_ic]
type = FunctionIC
function = '4-x/5'
variable = pgas
[../]
[]
[Kernels]
active = 'richardsfwater richardsfgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxVariables]
[./seffgas]
[../]
[./seffwater]
[../]
[]
[AuxKernels]
[./seffgas_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffGas
variable = seffgas
[../]
[./seffwater_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffWater
variable = seffwater
[../]
[]
[Postprocessors]
[./pw_left]
type = PointValue
point = '0 0 0'
variable = pwater
outputs = none
[../]
[./pw_right]
type = PointValue
point = '1 0 0'
variable = pwater
outputs = none
[../]
[./error_water]
type = FunctionValuePostprocessor
function = fcn_error_water
[../]
[./pg_left]
type = PointValue
point = '0 0 0'
variable = pgas
outputs = none
[../]
[./pg_right]
type = PointValue
point = '1 0 0'
variable = pgas
outputs = none
[../]
[./error_gas]
type = FunctionValuePostprocessor
function = fcn_error_gas
[../]
[]
[Functions]
[./fcn_error_water]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '1E2 -1 pw_left 1 pw_right'
[../]
[./fcn_error_gas]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '0.5E2 -0.5 pg_left 1 pg_right'
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 0.5E-3'
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'gmres asm lu NONZERO 1E-10 1E-10 10000'
[../]
[]
[Executioner]
type = Steady
solve_type = Newton
[]
[Outputs]
execute_on = 'timestep_end'
file_base = gh04
csv = true
[]
test/tests/time_steppers/function_dt/function_dt_no_interpolation.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[./dts]
type = PiecewiseConstant
x = '0 4 8 12 20'
y = '0 1 2 4 8'
direction = right
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 20
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
exodus = true
[]
test/tests/functions/image_function/error/check_error.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./tif]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = tif
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/jacobian_02.i
# Checking the Jacobian of Flux-Limited TVD Advection, using flux_limiter_type = superbee
# Here we use snes_check_jacobian instead of snes_type=test. The former just checks the Jacobian for the
# random initial conditions, while the latter checks for u=1 and u=-1
#
# The Jacobian is correct for u=1 and u=-1, but the finite-difference scheme used by snes_type=test gives the
# wrong answer.
# For u=1, the Kuzmin-Turek scheme adds as much antidiffusion as possible, resulting in a central-difference
# version of advection (flux_limiter = 1). This is correct, and the Jacobian is calculated correctly.
# However, when computing the Jacobian using finite differences, u is increased or decreased at a node.
# This results in that node being at a maximum or minimum, which means no antidiffusion should be added
# (flux_limiter = 0). This corresponds to a full-upwind scheme. So the finite-difference computes the
# Jacobian in the full-upwind scenario, which is incorrect (the original residual = 0, after finite-differencing
# the residual comes from the full-upwind scenario).
[Mesh]
type = GeneratedMesh
dim = 3
nx = 2
xmin = 0
xmax = 1
ny = 2
ymin = -1
ymax = 2
bias_y = 1.5
nz = 2
zmin = 1
zmax = 2
bias_z = 0.8
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u]
type = FunctionIC
variable = u
function = 'x + 0.5 * y - 0.4 * z - 0.1 * sin(x) - 0.1 * cos(y) + 0.2 * exp(-z)'
[../]
[]
[Kernels]
[./flux]
type = FluxLimitedTVDAdvection
variable = u
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = u
velocity = '1 -2 1.5'
[../]
[]
[Preconditioning]
active = smp
[./smp]
type = SMP
full = true
petsc_options = '-snes_check_jacobian'
[../]
[]
[Executioner]
type = Transient
solve_type = Linear # this is to force convergence even though the nonlinear residual is high: we just care about the Jacobian in this test
end_time = 1
num_steps = 1
dt = 1
[]
test/tests/meshgenerators/mesh_side_set_generator/mesh_side_set_generator.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 4
ny = 4
nz = 4
elem_type = TET4
[]
[./left_block]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
block_name = left_block
bottom_left = '0 0 0'
top_right = '0.5 1 1'
[]
[./right_block]
type = SubdomainBoundingBoxGenerator
input = left_block
block_id = 2
block_name = right_block
bottom_left = '0.5 0 0'
top_right = '1 1 1'
[]
[./center_side_set]
type = SideSetsBetweenSubdomainsGenerator
input = right_block
master_block = left_block
paired_block = right_block
new_boundary = center_side_set
[]
[./center_mesh]
type = MeshSideSetGenerator
input = center_side_set
boundaries = center_side_set
block_id = 10
block_name = center_mesh
[]
[]
[Variables]
[./c_volume]
[./InitialCondition]
type = FunctionIC
function = '1-(x-0.5)^2+(y-0.5)^2+(z-0.5)^2'
[../]
[../]
[./c_plane]
block = 'center_mesh'
[../]
[]
[Kernels]
[./volume_diff]
type = Diffusion
variable = c_volume
block = 'left_block right_block'
[../]
[./volume_dt]
type = TimeDerivative
variable = c_volume
block = 'left_block right_block'
[../]
# couple the lower dimensional variable to the volume variable
[./plane_reaction]
type = Reaction
variable = c_plane
block = 'center_mesh'
[../]
[./plane_coupled]
type = CoupledForce
variable = c_plane
v = c_volume
block = 'center_mesh'
[../]
[]
[Executioner]
type = Transient
dt = 0.01
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/poroperm/poro_tm.i
# Test that porosity is correctly calculated.
# Porosity = 1 + (phi0 - 1) * exp(-vol_strain + thermal_exp_coeff * (temperature - ref_temperature))
# The parameters used are:
# phi0 = 0.5
# vol_strain = 0.5
# thermal_exp_coeff = 0.5
# temperature = 4
# ref_temperature = 3.5
# which yield porosity = 0.610599608464
[Mesh]
type = GeneratedMesh
dim = 3
[]
[GlobalParams]
PorousFlowDictator = dictator
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./porepressure]
initial_condition = 2
[../]
[./temperature]
initial_condition = 4
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[ICs]
[./disp_x]
type = FunctionIC
function = '0.5 * x'
variable = disp_x
[../]
[]
[Kernels]
[./dummy_p]
type = TimeDerivative
variable = porepressure
[../]
[./dummy_t]
type = TimeDerivative
variable = temperature
[../]
[./dummy_x]
type = TimeDerivative
variable = disp_x
[../]
[./dummy_y]
type = TimeDerivative
variable = disp_y
[../]
[./dummy_z]
type = TimeDerivative
variable = disp_z
[../]
[]
[AuxVariables]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
[../]
[]
[Postprocessors]
[./porosity]
type = PointValue
variable = porosity
point = '0 0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure temperature'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./eff_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./vol_strain]
type = PorousFlowVolumetricStrain
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./porosity]
type = PorousFlowPorosity
mechanical = true
thermal = true
ensure_positive = false
porosity_zero = 0.5
thermal_expansion_coeff = 0.5
reference_temperature = 3.5
[../]
[]
[Executioner]
solve_type = Newton
type = Transient
num_steps = 1
[]
[Outputs]
csv = true
[]
modules/chemical_reactions/test/tests/aqueous_equilibrium/1species_without_action.i
# Simple equilibrium reaction example.
# This simulation is identical to 1species.i, but explicitly includes the AuxVariables,
# AuxKernels, and Kernels that the action in 1species.i adds
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
[]
[Variables]
[./a]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1e-2
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
variable = a
[../]
[../]
[]
[AuxVariables]
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[./pa2]
[../]
[]
[AuxKernels]
[./pa2eq]
type = AqueousEquilibriumRxnAux
variable = pa2
v = a
sto_v = 2
log_k = 1
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[Kernels]
[./a_ie]
type = PrimaryTimeDerivative
variable = a
[../]
[./a_diff]
type = PrimaryDiffusion
variable = a
[../]
[./a_conv]
type = PrimaryConvection
variable = a
p = pressure
[../]
[./aeq]
type = CoupledBEEquilibriumSub
variable = a
log_k = 1
weight = 2
sto_u = 2
[../]
[./adiff]
type = CoupledDiffusionReactionSub
variable = a
log_k = 1
weight = 2
sto_u = 2
[../]
[./aconv]
type = CoupledConvectionReactionSub
variable = a
log_k = 1
weight = 2
sto_u = 2
p = pressure
[../]
[]
[BCs]
[./a_right]
type = ChemicalOutFlowBC
variable = a
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-4 1e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
nl_abs_tol = 1e-12
start_time = 0.0
end_time = 100
dt = 10.0
[]
[Outputs]
file_base = 1species_out
exodus = true
perf_graph = true
print_linear_residuals = true
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
test/tests/auxkernels/time_derivative/time_derivative_nl.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = -5.0
xmax = 5.0
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./c_dot]
order = FIRST
family = LAGRANGE
[../]
[./c_dot_elem]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./coupled_dot]
type = DotCouplingAux
variable = c_dot
v = c
[../]
[./coupled_dot_elem]
type = DotCouplingAux
variable = c_dot_elem
v = c
[../]
[]
[ICs]
[./centered_gauss_func]
type = FunctionIC
variable = c
function = gaussian_1d
[../]
[]
[Functions]
[./gaussian_1d]
type = ParsedFunction
value = exp(-x*x/2.0/1.0/1.0)
[../]
[]
[Kernels]
[./dot]
type = TimeDerivative
variable = c
[../]
[./diff]
type = Diffusion
variable = c
[../]
[]
[BCs]
[./Periodic]
[./auto]
variable = c
auto_direction = 'x'
[../]
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
dt = 0.1
num_steps = 5
[]
[Outputs]
exodus = true
#
[]
modules/phase_field/test/tests/phase_field_kernels/SplitCHWRes.i
#
# Test the split parsed function free enery Cahn-Hilliard Bulk kernel
# with two concentration variables and coupling through off-diagonal Onsager
# matrix coefficients
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0
xmax = 60
ymin = 0
ymax = 60
elem_type = QUAD4
[]
[Variables]
[./c1]
[./InitialCondition]
type = FunctionIC
function = 'cos(x/60*pi)'
[../]
[../]
[./c2]
[./InitialCondition]
type = FunctionIC
function = 'cos(y/60*pi)'
[../]
[../]
[./w1]
[../]
[./w2]
[../]
[]
[Kernels]
[./c1_res]
type = SplitCHParsed
variable = c1
f_name = F
kappa_name = kappa_c
w = w1
[../]
[./w11_res]
type = SplitCHWRes
variable = w1
mob_name = M11
[../]
[./w12_res]
type = SplitCHWRes
variable = w1
w = w2
mob_name = M12
[../]
[./c2_res]
type = SplitCHParsed
variable = c2
f_name = F
kappa_name = kappa_c
w = w2
[../]
[./w22_res]
type = SplitCHWRes
variable = w2
mob_name = M22
[../]
[./w21_res]
type = SplitCHWRes
variable = w2
w = w1
mob_name = M21
[../]
[./time1]
type = CoupledTimeDerivative
variable = w1
v = c1
[../]
[./time2]
type = CoupledTimeDerivative
variable = w2
v = c2
[../]
[]
[Materials]
[./pfmobility]
type = GenericConstantMaterial
prop_names = 'M11 M12 M21 M22 kappa_c'
prop_values = '10 2.5 20 5 40'
[../]
[./free_energy]
# equivalent to `MathFreeEnergy`
type = DerivativeParsedMaterial
f_name = F
args = 'c1 c2'
function = '0.25*(1+c1)^2*(1-c1)^2 + 0.25*(1+c2)^2*(1-c2)^2'
derivative_order = 2
[../]
[]
[Preconditioning]
# active = ' '
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'NEWTON'
petsc_options_iname = -pc_type
petsc_options_value = lu
l_max_its = 30
l_tol = 1.0e-4
nl_rel_tol = 1.0e-10
start_time = 0.0
num_steps = 2
dt = 10
[]
[Outputs]
exodus = true
[]
test/tests/functions/image_function/shift_and_scale.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
shift = -62735.0
scale = 0.0001
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
test/tests/misc/check_error/function_file_test3.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_mixed_lengths.csv #Will generate error because length of data doesn't match on all rows
format = rows
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/combined/test/tests/surface_tension_KKS/surface_tension_VDWgas.i
# Test for ComputeExtraStressVDWGas
# Gas bubble with r = 15 nm in a solid matrix
# The gas pressure is counterbalanced by the surface tension of the solid-gas interface,
# which is included with ComputeSurfaceTensionKKS
[Mesh]
type = GeneratedMesh
dim = 1
nx = 300
xmin = 0
xmax = 30
[]
[Problem]
coord_type = RSPHERICAL
[]
[GlobalParams]
displacements = 'disp_x'
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# gas concentration
[./cg]
order = FIRST
family = LAGRANGE
[../]
# vacancy concentration
[./cv]
order = FIRST
family = LAGRANGE
[../]
# gas chemical potential
[./wg]
order = FIRST
family = LAGRANGE
[../]
# vacancy chemical potential
[./wv]
order = FIRST
family = LAGRANGE
[../]
# Matrix phase gas concentration
[./cgm]
order = FIRST
family = LAGRANGE
initial_condition = 1.01e-31
[../]
# Matrix phase vacancy concentration
[./cvm]
order = FIRST
family = LAGRANGE
initial_condition = 2.25e-11
[../]
# Bubble phase gas concentration
[./cgb]
order = FIRST
family = LAGRANGE
initial_condition = 0.2714
[../]
# Bubble phase vacancy concentration
[./cvb]
order = FIRST
family = LAGRANGE
initial_condition = 0.7286
[../]
[]
[ICs]
[./eta_ic]
variable = eta
type = FunctionIC
function = ic_func_eta
[../]
[./cv_ic]
variable = cv
type = FunctionIC
function = ic_func_cv
[../]
[./cg_ic]
variable = cg
type = FunctionIC
function = ic_func_cg
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2);0.5*(1.0-tanh((r-r0)/delta_eta/sqrt(2.0)))'
vars = 'delta_eta r0'
vals = '0.321 15'
[../]
[./ic_func_cv]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2);eta_an:=0.5*(1.0-tanh((r-r0)/delta/sqrt(2.0)));cvbubinit*eta_an^3*(6*eta_an^2-15*eta_an+10)+cvmatrixinit*(1-eta_an^3*(6*eta_an^2-15*eta_an+10))'
vars = 'delta r0 cvbubinit cvmatrixinit'
vals = '0.321 15 0.7286 2.25e-11'
[../]
[./ic_func_cg]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2);eta_an:=0.5*(1.0-tanh((r-r0)/delta/sqrt(2.0)));cgbubinit*eta_an^3*(6*eta_an^2-15*eta_an+10)+cgmatrixinit*(1-eta_an^3*(6*eta_an^2-15*eta_an+10))'
vars = 'delta r0 cgbubinit cgmatrixinit'
vals = '0.321 15 0.2714 1.01e-31'
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
generate_output = 'hydrostatic_stress stress_xx stress_yy stress_zz'
[../]
[]
[Kernels]
# enforce cg = (1-h(eta))*cgm + h(eta)*cgb
[./PhaseConc_g]
type = KKSPhaseConcentration
ca = cgm
variable = cgb
c = cg
eta = eta
[../]
# enforce cv = (1-h(eta))*cvm + h(eta)*cvb
[./PhaseConc_v]
type = KKSPhaseConcentration
ca = cvm
variable = cvb
c = cv
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotVacancies]
type = KKSPhaseChemicalPotential
variable = cvm
cb = cvb
fa_name = f_total_matrix
fb_name = f_total_bub
args_a = 'cgm'
args_b = 'cgb'
[../]
[./ChemPotGas]
type = KKSPhaseChemicalPotential
variable = cgm
cb = cgb
fa_name = f_total_matrix
fb_name = f_total_bub
args_a = 'cvm'
args_b = 'cvb'
[../]
#
# Cahn-Hilliard Equations
#
[./CHBulk_g]
type = KKSSplitCHCRes
variable = cg
ca = cgm
fa_name = f_total_matrix
w = wg
args_a = 'cvm'
[../]
[./CHBulk_v]
type = KKSSplitCHCRes
variable = cv
ca = cvm
fa_name = f_total_matrix
w = wv
args_a = 'cgm'
[../]
[./dcgdt]
type = CoupledTimeDerivative
variable = wg
v = cg
[../]
[./dcvdt]
type = CoupledTimeDerivative
variable = wv
v = cv
[../]
[./wgkernel]
type = SplitCHWRes
mob_name = M
variable = wg
[../]
[./wvkernel]
type = SplitCHWRes
mob_name = M
variable = wv
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = f_total_matrix
fb_name = f_total_bub
w = 0.356
args = 'cvm cvb cgm cgb'
[../]
[./ACBulkCv]
type = KKSACBulkC
variable = eta
ca = cvm
cb = cvb
fa_name = f_total_matrix
args = 'cgm'
[../]
[./ACBulkCg]
type = KKSACBulkC
variable = eta
ca = cgm
cb = cgb
fa_name = f_total_matrix
args = 'cvm'
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = kappa
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[Materials]
# Chemical free energy of the matrix
[./fm]
type = DerivativeParsedMaterial
f_name = fm
args = 'cvm cgm'
material_property_names = 'kvmatrix kgmatrix cvmatrixeq cgmatrixeq'
function = '0.5*kvmatrix*(cvm-cvmatrixeq)^2 + 0.5*kgmatrix*(cgm-cgmatrixeq)^2'
[../]
# Elastic energy of the matrix
[./elastic_free_energy_m]
type = ElasticEnergyMaterial
base_name = matrix
f_name = fe_m
args = ' '
[../]
# Total free energy of the matrix
[./Total_energy_matrix]
type = DerivativeSumMaterial
f_name = f_total_matrix
sum_materials = 'fm fe_m'
args = 'cvm cgm'
[../]
# Free energy of the bubble phase
[./fb]
type = DerivativeParsedMaterial
f_name = fb
args = 'cvb cgb'
material_property_names = 'kToverV nQ Va b f0 kpen kgbub kvbub cvbubeq cgbubeq'
function = '0.5*kgbub*(cvb-cvbubeq)^2 + 0.5*kvbub*(cgb-cgbubeq)^2'
[../]
# Elastic energy of the bubble
[./elastic_free_energy_p]
type = ElasticEnergyMaterial
base_name = bub
f_name = fe_b
args = ' '
[../]
# Total free energy of the bubble
[./Total_energy_bub]
type = DerivativeSumMaterial
f_name = f_total_bub
sum_materials = 'fb fe_b'
# sum_materials = 'fb'
args = 'cvb cgb'
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L kappa Va kvmatrix kgmatrix kgbub kvbub f0 kpen cvbubeq cgbubeq b T'
prop_values = '0.7 0.7 0.0368 0.03629 223.16 223.16 2.23 2.23 0.0224 1.0 0.6076 0.3924 0.085 800'
[../]
[./cvmatrixeq]
type = ParsedMaterial
f_name = cvmatrixeq
material_property_names = 'T'
constant_names = 'kB Efv'
constant_expressions = '8.6173324e-5 1.69'
function = 'exp(-Efv/(kB*T))'
[../]
[./cgmatrixeq]
type = ParsedMaterial
f_name = cgmatrixeq
material_property_names = 'T'
constant_names = 'kB Efg'
constant_expressions = '8.6173324e-5 4.92'
function = 'exp(-Efg/(kB*T))'
[../]
[./kToverV]
type = ParsedMaterial
f_name = kToverV
material_property_names = 'T Va'
constant_names = 'k C44dim' #k in J/K and dimensional C44 in J/m^3
constant_expressions = '1.38e-23 63e9'
function = 'k*T*1e27/Va/C44dim'
[../]
[./nQ]
type = ParsedMaterial
f_name = nQ
material_property_names = 'T'
constant_names = 'k Pi M hbar' #k in J/K, M is Xe atomic mass in kg, hbar in J s
constant_expressions = '1.38e-23 3.14159 2.18e-25 1.05459e-34'
function = '(M*k*T/2/Pi/hbar^2)^1.5 * 1e-27' #1e-27 converts from #/m^3 to #/nm^3
[../]
#Mechanical properties
[./Stiffness_matrix]
type = ComputeElasticityTensor
C_ijkl = '0.778 0.7935'
fill_method = symmetric_isotropic
base_name = matrix
[../]
[./Stiffness_bub]
type = ComputeElasticityTensor
C_ijkl = '0.0778 0.07935'
fill_method = symmetric_isotropic
base_name = bub
[../]
[./strain_matrix]
type = ComputeRSphericalSmallStrain
base_name = matrix
[../]
[./strain_bub]
type = ComputeRSphericalSmallStrain
base_name = bub
[../]
[./stress_matrix]
type = ComputeLinearElasticStress
base_name = matrix
[../]
[./stress_bub]
type = ComputeLinearElasticStress
base_name = bub
[../]
[./global_stress]
type = TwoPhaseStressMaterial
base_A = matrix
base_B = bub
[../]
[./surface_tension]
type = ComputeSurfaceTensionKKS
v = eta
kappa_name = kappa
w = 0.356
[../]
[./gas_pressure]
type = ComputeExtraStressVDWGas
T = T
b = b
cg = cgb
Va = Va
nondim_factor = 63e9
base_name = bub
outputs = exodus
[../]
[]
[BCs]
[./left_r]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[]
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm lu nonzero'
l_max_its = 30
nl_max_its = 15
l_tol = 1.0e-4
nl_rel_tol = 1.0e-10
nl_abs_tol = 1e-11
num_steps = 2
dt = 0.5
[]
[Outputs]
exodus = true
[]
test/tests/nodalkernels/constraint_enforcement/upper-bound.i
l=10
nx=100
num_steps=10
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[lm]
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = '${l} - x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = '1'
[]
[]
[NodalKernels]
[positive_constraint]
type = UpperBoundNodalKernel
variable = lm
v = u
exclude_boundaries = 'left right'
upper_bound = 10
[]
[forces]
type = CoupledForceNodalKernel
variable = u
v = lm
coef = -1
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = ${l}
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = 0
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type'
petsc_options_value = '0 30 asm 16 basic'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
[active_lm]
type = GreaterThanLessThanPostprocessor
variable = lm
execute_on = 'nonlinear timestep_end'
value = 1e-8
[]
[violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[]
test/tests/kernels/mass_lumping/mass_lumping.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 2
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = init_f
[../]
[]
[Kernels]
[./time_deriv]
type = MassLumpedTimeDerivative
variable = u
[../]
[./diff]
type = FuncCoefDiffusion
variable = u
coef = diff_f
[../]
[]
[Functions]
[./init_f]
type = ParsedFunction
value = max(x,0) #(x>0)
[../]
[./diff_f]
type = ParsedFunction
value = max(x,0)
[../]
[]
[Executioner]
type = Transient
end_time = 1
solve_type = 'NEWTON'
[]
[Outputs]
exodus = true
[]
test/tests/time_steppers/timesequence_stepper/timesequence_restart2.i
[Mesh]
file = timesequence_restart1_cp/0002_mesh.cpr
[]
[Problem]
restart_file_base = timesequence_restart1_cp/0002
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
end_time = 4.0
[./TimeStepper]
type = TimeSequenceStepper
time_sequence = '0 0.85 1.3 2 4'
[../]
[]
[Outputs]
exodus = true
[]
test/tests/functions/solution_function/solution_function_rot1.i
# checking rotation of points by 45 deg about z axis in a SolutionUserObject
[Mesh]
# this is chosen so when i rotate through 45deg i get a length of "1" along the x or y or z direction
type = GeneratedMesh
dim = 3
xmin = -0.70710678
xmax = 0.70710678
nx = 3
ymin = -0.70710678
ymax = 0.70710678
ny = 3
zmin = -0.70710678
zmax = 0.70710678
nz = 3
[]
[UserObjects]
[./solution_uo]
type = SolutionUserObject
mesh = cube_with_u_equals_x.e
timestep = LATEST
system_variables = u
rotation0_vector = '0 0 1'
rotation0_angle = 45
transformation_order = rotation0
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = solution_fcn
[../]
[]
[Functions]
[./solution_fcn]
type = SolutionFunction
from_variable = u
solution = solution_uo
[../]
[]
[Kernels]
[./diff]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
l_max_its = 800
nl_rel_tol = 1e-10
num_steps = 1
end_time = 1
dt = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = solution_function_rot1
exodus = true
[]
modules/porous_flow/test/tests/chemistry/2species_equilibrium_2phase.i
# Using a two-phase system (see 2species_equilibrium for the single-phase)
# The saturations, porosity, mass fractions, tortuosity and diffusion coefficients are chosen so that the results are identical to 2species_equilibrium
#
# PorousFlow analogy of chemical_reactions/test/tests/aqueous_equilibrium/2species.i
#
# Simple equilibrium reaction example to illustrate the use of PorousFlowMassFractionAqueousEquilibriumChemistry
#
# In this example, two primary species a and b are transported by diffusion and convection
# from the left of the porous medium, reacting to form two equilibrium species pa2 and pab
# according to the equilibrium reaction:
#
# reactions = '2a = pa2 rate = 10^2
# a + b = pab rate = 10^-2'
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
[]
[Variables]
[./a]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[./b]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[]
[AuxVariables]
[./eqm_k0]
initial_condition = 1E2
[../]
[./eqm_k1]
initial_condition = 1E-2
[../]
[./pressure0]
[../]
[./saturation1]
initial_condition = 0.25
[../]
[./a_in_phase0]
initial_condition = 0.0
[../]
[./b_in_phase0]
initial_condition = 0.0
[../]
[./pa2]
family = MONOMIAL
order = CONSTANT
[../]
[./pab]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./pa2]
type = PorousFlowPropertyAux
property = secondary_concentration
secondary_species = 0
variable = pa2
[../]
[./pab]
type = PorousFlowPropertyAux
property = secondary_concentration
secondary_species = 1
variable = pab
[../]
[]
[ICs]
[./pressure0]
type = FunctionIC
variable = pressure0
function = 2-x
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Kernels]
[./mass_a]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = a
[../]
[./flux_a]
type = PorousFlowAdvectiveFlux
variable = a
fluid_component = 0
[../]
[./diff_a]
type = PorousFlowDispersiveFlux
variable = a
fluid_component = 0
disp_trans = '0 0'
disp_long = '0 0'
[../]
[./mass_b]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = b
[../]
[./flux_b]
type = PorousFlowAdvectiveFlux
variable = b
fluid_component = 1
[../]
[./diff_b]
type = PorousFlowDispersiveFlux
variable = b
fluid_component = 1
disp_trans = '0 0'
disp_long = '0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'a b'
number_fluid_phases = 2
number_fluid_components = 3
number_aqueous_equilibrium = 2
aqueous_phase_number = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9 # huge, so mimic chemical_reactions
density0 = 1000
thermal_expansion = 0
viscosity = 1e-3
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
capillary_pressure = pc
phase0_porepressure = pressure0
phase1_saturation = saturation1
[../]
[./massfrac]
type = PorousFlowMassFractionAqueousEquilibriumChemistry
mass_fraction_vars = 'a_in_phase0 b_in_phase0 a b'
num_reactions = 2
equilibrium_constants = 'eqm_k0 eqm_k1'
primary_activity_coefficients = '1 1'
secondary_activity_coefficients = '1 1'
reactions = '2 0
1 1'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.8
[../]
[./permeability]
type = PorousFlowPermeabilityConst
# porous_flow permeability / porous_flow viscosity = chemical_reactions conductivity = 1E-4
permeability = '1E-7 0 0 0 1E-7 0 0 0 1E-7'
[../]
[./relp0]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./relp1]
type = PorousFlowRelativePermeabilityConst
phase = 1
[../]
[./diff]
type = PorousFlowDiffusivityConst
# porous_flow diffusion_coeff * tortuousity * porosity = chemical_reactions diffusivity = 1E-4
diffusion_coeff = '5E-4 5E-4 5E-4
5E-4 5E-4 5E-4'
tortuosity = '0.25 0.25'
[../]
[]
[BCs]
[./a_left]
type = DirichletBC
variable = a
boundary = left
value = 1.0e-2
[../]
[./b_left]
type = DirichletBC
variable = b
boundary = left
value = 1.0e-2
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 10
end_time = 100
[]
[Outputs]
print_linear_residuals = true
exodus = true
perf_graph = true
[]
modules/richards/test/tests/sinks/s02.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1 # same deal with PETSc constant state
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 2
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-lfout-rfout-mf)/2/(mi+mf))
vars = 'mi mf lfout rfout'
vals = 'mass_init mass_fin left_flux_out right_flux_out'
[../]
[]
[Postprocessors]
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./mass_fin]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./left_flux_out]
type = RichardsHalfGaussianSinkFlux
boundary = left
variable = pressure
centre = 1
max = 2
sd = 1
[../]
[./right_flux_out]
type = RichardsHalfGaussianSinkFlux
boundary = right
variable = pressure
centre = 1
max = 2
sd = 1
[../]
[./p0]
type = PointValue
point = '0 0 0'
variable = pressure
[../]
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
[BCs]
[./left_flux]
type = RichardsHalfGaussianSink
boundary = left
variable = pressure
centre = 1
max = 2
sd = 1
[../]
[./right_flux]
type = RichardsHalfGaussianSink
boundary = right
variable = pressure
centre = 1
max = 2
sd = 1
[../]
[]
[Kernels]
active = 'richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 4E-3
end_time = 0.4
[]
[Outputs]
file_base = s02
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/buckley_leverett/bl01.i
# Buckley-Leverett 1-phase.
# The front starts at (around) x=5, and at t=50 it should
# have moved to x=9.6. The version below has a nonzero
# suction function, and at t=50, the front sits between
# (about) x=9.6 and x=9.9. Changing the van-Genuchten
# al parameter to 1E-4 softens the front so it sits between
# (about) x=9.7 and x=10.4, and the simulation runs much faster.
# With al=1E-2 and nx=600, the front sits between x=9.6 and x=9.8,
# but takes about 100 times longer to run.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
PorousFlowDictator = dictator
compute_enthalpy = false
compute_internal_energy = false
[]
[Variables]
[./pp]
[./InitialCondition]
type = FunctionIC
function = 'max((1000000-x/5*1000000)-20000,-20000)'
[../]
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
gravity = '0 0 0'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = pp
boundary = left
value = 980000
[../]
[]
[AuxVariables]
[./sat]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./sat]
type = MaterialStdVectorAux
variable = sat
execute_on = timestep_end
index = 0
property = PorousFlow_saturation_qp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.8
alpha = 1e-3
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e6
viscosity = 1e-3
density0 = 1000
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.15
[../]
[]
[Preconditioning]
active = andy
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'gmres bjacobi 1E-10 1E-10 20'
[../]
[]
[Functions]
[./timestepper]
type = PiecewiseLinear
x = '0 0.01 0.1 1 1.5 2 20 30 40 50'
y = '0.01 0.1 0.2 0.3 0.1 0.3 0.3 0.4 0.4 0.5'
[../]
[]
[Executioner]
type = Transient
end_time = 50
[./TimeStepper]
type = FunctionDT
function = timestepper
[../]
[]
[VectorPostprocessors]
[./pp]
type = LineValueSampler
start_point = '0 0 0'
end_point = '15 0 0'
num_points = 150
sort_by = x
variable = pp
[../]
[./sat]
type = LineValueSampler
start_point = '0 0 0'
end_point = '15 0 0'
num_points = 150
sort_by = x
variable = sat
[../]
[]
[Outputs]
file_base = bl01
[./csv]
type = CSV
sync_only = true
sync_times = '0.01 50'
[../]
[./exodus]
type = Exodus
execute_on = 'initial final'
[../]
[]
test/tests/misc/check_error/function_file_test8.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
xy_data = '1 2 3'
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/porous_flow/test/tests/basic_advection/except2.i
# PorousFlowDarcyVelocityMaterial attempts to have at_nodes = true
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./P]
[../]
[]
[ICs]
[./P]
type = FunctionIC
variable = P
function = '2*(1-x)'
[../]
[./u]
type = FunctionIC
variable = u
function = 'if(x<0.1,1,0)'
[../]
[]
[Kernels]
[./u_dot]
type = TimeDerivative
variable = u
[../]
[./u_advection]
type = PorousFlowBasicAdvection
variable = u
phase = 1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = ''
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 4
thermal_expansion = 0
viscosity = 150.0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = P
capillary_pressure = pc
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '5 0 0 0 5 0 0 0 5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 0
phase = 0
[../]
[./darcy_velocity]
type = PorousFlowDarcyVelocityMaterial
gravity = '0.25 0 0'
at_nodes = true
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = left
value = 1
variable = u
[../]
[./right]
type = DirichletBC
boundary = right
value = 0
variable = u
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
petsc_options_iname = '-pc_type -snes_rtol'
petsc_options_value = ' lu 1E-10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 5
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
modules/level_set/test/tests/transfers/copy_solution/master.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = 'x*x*y'
variable = u
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
[]
[MultiApps]
[./sub]
type = FullSolveMultiApp
input_files = 'sub.i'
execute_on = timestep_end
[../]
[]
[Transfers]
[./to_sub]
type = MultiAppCopyTransfer
variable = u
source_variable = u
direction = to_multiapp
multi_app = sub
execute_on = timestep_end
check_multiapp_execute_on = false
[../]
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/boundary_intersecting_features/boundary_intersecting_features.i
[Mesh]
# ImageMesh ignores nx, xmin, xmax (and similarly for y and z) and
# tries to read them from the image file...
type = ImageMesh
dim = 2
# Be sure to choose a corresponding image name below!
# file = image001_cropped3_closing_298.png # full size, 157 Mb Exodus file!
# file = eighth_image001_cropped3_closing_298.png # 1/8
file = sixteenth_image001_cropped3_closing_298.png # 1/16
# Uncomment to maintain 1:1 ratio between number of pixels and mesh size.
# scale_to_one = false
# Uncomment to set cells_per_pixel to something other than the default value of 1.0.
# Must be <= 1.
# cells_per_pixel = .75
# To crop an image to e.g. 1/8th size, install ImageMagick and run:
# convert image001_cropped3_closing_298.png -crop 230x198+100+100 eighth_image001_cropped3_closing_298.png
# Note: Do not use 'sips' on OSX to crop! It actually interpolates
# the colors in the image instead of just cropping.
[]
[Variables]
[./u]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxVariables]
[./grain_auxvar]
order = CONSTANT
family = MONOMIAL
[../]
[./centroids]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./nodal_flood_aux]
variable = grain_auxvar
type = FeatureFloodCountAux
flood_counter = flood_count_pp
execute_on = 'initial timestep_end'
[../]
[./centroids]
type = FeatureFloodCountAux
variable = centroids
flood_counter = flood_count_pp
field_display = CENTROID
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./tif]
# ImageFunction gets its file range parameters from ImageMesh,
# when it is present. This prevents duplicating information in
# input files.
type = ImageFunction
# In these sample images the features we want to analyze are RED (or close to pure red). The
# background is BLUE so we can easily distinguish between the two by selecting only the red channel.
component = 0
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = tif
variable = u
[../]
[]
[Postprocessors]
[./flood_count_pp]
type = FeatureFloodCount
variable = u
threshold = 1.0
compute_var_to_feature_map = true
execute_on = 'initial timestep_end'
[../]
[]
[VectorPostprocessors]
[./grain_volumes]
type = FeatureVolumeVectorPostprocessor
flood_counter = flood_count_pp
execute_on = 'initial timestep_end'
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
csv = true
[]
modules/richards/test/tests/theis/th22.i
# two-phase, fully-saturated
# production
[Mesh]
type = FileMesh
file = th02_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1 2 4 20'
x = '0 1 10 100'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_pressure
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[DiracKernels]
[./bh]
type = RichardsPolyLineSink
pressures = '-1E9 1E9'
fluxes = '200 200'
point_file = th01.points
SumQuantityUO = total_outflow_mass
variable = pwater
[../]
[]
[Postprocessors]
[./flow_report]
type = RichardsPlotQuantity
uo = total_outflow_mass
[../]
[./p50]
type = PointValue
variable = pwater
point = '50 0 0'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E5
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
mat_porosity = 0.1
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 1E-5'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason -ksp_diagonal_scale -ksp_diagonal_scale_fix -ksp_gmres_modifiedgramschmidt -snes_linesearch_monitor'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'gmres asm lu NONZERO 2 1E-7 1E-10 20 1E-10 1E-100'
[../]
[]
[Executioner]
type = Transient
end_time = 100
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
execute_on = 'timestep_end'
file_base = th22
exodus = true
csv = true
[]
test/tests/auxkernels/grad_component/grad_component_monomial.i
[Mesh]
type = GeneratedMesh
dim = 2
xmax = 2
nx = 20
ny = 10
[]
[Variables]
[./not_u]
[../]
[]
[AuxVariables]
[./u]
family = MONOMIAL
order = FIRST
[../]
[./grad_u_x]
order = CONSTANT
family = MONOMIAL
[../]
[]
[ICs]
[./u]
type = FunctionIC
variable = u
function = 'if(x>0.5,if(x<1.5,2*x,3),0)'
[../]
[]
[AuxKernels]
[./grad_u_x_aux]
type = VariableGradientComponent
variable = grad_u_x
component = x
gradient_variable = u
execute_on = initial
[../]
[]
[Problem]
type = FEProblem
solve = false
kernel_coverage_check = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/combined/examples/periodic_strain/global_strain_pfm_3D.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 20
ny = 20
nz = 20
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
zmin = -0.5
zmax = 0.5
[]
[./cnode]
input = gen
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 100
[../]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./u_z]
[../]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'sin(2*x*pi)*sin(2*y*pi)*sin(2*z*pi)*0.05+0.6'
[../]
[../]
[./w]
[../]
[]
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./s00]
order = CONSTANT
family = MONOMIAL
[../]
[./s01]
order = CONSTANT
family = MONOMIAL
[../]
[./s10]
order = CONSTANT
family = MONOMIAL
[../]
[./s11]
order = CONSTANT
family = MONOMIAL
[../]
[./e00]
order = CONSTANT
family = MONOMIAL
[../]
[./e01]
order = CONSTANT
family = MONOMIAL
[../]
[./e10]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_z]
type = GlobalDisplacementAux
variable = disp_z
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 2
[../]
[./local_free_energy]
type = TotalFreeEnergy
execute_on = 'initial LINEAR'
variable = local_energy
interfacial_vars = 'c'
kappa_names = 'kappa_c'
[../]
[./s00]
type = RankTwoAux
variable = s00
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./s01]
type = RankTwoAux
variable = s01
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[./s10]
type = RankTwoAux
variable = s10
rank_two_tensor = stress
index_i = 1
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./e00]
type = RankTwoAux
variable = e00
rank_two_tensor = total_strain
index_i = 0
index_j = 0
[../]
[./e01]
type = RankTwoAux
variable = e01
rank_two_tensor = total_strain
index_i = 0
index_j = 1
[../]
[./e10]
type = RankTwoAux
variable = e10
rank_two_tensor = total_strain
index_i = 1
index_j = 0
[../]
[./e11]
type = RankTwoAux
variable = e11
rank_two_tensor = total_strain
index_i = 1
index_j = 1
[../]
[]
[GlobalParams]
derivative_order = 2
enable_jit = true
displacements = 'u_x u_y u_z'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
# Cahn-Hilliard kernels
[./c_dot]
type = CoupledTimeDerivative
variable = w
v = c
block = 0
[../]
[./c_res]
type = SplitCHParsed
variable = c
f_name = F
kappa_name = kappa_c
w = w
block = 0
[../]
[./w_res]
type = SplitCHWRes
variable = w
mob_name = M
block = 0
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y z'
variable = 'c w u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '0.2 0.01 '
[../]
[./shear1]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 0.5 0.5 0.5'
tensor_name = shear1
[../]
[./shear2]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 -0.5 -0.5 -0.5'
tensor_name = shear2
[../]
[./expand3]
type = GenericConstantRankTwoTensor
tensor_values = '1 1 1 0 0 0'
tensor_name = expand3
[../]
[./weight1]
type = DerivativeParsedMaterial
function = '0.3*c^2'
f_name = weight1
args = c
[../]
[./weight2]
type = DerivativeParsedMaterial
function = '0.3*(1-c)^2'
f_name = weight2
args = c
[../]
[./weight3]
type = DerivativeParsedMaterial
function = '4*(0.5-c)^2'
f_name = weight3
args = c
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
eigenstrain_names = eigenstrain
[../]
[./eigenstrain]
type = CompositeEigenstrain
tensors = 'shear1 shear2 expand3'
weights = 'weight1 weight2 weight3'
args = c
eigenstrain_name = eigenstrain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
# chemical free energies
[./chemical_free_energy]
type = DerivativeParsedMaterial
f_name = Fc
function = '4*c^2*(1-c)^2'
args = 'c'
outputs = exodus
output_properties = Fc
[../]
# elastic free energies
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = Fe
args = 'c'
outputs = exodus
output_properties = Fe
[../]
# free energy (chemical + elastic)
[./free_energy]
type = DerivativeSumMaterial
block = 0
f_name = F
sum_materials = 'Fc Fe'
args = 'c'
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Postprocessors]
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = local_energy
[../]
[./total_solute]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = c
[../]
[./min]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = min
variable = c
[../]
[./max]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = max
variable = c
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
end_time = 2.0
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.01
growth_factor = 1.5
cutback_factor = 0.8
optimal_iterations = 9
iteration_window = 2
[../]
[]
[Outputs]
execute_on = 'timestep_end'
print_linear_residuals = false
exodus = true
[./table]
type = CSV
delimiter = ' '
[../]
[]
modules/level_set/examples/vortex/vortex_supg.i
[Mesh]
type = GeneratedMesh
dim = 2
xmax = 1
ymax = 1
nx = 16
ny = 16
uniform_refine = 2
elem_type = QUAD9
[]
[AuxVariables]
[./vel_x]
family = LAGRANGE
order = FIRST
[../]
[./vel_y]
family = LAGRANGE
order = FIRST
[../]
[]
[AuxKernels]
[./vel_x]
type = FunctionAux
function = vel_x
variable = vel_x
execute_on = 'initial timestep_begin'
[../]
[./vel_y]
type = FunctionAux
function = vel_y
variable = vel_y
execute_on = 'initial timestep_begin'
[../]
[]
[Variables]
[./phi]
family = LAGRANGE
order = FIRST
[../]
[]
[Functions]
[./phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.01184
center = '0.5 0.75 0'
radius = 0.15
[../]
[./vel_x]
type = LevelSetOlssonVortex
component = x
reverse_time = 2
[../]
[./vel_y]
type = LevelSetOlssonVortex
component = y
reverse_time = 2
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[./advection_supg]
type = LevelSetAdvectionSUPG
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[./time_supg]
type = LevelSetTimeDerivativeSUPG
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[]
[Postprocessors]
[./area]
type = LevelSetVolume
threshold = 0.5
variable = phi
location = outside
execute_on = 'initial timestep_end'
[../]
[./cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 2
scheme = crank-nicolson
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 0.8
[../]
[]
[Outputs]
csv = true
exodus = true
[]
test/tests/misc/check_error/function_file_test2.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_rows.csv #Will generate error because data is expected in columns
format = columns
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/porous_flow/test/tests/newton_cooling/nc04.i
# Newton cooling from a bar. Heat conduction
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0
xmax = 100
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp'
number_fluid_phases = 0
number_fluid_components = 0
[../]
[]
[Variables]
[./temp]
[../]
[]
[ICs]
[./temp]
type = FunctionIC
variable = temp
function = '2-x/100'
[../]
[]
[Kernels]
[./conduction]
type = PorousFlowHeatConduction
variable = temp
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./thermal_conductivity_irrelevant]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '1E2 0 0 0 1E2 0 0 0 1E2'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = temp
boundary = left
value = 2
[../]
[./newton]
type = PorousFlowPiecewiseLinearSink
variable = temp
boundary = right
pt_vals = '0 1 2'
multipliers = '-1 0 1'
flux_function = 1
[../]
[]
[VectorPostprocessors]
[./temp]
type = LineValueSampler
variable = temp
start_point = '0 0.5 0'
end_point = '100 0.5 0'
sort_by = x
num_points = 11
execute_on = timestep_end
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol '
petsc_options_value = 'gmres asm lu 100 NONZERO 2 1E-14 1E-12'
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base = nc04
execute_on = timestep_end
exodus = false
[./along_line]
type = CSV
execute_vector_postprocessors_on = timestep_end
[../]
[]
modules/phase_field/examples/multiphase/GrandPotential3Phase.i
# This is an example of implementation of the multi-phase, multi-order parameter
# grand potential based phase-field model described in Phys. Rev. E, 98, 023309
# (2019). It includes 3 phases with 1 grain of each phase. This example was used
# to generate the results shown in Fig. 3 of the paper.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 60
xmin = -15
xmax = 15
[]
[Variables]
[./w]
[../]
[./etaa0]
[../]
[./etab0]
[../]
[./etad0]
[../]
[]
[ICs]
[./IC_etaa0]
type = FunctionIC
variable = etaa0
function = ic_func_etaa0
[../]
[./IC_etab0]
type = FunctionIC
variable = etab0
function = ic_func_etab0
[../]
[./IC_etad0]
type = ConstantIC
variable = etad0
value = 0.1
[../]
[./IC_w]
type = FunctionIC
variable = w
function = ic_func_w
[../]
[]
[Functions]
[./ic_func_etaa0]
type = ParsedFunction
value = '0.9*0.5*(1.0-tanh((x)/sqrt(2.0)))'
[../]
[./ic_func_etab0]
type = ParsedFunction
value = '0.9*0.5*(1.0+tanh((x)/sqrt(2.0)))'
[../]
[./ic_func_w]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
# Order parameter eta_alpha0
[./ACa0_bulk]
type = ACGrGrMulti
variable = etaa0
v = 'etab0 etad0'
gamma_names = 'gab gad'
[../]
[./ACa0_sw]
type = ACSwitching
variable = etaa0
Fj_names = 'omegaa omegab omegad'
hj_names = 'ha hb hd'
args = 'etab0 etad0 w'
[../]
[./ACa0_int]
type = ACInterface
variable = etaa0
kappa_name = kappa
[../]
[./ea0_dot]
type = TimeDerivative
variable = etaa0
[../]
# Order parameter eta_beta0
[./ACb0_bulk]
type = ACGrGrMulti
variable = etab0
v = 'etaa0 etad0'
gamma_names = 'gab gbd'
[../]
[./ACb0_sw]
type = ACSwitching
variable = etab0
Fj_names = 'omegaa omegab omegad'
hj_names = 'ha hb hd'
args = 'etaa0 etad0 w'
[../]
[./ACb0_int]
type = ACInterface
variable = etab0
kappa_name = kappa
[../]
[./eb0_dot]
type = TimeDerivative
variable = etab0
[../]
# Order parameter eta_delta0
[./ACd0_bulk]
type = ACGrGrMulti
variable = etad0
v = 'etaa0 etab0'
gamma_names = 'gad gbd'
[../]
[./ACd0_sw]
type = ACSwitching
variable = etad0
Fj_names = 'omegaa omegab omegad'
hj_names = 'ha hb hd'
args = 'etaa0 etab0 w'
[../]
[./ACd0_int]
type = ACInterface
variable = etad0
kappa_name = kappa
[../]
[./ed0_dot]
type = TimeDerivative
variable = etad0
[../]
#Chemical potential
[./w_dot]
type = SusceptibilityTimeDerivative
variable = w
f_name = chi
args = 'etaa0 etab0 etad0'
[../]
[./Diffusion]
type = MatDiffusion
variable = w
diffusivity = Dchi
args = ''
[../]
[./coupled_etaa0dot]
type = CoupledSwitchingTimeDerivative
variable = w
v = etaa0
Fj_names = 'rhoa rhob rhod'
hj_names = 'ha hb hd'
args = 'etaa0 etab0 etad0'
[../]
[./coupled_etab0dot]
type = CoupledSwitchingTimeDerivative
variable = w
v = etab0
Fj_names = 'rhoa rhob rhod'
hj_names = 'ha hb hd'
args = 'etaa0 etab0 etad0'
[../]
[./coupled_etad0dot]
type = CoupledSwitchingTimeDerivative
variable = w
v = etad0
Fj_names = 'rhoa rhob rhod'
hj_names = 'ha hb hd'
args = 'etaa0 etab0 etad0'
[../]
[]
[Materials]
[./ha_test]
type = SwitchingFunctionMultiPhaseMaterial
h_name = ha
all_etas = 'etaa0 etab0 etad0'
phase_etas = 'etaa0'
[../]
[./hb_test]
type = SwitchingFunctionMultiPhaseMaterial
h_name = hb
all_etas = 'etaa0 etab0 etad0'
phase_etas = 'etab0'
[../]
[./hd_test]
type = SwitchingFunctionMultiPhaseMaterial
h_name = hd
all_etas = 'etaa0 etab0 etad0'
phase_etas = 'etad0'
[../]
[./omegaa]
type = DerivativeParsedMaterial
args = 'w'
f_name = omegaa
material_property_names = 'Vm ka caeq'
function = '-0.5*w^2/Vm^2/ka-w/Vm*caeq'
derivative_order = 2
[../]
[./omegab]
type = DerivativeParsedMaterial
args = 'w'
f_name = omegab
material_property_names = 'Vm kb cbeq'
function = '-0.5*w^2/Vm^2/kb-w/Vm*cbeq'
derivative_order = 2
[../]
[./omegad]
type = DerivativeParsedMaterial
args = 'w'
f_name = omegad
material_property_names = 'Vm kd cdeq'
function = '-0.5*w^2/Vm^2/kd-w/Vm*cdeq'
derivative_order = 2
[../]
[./rhoa]
type = DerivativeParsedMaterial
args = 'w'
f_name = rhoa
material_property_names = 'Vm ka caeq'
function = 'w/Vm^2/ka + caeq/Vm'
derivative_order = 2
[../]
[./rhob]
type = DerivativeParsedMaterial
args = 'w'
f_name = rhob
material_property_names = 'Vm kb cbeq'
function = 'w/Vm^2/kb + cbeq/Vm'
derivative_order = 2
[../]
[./rhod]
type = DerivativeParsedMaterial
args = 'w'
f_name = rhod
material_property_names = 'Vm kd cdeq'
function = 'w/Vm^2/kd + cdeq/Vm'
derivative_order = 2
[../]
[./c]
type = ParsedMaterial
material_property_names = 'Vm rhoa rhob rhod ha hb hd'
function = 'Vm * (ha * rhoa + hb * rhob + hd * rhod)'
f_name = c
[../]
[./const]
type = GenericConstantMaterial
prop_names = 'kappa_c kappa L D Vm ka caeq kb cbeq kd cdeq gab gad gbd mu tgrad_corr_mult'
prop_values = '0 1 1.0 1.0 1.0 10.0 0.1 10.0 0.9 10.0 0.5 1.5 1.5 1.5 1.0 0.0'
[../]
[./Mobility]
type = DerivativeParsedMaterial
f_name = Dchi
material_property_names = 'D chi'
function = 'D*chi'
derivative_order = 2
[../]
[./chi]
type = DerivativeParsedMaterial
f_name = chi
material_property_names = 'Vm ha(etaa0,etab0,etad0) ka hb(etaa0,etab0,etad0) kb hd(etaa0,etab0,etad0) kd'
function = '(ha/ka + hb/kb + hd/kd) / Vm^2'
args = 'etaa0 etab0 etad0'
derivative_order = 2
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./etaa0]
type = LineValueSampler
variable = etaa0
start_point = '-15 0 0'
end_point = '15 0 0'
num_points = 61
sort_by = x
execute_on = 'initial timestep_end final'
[../]
[./etab0]
type = LineValueSampler
variable = etab0
start_point = '-15 0 0'
end_point = '15 0 0'
num_points = 61
sort_by = x
execute_on = 'initial timestep_end final'
[../]
[./etad0]
type = LineValueSampler
variable = etad0
start_point = '-15 0 0'
end_point = '15 0 0'
num_points = 61
sort_by = x
execute_on = 'initial timestep_end final'
[../]
[]
[Executioner]
type = Transient
nl_max_its = 15
scheme = bdf2
solve_type = PJFNK
petsc_options_iname = -pc_type
petsc_options_value = asm
l_max_its = 15
l_tol = 1.0e-3
nl_rel_tol = 1.0e-8
start_time = 0.0
num_steps = 20
nl_abs_tol = 1e-10
dt = 1.0
[]
[Outputs]
[./exodus]
type = Exodus
execute_on = 'initial timestep_end final'
interval = 1
[../]
[./csv]
type = CSV
execute_on = 'initial timestep_end final'
interval = 1
[../]
[]
test/tests/multiapps/centroid_multiapp/centroid_multiapp.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 3
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./x]
family = MONOMIAL
order = CONSTANT
[../]
[./y]
family = MONOMIAL
order = CONSTANT
[../]
[]
[ICs]
[./x]
type = FunctionIC
function = x
variable = x
[../]
[./y]
type = FunctionIC
function = y
variable = y
[../]
[]
[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 = Transient
num_steps = 1
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
solve_type = PJFNK
[]
[Outputs]
exodus = true
[]
[MultiApps]
[sub]
type = CentroidMultiApp
input_files = 'sub_app.i'
output_in_position = true
[]
[]
[Transfers]
[./incoming_x]
type = MultiAppVariableValueSamplePostprocessorTransfer
source_variable = x
direction = to_multiapp
multi_app = sub
postprocessor = incoming_x
[../]
[./incoming_y]
type = MultiAppVariableValueSamplePostprocessorTransfer
source_variable = y
direction = to_multiapp
multi_app = sub
postprocessor = incoming_y
[../]
[]
modules/richards/test/tests/sinks/q2p01.i
# Q2PPiecewiseLinearSink (and the Flux Postprocessor)
# There are three sinks: water with no relperm and density;
# water with relperm and density; gas with relperm and density.
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[UserObjects]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = Q2PRelPermPowerGas
simm = 0.0
n = 3
[../]
[]
[Variables]
[./pp]
[./InitialCondition]
type = FunctionIC
function = 1
[../]
[../]
[./sat]
[./InitialCondition]
type = FunctionIC
function = 0.5
[../]
[../]
[]
[Q2P]
porepressure = pp
saturation = sat
water_density = DensityWater
water_relperm = RelPermWater
water_viscosity = 0.8
gas_density = DensityGas
gas_relperm = RelPermGas
gas_viscosity = 0.5
diffusivity = 0.0
output_total_masses_to = 'CSV'
save_gas_flux_in_Q2PGasFluxResidual = true
save_water_flux_in_Q2PWaterFluxResidual = true
save_gas_Jacobian_in_Q2PGasJacobian = true
save_water_Jacobian_in_Q2PWaterJacobian = true
[]
[Postprocessors]
[./left_water_out]
type = Q2PPiecewiseLinearSinkFlux
boundary = left
porepressure = pp
pressures = '0 1'
bare_fluxes = '0 1.5'
multiplying_fcn = 0.1
execute_on = 'initial timestep_end'
[../]
[./right_water_out]
type = Q2PPiecewiseLinearSinkFlux
boundary = right
porepressure = pp
pressures = '0 1'
bare_fluxes = '1 2'
fluid_density = DensityWater
fluid_viscosity = 0.8
fluid_relperm = RelPermWater
saturation = sat
execute_on = 'initial timestep_end'
[../]
[./right_gas_out]
type = Q2PPiecewiseLinearSinkFlux
boundary = right
porepressure = pp
pressures = '0 1'
bare_fluxes = '1 1'
fluid_density = DensityGas
fluid_viscosity = 0.5
fluid_relperm = RelPermGas
saturation = sat
execute_on = 'initial timestep_end'
[../]
[./p_left]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./sat_left]
type = PointValue
point = '0 0 0'
variable = sat
execute_on = 'initial timestep_end'
[../]
[./p_right]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./sat_right]
type = PointValue
point = '1 0 0'
variable = sat
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./left_water]
type = Q2PPiecewiseLinearSink
boundary = left
pressures = '0 1'
bare_fluxes = '0 1.5'
multiplying_fcn = 0.1
variable = sat
other_var = pp
var_is_porepressure = false
use_mobility = false
use_relperm = false
fluid_density = DensityWater
fluid_viscosity = 0.8
fluid_relperm = RelPermWater
[../]
[./right_water]
type = Q2PPiecewiseLinearSink
boundary = right
pressures = '0 1'
bare_fluxes = '1 2'
variable = sat
other_var = pp
var_is_porepressure = false
use_mobility = true
use_relperm = true
fluid_density = DensityWater
fluid_viscosity = 0.8
fluid_relperm = RelPermWater
[../]
[./right_gas]
type = Q2PPiecewiseLinearSink
boundary = right
pressures = '0 1'
bare_fluxes = '1 1'
variable = pp
other_var = sat
var_is_porepressure = true
use_mobility = true
use_relperm = true
fluid_density = DensityGas
fluid_viscosity = 0.5
fluid_relperm = RelPermGas
[../]
[]
[AuxVariables]
[./one]
initial_condition = 1
[../]
[]
[Materials]
[./rock]
type = Q2PMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
gravity = '0 0 0'
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 0.1
end_time = 0.5
[]
[Outputs]
file_base = q2p01
exodus = true
[./CSV]
type = CSV
[../]
[]
modules/tensor_mechanics/test/tests/interface_stress/test.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
ny = 10
nz = 10
xmax = 1
ymax = 1
zmax = 1
xmin = -1
ymin = -1
zmin = -1
[]
[GlobalParams]
order = CONSTANT
family = MONOMIAL
rank_two_tensor = extra_stress
[]
[Functions]
[./sphere]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2); if(r>1,0,1-3*r^2+2*r^3)'
[../]
[]
[Variables]
[./dummy]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = dummy
[../]
[]
[AuxVariables]
[./eta]
[./InitialCondition]
type = FunctionIC
function = sphere
[../]
order = FIRST
family = LAGRANGE
[../]
[./s00]
[../]
[./s01]
[../]
[./s02]
[../]
[./s10]
[../]
[./s11]
[../]
[./s12]
[../]
[./s20]
[../]
[./s21]
[../]
[./s22]
[../]
[]
[AuxKernels]
[./s00]
type = RankTwoAux
variable = s00
index_i = 0
index_j = 0
[../]
[./s01]
type = RankTwoAux
variable = s01
index_i = 0
index_j = 1
[../]
[./s02]
type = RankTwoAux
variable = s02
index_i = 0
index_j = 2
[../]
[./s10]
type = RankTwoAux
variable = s10
index_i = 1
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
index_i = 1
index_j = 1
[../]
[./s12]
type = RankTwoAux
variable = s12
index_i = 1
index_j = 2
[../]
[./s20]
type = RankTwoAux
variable = s20
index_i = 2
index_j = 0
[../]
[./s21]
type = RankTwoAux
variable = s21
index_i = 2
index_j = 1
[../]
[./s22]
type = RankTwoAux
variable = s22
index_i = 2
index_j = 2
[../]
[]
[Materials]
[./interface]
type = ComputeInterfaceStress
v = eta
stress = 3.0
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
execute_on = timestep_end
hide = 'dummy eta'
[]
modules/combined/test/tests/DiffuseCreep/strain_gb_relax.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.1*v'
[../]
[../]
[./mu]
[../]
[./jx]
[../]
[./jy]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./strain_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./strain_xy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = mu_prop
c = c
[../]
[./flux_x]
type = CHSplitFlux
variable = jx
component = 0
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./flux_y]
type = CHSplitFlux
variable = jy
component = 1
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./strain_xx]
type = RankTwoAux
variable = strain_xx
rank_two_tensor = strain
index_i = 0
index_j = 0
[../]
[./strain_yy]
type = RankTwoAux
variable = strain_yy
rank_two_tensor = strain
index_i = 1
index_j = 1
[../]
[./strain_xy]
type = RankTwoAux
variable = strain_xy
rank_two_tensor = strain
index_i = 0
index_j = 1
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[./gb_relax_prefactor]
type = DerivativeParsedMaterial
block = 0
function = '0.01*(c-0.15)*gb'
args = 'c gb'
f_name = gb_relax_prefactor
derivative_order = 1
[../]
[./gb_relax]
type = GBRelaxationStrainIncrement
property_name = gb_relax
prefactor_name = gb_relax_prefactor
gb_normal_name = gb_normal
[../]
[./strain]
type = SumTensorIncrements
tensor_name = strain
coupled_tensor_increment_names = gb_relax
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_max_its = 5
dt = 20
num_steps = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/shape_element_user_object/shape_element_user_object.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = (x-0.5)^2
[../]
[../]
[./v]
order = THIRD
family = HERMITE
[./InitialCondition]
type = FunctionIC
function = (y-0.5)^2
[../]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[./time_u]
type = TimeDerivative
variable = u
[../]
[./time_v]
type = TimeDerivative
variable = v
[../]
[]
[UserObjects]
[./test]
type = TestShapeElementUserObject
u = u
# first order lagrange variables have 4 DOFs per element
u_dofs = 4
v = v
# third order hermite variables have 16 DOFs per element
v_dofs = 16
# as this userobject computes quantities for both the residual AND the jacobian
# it needs to have these execute_on flags set.
execute_on = 'linear nonlinear'
[../]
[]
[Executioner]
type = Transient
dt = 0.1
num_steps = 2
[]
modules/porous_flow/test/tests/poroperm/except1.i
# Exception test: thermal=true but no thermal_expansion_coeff provided
[Mesh]
type = GeneratedMesh
dim = 3
[]
[GlobalParams]
PorousFlowDictator = dictator
displacements = 'disp_x disp_y disp_z'
biot_coefficient = 0.7
[]
[Variables]
[./porepressure]
initial_condition = 2
[../]
[./temperature]
initial_condition = 4
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[ICs]
[./disp_x]
type = FunctionIC
function = '0.5 * x'
variable = disp_x
[../]
[]
[Kernels]
[./dummy_p]
type = TimeDerivative
variable = porepressure
[../]
[./dummy_t]
type = TimeDerivative
variable = temperature
[../]
[./dummy_x]
type = TimeDerivative
variable = disp_x
[../]
[./dummy_y]
type = TimeDerivative
variable = disp_y
[../]
[./dummy_z]
type = TimeDerivative
variable = disp_z
[../]
[]
[AuxVariables]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
[../]
[]
[Postprocessors]
[./porosity]
type = PointValue
variable = porosity
point = '0 0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure temperature'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./eff_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./vol_strain]
type = PorousFlowVolumetricStrain
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./porosity]
type = PorousFlowPorosity
mechanical = true
fluid = true
thermal = true
ensure_positive = false
porosity_zero = 0.5
solid_bulk = 0.3
reference_porepressure = 3
reference_temperature = 3.5
[../]
[]
[Executioner]
solve_type = Newton
type = Transient
num_steps = 1
[]
[Outputs]
csv = true
[]
modules/porous_flow/examples/coal_mining/fine_with_fluid.i
#################################################################
#
# NOTE:
# The mesh for this model is too large for the MOOSE repository
# so is kept in the the large_media submodule
#
#################################################################
#
# Strata deformation and fluid flow aaround a coal mine - 3D model
#
# A "half model" is used. The mine is 400m deep and
# just the roof is studied (-400<=z<=0). The mining panel
# sits between 0<=x<=150, and 0<=y<=1000, so this simulates
# a coal panel that is 300m wide and 1000m long. The outer boundaries
# are 1km from the excavation boundaries.
#
# The excavation takes 0.5 years.
#
# The boundary conditions for this simulation are:
# - disp_x = 0 at x=0 and x=1150
# - disp_y = 0 at y=-1000 and y=1000
# - disp_z = 0 at z=-400, but there is a time-dependent
# Young modulus that simulates excavation
# - wc_x = 0 at y=-1000 and y=1000
# - wc_y = 0 at x=0 and x=1150
# - no flow at x=0, z=-400 and z=0
# - fixed porepressure at y=-1000, y=1000 and x=1150
# That is, rollers on the sides, free at top,
# and prescribed at bottom in the unexcavated portion.
#
# A single-phase unsaturated fluid is used.
#
# The small strain formulation is used.
#
# All stresses are measured in MPa, and time units are measured in years.
#
# The initial porepressure is hydrostatic with P=0 at z=0, so
# Porepressure ~ - 0.01*z MPa, where the fluid has density 1E3 kg/m^3 and
# gravity = = 10 m.s^-2 = 1E-5 MPa m^2/kg.
# To be more accurate, i use
# Porepressure = -bulk * log(1 + g*rho0*z/bulk)
# where bulk=2E3 MPa and rho0=1Ee kg/m^3.
# The initial stress is consistent with the weight force from undrained
# density 2500 kg/m^3, and fluid porepressure, and a Biot coefficient of 0.7, ie,
# stress_zz^effective = 0.025*z + 0.7 * initial_porepressure
# The maximum and minimum principal horizontal effective stresses are
# assumed to be equal to 0.8*stress_zz.
#
# Material properties:
# Young's modulus = 8 GPa
# Poisson's ratio = 0.25
# Cosserat layer thickness = 1 m
# Cosserat-joint normal stiffness = large
# Cosserat-joint shear stiffness = 1 GPa
# MC cohesion = 2 MPa
# MC friction angle = 35 deg
# MC dilation angle = 8 deg
# MC tensile strength = 1 MPa
# MC compressive strength = 100 MPa
# WeakPlane cohesion = 0.1 MPa
# WeakPlane friction angle = 30 deg
# WeakPlane dilation angle = 10 deg
# WeakPlane tensile strength = 0.1 MPa
# WeakPlane compressive strength = 100 MPa softening to 1 MPa at strain = 1
# Fluid density at zero porepressure = 1E3 kg/m^3
# Fluid bulk modulus = 2E3 MPa
# Fluid viscosity = 1.1E-3 Pa.s = 1.1E-9 MPa.s = 3.5E-17 MPa.year
#
[GlobalParams]
perform_finite_strain_rotations = false
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
PorousFlowDictator = dictator
biot_coefficient = 0.7
[]
[Mesh]
[file]
type = FileMeshGenerator
file = fine.e
[]
[./xmin]
type = SideSetsAroundSubdomainGenerator
block = '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'
new_boundary = xmin
normal = '-1 0 0'
input = file
[../]
[./xmax]
type = SideSetsAroundSubdomainGenerator
block = '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'
new_boundary = xmax
normal = '1 0 0'
input = xmin
[../]
[./ymin]
type = SideSetsAroundSubdomainGenerator
block = '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'
new_boundary = ymin
normal = '0 -1 0'
input = xmax
[../]
[./ymax]
type = SideSetsAroundSubdomainGenerator
block = '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'
new_boundary = ymax
normal = '0 1 0'
input = ymin
[../]
[./zmax]
type = SideSetsAroundSubdomainGenerator
block = 30
new_boundary = zmax
normal = '0 0 1'
input = ymax
[../]
[./zmin]
type = SideSetsAroundSubdomainGenerator
block = 2
new_boundary = zmin
normal = '0 0 -1'
input = zmax
[../]
[./excav]
type = SubdomainBoundingBoxGenerator
input = zmin
block_id = 1
bottom_left = '0 0 -400'
top_right = '150 1000 -397'
[../]
[./roof]
type = SideSetsBetweenSubdomainsGenerator
master_block = 3
paired_block = 1
input = excav
new_boundary = roof
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[./wc_y]
[../]
[./porepressure]
scaling = 1E-5
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = ini_pp
[../]
[]
[Kernels]
[./cx_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_x
component = 0
[../]
[./cy_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./y_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_y
displacements = 'wc_x wc_y wc_z'
component = 1
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_x
component = 0
[../]
[./y_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_y
component = 1
[../]
[./gravity]
type = Gravity
use_displaced_mesh = false
variable = disp_z
value = -10E-6 # remember this is in MPa
[../]
[./poro_x]
type = PorousFlowEffectiveStressCoupling
use_displaced_mesh = false
variable = disp_x
component = 0
[../]
[./poro_y]
type = PorousFlowEffectiveStressCoupling
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./poro_z]
type = PorousFlowEffectiveStressCoupling
use_displaced_mesh = false
component = 2
variable = disp_z
[../]
[./poro_vol_exp]
type = PorousFlowMassVolumetricExpansion
use_displaced_mesh = false
block = '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'
variable = porepressure
fluid_component = 0
[../]
[./mass0]
type = PorousFlowMassTimeDerivative
use_displaced_mesh = false
fluid_component = 0
variable = porepressure
[../]
[./flux]
type = PorousFlowAdvectiveFlux
use_displaced_mesh = false
variable = porepressure
gravity = '0 0 -10E-6'
fluid_component = 0
[../]
[]
[AuxVariables]
[./saturation]
order = CONSTANT
family = MONOMIAL
[../]
[./darcy_x]
order = CONSTANT
family = MONOMIAL
[../]
[./darcy_y]
order = CONSTANT
family = MONOMIAL
[../]
[./darcy_z]
order = CONSTANT
family = MONOMIAL
[../]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[./wc_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_yx]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_zy]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./perm_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./perm_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./perm_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./saturation_water]
type = PorousFlowPropertyAux
variable = saturation
property = saturation
phase = 0
execute_on = timestep_end
[../]
[./darcy_x]
type = PorousFlowDarcyVelocityComponent
variable = darcy_x
gravity = '0 0 -10E-6'
component = x
[../]
[./darcy_y]
type = PorousFlowDarcyVelocityComponent
variable = darcy_y
gravity = '0 0 -10E-6'
component = y
[../]
[./darcy_z]
type = PorousFlowDarcyVelocityComponent
variable = darcy_z
gravity = '0 0 -10E-6'
component = z
[../]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
execute_on = timestep_end
[../]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_xz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xz
index_i = 0
index_j = 2
execute_on = timestep_end
[../]
[./stress_yx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yx
index_i = 1
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_yz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yz
index_i = 1
index_j = 2
execute_on = timestep_end
[../]
[./stress_zx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zx
index_i = 2
index_j = 0
execute_on = timestep_end
[../]
[./stress_zy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zy
index_i = 2
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./total_strain_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./total_strain_xy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./total_strain_xz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_xz
index_i = 0
index_j = 2
execute_on = timestep_end
[../]
[./total_strain_yx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_yx
index_i = 1
index_j = 0
execute_on = timestep_end
[../]
[./total_strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./total_strain_yz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_yz
index_i = 1
index_j = 2
execute_on = timestep_end
[../]
[./total_strain_zx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_zx
index_i = 2
index_j = 0
execute_on = timestep_end
[../]
[./total_strain_zy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_zy
index_i = 2
index_j = 1
execute_on = timestep_end
[../]
[./total_strain_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./perm_xx]
type = PorousFlowPropertyAux
property = permeability
variable = perm_xx
row = 0
column = 0
execute_on = timestep_end
[../]
[./perm_yy]
type = PorousFlowPropertyAux
property = permeability
variable = perm_yy
row = 1
column = 1
execute_on = timestep_end
[../]
[./perm_zz]
type = PorousFlowPropertyAux
property = permeability
variable = perm_zz
row = 2
column = 2
execute_on = timestep_end
[../]
[./mc_shear]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_internal_parameter
variable = mc_shear
execute_on = timestep_end
[../]
[./mc_tensile]
type = MaterialStdVectorAux
index = 1
property = mc_plastic_internal_parameter
variable = mc_tensile
execute_on = timestep_end
[../]
[./wp_shear]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_internal_parameter
variable = wp_shear
execute_on = timestep_end
[../]
[./wp_tensile]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_internal_parameter
variable = wp_tensile
execute_on = timestep_end
[../]
[./mc_shear_f]
type = MaterialStdVectorAux
index = 6
property = mc_plastic_yield_function
variable = mc_shear_f
execute_on = timestep_end
[../]
[./mc_tensile_f]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_yield_function
variable = mc_tensile_f
execute_on = timestep_end
[../]
[./wp_shear_f]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_yield_function
variable = wp_shear_f
execute_on = timestep_end
[../]
[./wp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_yield_function
variable = wp_tensile_f
execute_on = timestep_end
[../]
[]
[BCs]
[./no_x]
type = DirichletBC
variable = disp_x
boundary = 'xmin xmax'
value = 0.0
[../]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = 'ymin ymax'
value = 0.0
[../]
[./no_z]
type = DirichletBC
variable = disp_z
boundary = zmin
value = 0.0
[../]
[./no_wc_x]
type = DirichletBC
variable = wc_x
boundary = 'ymin ymax'
value = 0.0
[../]
[./no_wc_y]
type = DirichletBC
variable = wc_y
boundary = 'xmin xmax'
value = 0.0
[../]
[./fix_porepressure]
type = FunctionDirichletBC
variable = porepressure
boundary = 'ymin ymax xmax'
function = ini_pp
[../]
[./roof_porepressure]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
pt_vals = '-1E3 1E3'
multipliers = '-1 1'
fluid_phase = 0
flux_function = roof_conductance
boundary = roof
[../]
[./roof]
type = StickyBC
variable = disp_z
min_value = -3.0
boundary = roof
[../]
[]
[Functions]
[./ini_pp]
type = ParsedFunction
vars = 'bulk p0 g rho0'
vals = '2E3 0.0 1E-5 1E3'
value = '-bulk*log(exp(-p0/bulk)+g*rho0*z/bulk)'
[../]
[./ini_xx]
type = ParsedFunction
vars = 'bulk p0 g rho0 biot'
vals = '2E3 0.0 1E-5 1E3 0.7'
value = '0.8*(2500*10E-6*z+biot*(-bulk*log(exp(-p0/bulk)+g*rho0*z/bulk)))'
[../]
[./ini_zz]
type = ParsedFunction
vars = 'bulk p0 g rho0 biot'
vals = '2E3 0.0 1E-5 1E3 0.7'
value = '2500*10E-6*z+biot*(-bulk*log(exp(-p0/bulk)+g*rho0*z/bulk))'
[../]
[./excav_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax minval maxval slope'
vals = '0.5 0 1000.0 1E-9 1 10'
# excavation face at ymin+(ymax-ymin)*min(t/end_t,1)
# slope is the distance over which the modulus reduces from maxval to minval
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),minval,if(y<ymin+(ymax-ymin)*min(t/end_t,1)+slope,minval+(maxval-minval)*(y-(ymin+(ymax-ymin)*min(t/end_t,1)))/slope,maxval))'
[../]
[./density_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax minval maxval'
vals = '0.5 0 1000.0 0 2500'
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),minval,maxval)'
[../]
[./roof_conductance]
type = ParsedFunction
vars = 'end_t ymin ymax maxval minval'
vals = '0.5 0 1000.0 1E7 0'
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),maxval,minval)'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure disp_x disp_y disp_z'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1 # MPa^-1
[../]
[./mc_coh_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.99 # MPa
value_residual = 2.01 # MPa
rate = 1.0
[../]
[./mc_fric]
type = TensorMechanicsHardeningConstant
value = 0.61 # 35deg
[../]
[./mc_dil]
type = TensorMechanicsHardeningConstant
value = 0.15 # 8deg
[../]
[./mc_tensile_str_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.0 # MPa
value_residual = 1.0 # MPa
rate = 1.0
[../]
[./mc_compressive_str]
type = TensorMechanicsHardeningCubic
value_0 = 100 # Large!
value_residual = 100
internal_limit = 0.1
[../]
[./wp_coh_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.05
value_residual = 0.05
internal_limit = 10
[../]
[./wp_tan_fric]
type = TensorMechanicsHardeningConstant
value = 0.26 # 15deg
[../]
[./wp_tan_dil]
type = TensorMechanicsHardeningConstant
value = 0.18 # 10deg
[../]
[./wp_tensile_str_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.05
value_residual = 0.05
internal_limit = 10
[../]
[./wp_compressive_str_soften]
type = TensorMechanicsHardeningCubic
value_0 = 100
value_residual = 1
internal_limit = 1.0
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E3
density0 = 1000
thermal_expansion = 0
viscosity = 3.5E-17
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./eff_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./vol_strain]
type = PorousFlowVolumetricStrain
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity_for_aux]
type = PorousFlowPorosity
at_nodes = false
fluid = true
mechanical = true
ensure_positive = true
porosity_zero = 0.02
solid_bulk = 5.3333E3
[../]
[./porosity_bulk]
type = PorousFlowPorosity
fluid = true
mechanical = true
block = '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'
ensure_positive = true
porosity_zero = 0.02
solid_bulk = 5.3333E3
[../]
[./porosity_excav]
type = PorousFlowPorosityConst
block = 1
porosity = 1.0
[../]
[./permeability_bulk]
type = PorousFlowPermeabilityKozenyCarman
block = '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'
poroperm_function = kozeny_carman_phi0
k0 = 1E-15
phi0 = 0.02
n = 2
m = 2
[../]
[./permeability_excav]
type = PorousFlowPermeabilityConst
block = 1
permeability = '0 0 0 0 0 0 0 0 0'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 4
s_res = 0.4
sum_s_res = 0.4
phase = 0
[../]
[./elasticity_tensor_0]
type = ComputeLayeredCosseratElasticityTensor
block = '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'
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3 # MPa
[../]
[./elasticity_tensor_1]
type = ComputeLayeredCosseratElasticityTensor
block = 1
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3 # MPa
elasticity_tensor_prefactor = excav_sideways
[../]
[./strain]
type = ComputeCosseratIncrementalSmallStrain
eigenstrain_names = ini_stress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
eigenstrain_name = ini_stress
initial_stress = 'ini_xx 0 0 0 ini_xx 0 0 0 ini_zz'
[../]
[./stress_0]
type = ComputeMultipleInelasticCosseratStress
block = '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'
inelastic_models = 'mc wp'
cycle_models = true
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./stress_1]
type = ComputeMultipleInelasticCosseratStress
block = 1
inelastic_models = ''
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./mc]
type = CappedMohrCoulombCosseratStressUpdate
warn_about_precision_loss = false
host_youngs_modulus = 8E3
host_poissons_ratio = 0.25
base_name = mc
tensile_strength = mc_tensile_str_strong_harden
compressive_strength = mc_compressive_str
cohesion = mc_coh_strong_harden
friction_angle = mc_fric
dilation_angle = mc_dil
max_NR_iterations = 100000
smoothing_tol = 0.1 # MPa # Must be linked to cohesion
yield_function_tol = 1E-9 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./wp]
type = CappedWeakPlaneCosseratStressUpdate
warn_about_precision_loss = false
base_name = wp
cohesion = wp_coh_harden
tan_friction_angle = wp_tan_fric
tan_dilation_angle = wp_tan_dil
tensile_strength = wp_tensile_str_harden
compressive_strength = wp_compressive_str_soften
max_NR_iterations = 10000
tip_smoother = 0.05
smoothing_tol = 0.05 # MPa # Note, this must be tied to cohesion, otherwise get no possible return at cone apex
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0E-3
[../]
[./undrained_density_0]
type = GenericConstantMaterial
block = '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'
prop_names = density
prop_values = 2500
[../]
[./undrained_density_1]
type = GenericFunctionMaterial
block = 1
prop_names = density
prop_values = density_sideways
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[]
[]
[Postprocessors]
[./min_roof_disp]
type = NodalExtremeValue
boundary = roof
value_type = min
variable = disp_z
[../]
[./min_roof_pp]
type = NodalExtremeValue
boundary = roof
value_type = min
variable = porepressure
[../]
[./min_surface_disp]
type = NodalExtremeValue
boundary = zmax
value_type = min
variable = disp_z
[../]
[./min_surface_pp]
type = NodalExtremeValue
boundary = zmax
value_type = min
variable = porepressure
[../]
[./max_perm_zz]
type = ElementExtremeValue
block = '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'
variable = perm_zz
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
# best overall
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
# best if you don't have mumps:
#petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
#petsc_options_value = ' asm 2 lu gmres 200'
# very basic:
#petsc_options_iname = '-pc_type -ksp_type -ksp_gmres_restart'
#petsc_options_value = ' bjacobi gmres 200'
line_search = bt
nl_abs_tol = 1e-3
nl_rel_tol = 1e-5
l_max_its = 200
nl_max_its = 30
start_time = 0.0
dt = 0.0025
end_time = 0.5
[]
[Outputs]
interval = 1
print_linear_residuals = true
exodus = true
csv = true
console = true
[]
test/tests/functions/image_function/component.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
component = 0
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/relperm/corey3.i
# Test Corey relative permeability curve by varying saturation over the mesh
# Residual saturation of phase 0: s0r = 0.2
# Residual saturation of phase 1: s1r = 0.3
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
family = LAGRANGE
order = FIRST
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityCorey
phase = 0
n = 2
s_res = 0.2
sum_s_res = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
s_res = 0.3
sum_s_res = 0.5
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-8
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/bcs/sin_bc/sin_dirichlet_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[Functions]
[./initial_value]
type = ParsedFunction
value = 'x'
[../]
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_value
[../]
[../]
[]
[Kernels]
active = 'diff ie'
[./diff]
type = Diffusion
variable = u
[../]
[./ie]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = SinDirichletBC
variable = u
boundary = 3
initial = 0.0
final = 1.0
duration = 10.0
[../]
[./right]
type = SinDirichletBC
variable = u
boundary = 1
initial = 1.0
final = 0.0
duration = 10.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
num_steps = 10
dt = 1.0
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/GrandPotentialPFM/GrandPotentialMultiphase.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
xmin = -20
xmax = 20
ymin = -20
ymax = 20
[]
[GlobalParams]
op_num = 2
var_name_base = etab
[]
[Variables]
[./w]
[../]
[./etaa0]
[../]
[./etab0]
[../]
[./etab1]
[../]
[]
[AuxVariables]
[./bnds]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./IC_etaa0]
type = FunctionIC
variable = etaa0
function = ic_func_etaa0
[../]
[./IC_etab0]
type = FunctionIC
variable = etab0
function = ic_func_etab0
[../]
[./IC_etab1]
type = FunctionIC
variable = etab1
function = ic_func_etab1
[../]
[./IC_w]
type = ConstantIC
value = -0.05
variable = w
[../]
[]
[Functions]
[./ic_func_etaa0]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2);0.5*(1.0-tanh((r-10.0)/sqrt(2.0)))'
[../]
[./ic_func_etab0]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2);0.5*(1.0+tanh((r-10)/sqrt(2.0)))*0.5*(1.0+tanh((y)/sqrt(2.0)))'
[../]
[./ic_func_etab1]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2);0.5*(1.0+tanh((r-10)/sqrt(2.0)))*0.5*(1.0-tanh((y)/sqrt(2.0)))'
[../]
[]
[BCs]
[]
[Kernels]
# Order parameter eta_alpha0
[./ACa0_bulk]
type = ACGrGrMulti
variable = etaa0
v = 'etab0 etab1'
gamma_names = 'gab gab'
[../]
[./ACa0_sw]
type = ACSwitching
variable = etaa0
Fj_names = 'omegaa omegab'
hj_names = 'ha hb'
args = 'etab0 etab1 w'
[../]
[./ACa0_int]
type = ACInterface
variable = etaa0
kappa_name = kappa
[../]
[./ea0_dot]
type = TimeDerivative
variable = etaa0
[../]
# Order parameter eta_beta0
[./ACb0_bulk]
type = ACGrGrMulti
variable = etab0
v = 'etaa0 etab1'
gamma_names = 'gab gbb'
[../]
[./ACb0_sw]
type = ACSwitching
variable = etab0
Fj_names = 'omegaa omegab'
hj_names = 'ha hb'
args = 'etaa0 etab1 w'
[../]
[./ACb0_int]
type = ACInterface
variable = etab0
kappa_name = kappa
[../]
[./eb0_dot]
type = TimeDerivative
variable = etab0
[../]
# Order parameter eta_beta1
[./ACb1_bulk]
type = ACGrGrMulti
variable = etab1
v = 'etaa0 etab0'
gamma_names = 'gab gbb'
[../]
[./ACb1_sw]
type = ACSwitching
variable = etab1
Fj_names = 'omegaa omegab'
hj_names = 'ha hb'
args = 'etaa0 etab0 w'
[../]
[./ACb1_int]
type = ACInterface
variable = etab1
kappa_name = kappa
[../]
[./eb1_dot]
type = TimeDerivative
variable = etab1
[../]
#Chemical potential
[./w_dot]
type = SusceptibilityTimeDerivative
variable = w
f_name = chi
args = '' # in this case chi (the susceptibility) is simply a constant
[../]
[./Diffusion]
type = MatDiffusion
variable = w
diffusivity = Dchi
args = ''
[../]
[./coupled_etaa0dot]
type = CoupledSwitchingTimeDerivative
variable = w
v = etaa0
Fj_names = 'rhoa rhob'
hj_names = 'ha hb'
args = 'etaa0 etab0 etab1'
[../]
[./coupled_etab0dot]
type = CoupledSwitchingTimeDerivative
variable = w
v = etab0
Fj_names = 'rhoa rhob'
hj_names = 'ha hb'
args = 'etaa0 etab0 etab1'
[../]
[./coupled_etab1dot]
type = CoupledSwitchingTimeDerivative
variable = w
v = etab1
Fj_names = 'rhoa rhob'
hj_names = 'ha hb'
args = 'etaa0 etab0 etab1'
[../]
[]
[AuxKernels]
[./BndsCalc]
type = BndsCalcAux
variable = bnds
execute_on = timestep_end
[../]
[]
# enable_jit set to false in many materials to make this test start up faster.
# It is recommended to set enable_jit = true or just remove these lines for
# production runs with this model
[Materials]
[./ha]
type = SwitchingFunctionMultiPhaseMaterial
h_name = ha
all_etas = 'etaa0 etab0 etab1'
phase_etas = 'etaa0'
[../]
[./hb]
type = SwitchingFunctionMultiPhaseMaterial
h_name = hb
all_etas = 'etaa0 etab0 etab1'
phase_etas = 'etab0 etab1'
[../]
[./omegaa]
type = DerivativeParsedMaterial
args = 'w'
f_name = omegaa
material_property_names = 'Vm ka caeq'
function = '-0.5*w^2/Vm^2/ka-w/Vm*caeq'
derivative_order = 2
enable_jit = false
[../]
[./omegab]
type = DerivativeParsedMaterial
args = 'w'
f_name = omegab
material_property_names = 'Vm kb cbeq'
function = '-0.5*w^2/Vm^2/kb-w/Vm*cbeq'
derivative_order = 2
enable_jit = false
[../]
[./rhoa]
type = DerivativeParsedMaterial
args = 'w'
f_name = rhoa
material_property_names = 'Vm ka caeq'
function = 'w/Vm^2/ka + caeq/Vm'
derivative_order = 2
enable_jit = false
[../]
[./rhob]
type = DerivativeParsedMaterial
args = 'w'
f_name = rhob
material_property_names = 'Vm kb cbeq'
function = 'w/Vm^2/kb + cbeq/Vm'
derivative_order = 2
enable_jit = false
[../]
[./const]
type = GenericConstantMaterial
prop_names = 'kappa_c kappa L D chi Vm ka caeq kb cbeq gab gbb mu'
prop_values = '0 1 1.0 1.0 1.0 1.0 10.0 0.1 10.0 0.9 4.5 1.5 1.0'
[../]
[./Mobility]
type = DerivativeParsedMaterial
f_name = Dchi
material_property_names = 'D chi'
function = 'D*chi'
derivative_order = 2
enable_jit = false
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 lu 1'
l_tol = 1.0e-3
nl_rel_tol = 1.0e-8
nl_abs_tol = 1e-8
num_steps = 2
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.1
[../]
[]
[Outputs]
exodus = true
[]
test/tests/materials/derivative_material_interface/construction_order.i
#
# Test the the getDefaultMaterialProperty in DerivativeMaterialInterface.
# This test should only pass, if the construction order of the Materials
# using this interface does not influence the outcome.
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 0.1
elem_type = QUAD4
[]
[GlobalParams]
derivative_order = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[]
[Kernels]
[./dummy1]
type = Diffusion
variable = c
[../]
[./dummy2]
type = TimeDerivative
variable = c
[../]
[]
[Materials]
# derivatives used both before and after being declared
[./sum_a_1]
type = DerivativeSumMaterial
f_name = Fa1
sum_materials = 'Fa'
args = 'c'
outputs = exodus
[../]
[./free_energy_a]
type = DerivativeParsedMaterial
f_name = Fa
args = 'c'
function = 'c^4'
[../]
[./sum_a_2]
type = DerivativeSumMaterial
f_name = Fa2
sum_materials = 'Fa'
args = 'c'
outputs = exodus
[../]
# derivatives declared after being used
[./sum_b_1]
type = DerivativeSumMaterial
f_name = Fb1
sum_materials = 'Fb'
args = 'c'
outputs = exodus
[../]
[./free_energy_b]
type = DerivativeParsedMaterial
f_name = Fb
args = 'c'
function = 'c^4'
[../]
# derivatives declared before being used
[./free_energy_c]
type = DerivativeParsedMaterial
f_name = Fc
args = 'c'
function = 'c^4'
[../]
[./sum_c_2]
type = DerivativeSumMaterial
f_name = Fc2
sum_materials = 'Fc'
args = 'c'
outputs = exodus
[../]
# non-existing derivatives
[./free_energy_d]
type = ParsedMaterial
f_name = Fd
args = 'c'
function = 'c^4'
[../]
[./sum_d_1]
type = DerivativeSumMaterial
f_name = Fd1
sum_materials = 'Fd'
args = 'c'
outputs = exodus
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'NEWTON'
num_steps = 1
dt = 1e-5
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
test/tests/functions/function_ic/function_ic_test.i
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_cond_func
[../]
[../]
[]
[AuxVariables]
active = 'u_aux'
[./u_aux]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_cond_func
[../]
[../]
[]
[Functions]
[./initial_cond_func]
type = ParsedFunction
value = x+2
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
[]
[Outputs]
file_base = out
exodus = true
[]
modules/richards/test/tests/jacobian_2/jn17.i
# two phase
# water saturated
# gravity = true
# supg = true
# transient = true
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0 # notice small quantity, so the PETSc constant state works
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5 # notice small quantity, so the PETSc constant state works
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1 # notice small quantity, so the PETSc constant state works
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1 # notice small quantity, so the PETSc constant state works
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.2
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.1
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.15
[../]
[./SatGas]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.15
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 0.01
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
block = 0
function = init_p
[../]
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
block = 0
function = init_p
[../]
[../]
[]
[Functions]
[./init_p]
type = ParsedFunction
value = x+0.6*y+0.3*z
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 0.5E-3'
gravity = '1 2 3'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-5
[]
[Outputs]
execute_on = 'timestep_end'
file_base = jn17
exodus = false
[]
test/tests/misc/check_error/function_file_test6.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
x = '1'
y = '2'
xy_data = '1 2'
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/userobjects/shape_element_user_object/jacobian.i
[GlobalParams]
use_displaced_mesh = true
[]
[Mesh]
type = GeneratedMesh
dim = 1
nx = 2
parallel_type = replicated
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = (x-0.5)^2
[../]
[../]
[./v]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = (x-0.5)^2
[../]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[./shape_w]
type = ExampleShapeElementKernel
user_object = example_uo
v = v
variable = u
[../]
[./time_u]
type = TimeDerivative
variable = u
[../]
[./time_v]
type = TimeDerivative
variable = v
[../]
[]
[UserObjects]
[./example_uo]
type = ExampleShapeElementUserObject
u = u
v = v
# as this userobject computes quantities for both the residual AND the jacobian
# it needs to have these execute_on flags set.
execute_on = 'linear nonlinear'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
#full = true
off_diag_row = 'u'
off_diag_column = 'v'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options = '-snes_test_display'
petsc_options_iname = '-snes_type'
petsc_options_value = 'test'
dt = 0.1
num_steps = 2
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/level_set/test/tests/verification/1d_level_set_mms/level_set_mms.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 32
nx = 64
uniform_refine = 0
[]
[Variables]
[./phi]
[../]
[]
[AuxVariables]
[./v_x]
initial_condition = 1
[../]
[../]
[ICs]
[./phi_ic]
function = phi_exact
variable = phi
type = FunctionIC
[../]
[]
[Functions]
[./phi_exact]
type = ParsedFunction
value = 'a*exp(1/(10*t))*sin(2*pi*x/b) + 1'
vars = 'a b'
vals = '1 8'
[../]
[./phi_mms]
type = ParsedFunction
value = '-a*exp(1/(10*t))*sin(2*pi*x/b)/(10*t^2) + 2*pi*a*exp(1/(10*t))*cos(2*pi*x/b)/b'
vars = 'a b'
vals = '1 8'
[../]
[]
[Kernels]
[./phi_advection]
type = LevelSetAdvection
variable = phi
velocity_x = v_x
[../]
[./phi_time]
type = TimeDerivative
variable = phi
[../]
[./phi_forcing]
type = BodyForce
variable = phi
function = phi_mms
[../]
[]
[Postprocessors]
[./error]
type = ElementL2Error
function = phi_exact
variable = phi
[../]
[./h]
type = AverageElementSize
[../]
[./point]
type = PointValue
point = '0.1 0 0'
variable = phi
[../]
[]
[Executioner]
type = Transient
start_time = 1
dt = 0.01
end_time = 1.25
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
scheme = bdf2
nl_rel_tol = 1e-12
[]
[Outputs]
interval = 10
execute_on = 'timestep_end'
csv = true
[]
modules/porous_flow/test/tests/aux_kernels/darcy_velocity_lower.i
# checking that the PorousFlowDarcyVelocityComponentLowerDimensional AuxKernel works as expected
# for the fully-saturated case (relative-permeability = 1)
# The fractured_block.e has size = 10x10x10, and a fracturing running through its
# centre, with normal = (0, -sin(20deg), cos(20deg))
# Porepressure is initialised to grad(P) = (0, 0, 1)
# Fluid_density = 2
# viscosity = 10
# relative_permeability = 1
# permeability = (5, 5, 5) (in the bulk)
# permeability = (10, 10, 10) (in the fracture)
# aperture = 1
# gravity = (1, 0.5, 0.2)
# So Darcy velocity in the bulk = (1, 0.5, -0.3)
# in the fracture grad(P) = (0, 0.3213938, 0.11697778)
# In the fracture the projected gravity vector is
# tangential_gravity = (1, 0.5057899, 0.18409245)
# So the Darcy velocity in the fracture = (2, 0.690186, 0.251207)
[Mesh]
type = FileMesh
file = fractured_block.e
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '1 0.5 0.2'
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pinit]
type = FunctionIC
function = z
variable = pp
[../]
[]
[Kernels]
[./dummy]
type = TimeDerivative
variable = pp
[../]
[]
[AuxVariables]
[./bulk_vel_x]
order = CONSTANT
family = MONOMIAL
[../]
[./bulk_vel_y]
order = CONSTANT
family = MONOMIAL
[../]
[./bulk_vel_z]
order = CONSTANT
family = MONOMIAL
[../]
[./fracture_vel_x]
order = CONSTANT
family = MONOMIAL
block = 3
[../]
[./fracture_vel_y]
order = CONSTANT
family = MONOMIAL
block = 3
[../]
[./fracture_vel_z]
order = CONSTANT
family = MONOMIAL
block = 3
[../]
[]
[AuxKernels]
[./bulk_vel_x]
type = PorousFlowDarcyVelocityComponent
variable = bulk_vel_x
component = x
fluid_phase = 0
[../]
[./bulk_vel_y]
type = PorousFlowDarcyVelocityComponent
variable = bulk_vel_y
component = y
fluid_phase = 0
[../]
[./bulk_vel_z]
type = PorousFlowDarcyVelocityComponent
variable = bulk_vel_z
component = z
fluid_phase = 0
[../]
[./fracture_vel_x]
type = PorousFlowDarcyVelocityComponentLowerDimensional
variable = fracture_vel_x
component = x
fluid_phase = 0
[../]
[./fracture_vel_y]
type = PorousFlowDarcyVelocityComponentLowerDimensional
variable = fracture_vel_y
component = y
fluid_phase = 0
[../]
[./fracture_vel_z]
type = PorousFlowDarcyVelocityComponentLowerDimensional
variable = fracture_vel_z
component = z
fluid_phase = 0
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1E16
viscosity = 10
density0 = 2
thermal_expansion = 0
[../]
[../]
[]
[Postprocessors]
[./bulk_vel_x]
type = PointValue
variable = bulk_vel_x
point = '0 0 0'
[../]
[./bulk_vel_y]
type = PointValue
variable = bulk_vel_y
point = '0 0 0'
[../]
[./bulk_vel_z]
type = PointValue
variable = bulk_vel_z
point = '0 0 0'
[../]
[./fracture_vel_x]
type = ElementAverageValue
block = 3
variable = fracture_vel_x
[../]
[./fracture_vel_y]
type = ElementAverageValue
block = 3
variable = fracture_vel_y
[../]
[./fracture_vel_z]
type = ElementAverageValue
block = 3
variable = fracture_vel_z
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '5 0 0 0 5 0 0 0 5'
block = '1 2'
[../]
[./permeability_fracture]
type = PorousFlowPermeabilityConst
permeability = '10 0 0 0 10 0 0 0 10'
block = 3
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[Executioner]
type = Transient
dt = 1
end_time = 1
[]
[Outputs]
csv = true
[]
modules/porous_flow/test/tests/energy_conservation/heat02.i
# checking that the heat-energy postprocessor correctly calculates the energy
# 1phase, constant porosity
[Mesh]
type = GeneratedMesh
dim = 1
nx = 3
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./temp]
[../]
[./pp]
[../]
[]
[ICs]
[./tinit]
type = FunctionIC
function = '100*x'
variable = temp
[../]
[./pinit]
type = FunctionIC
function = 'x'
variable = pp
[../]
[]
[Kernels]
[./dummyt]
type = TimeDerivative
variable = temp
[../]
[./dummyp]
type = TimeDerivative
variable = pp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
viscosity = 0.001
thermal_expansion = 0
cv = 1.3
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 2.2
density = 0.5
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[]
[Postprocessors]
[./total_heat]
type = PorousFlowHeatEnergy
phase = 0
[../]
[./rock_heat]
type = PorousFlowHeatEnergy
[../]
[./fluid_heat]
type = PorousFlowHeatEnergy
include_porous_skeleton = false
phase = 0
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = heat02
csv = true
[]
test/tests/misc/check_error/missing_function_file_test.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = nonexistent_file #should generate error
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/tensor_mechanics/test/tests/CylindricalRankTwoAux/test.i
[Mesh]
[file_mesh]
type = FileMeshGenerator
file = circle.e
[]
[cnode]
type = ExtraNodesetGenerator
coord = '1000.0 0.0'
new_boundary = 10
input = file_mesh
[]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./T]
[../]
[./stress_rr]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_tt]
order = CONSTANT
family = MONOMIAL
[../]
[]
[ICs]
[./T_IC]
type = FunctionIC
variable = T
function = '1000-0.7*sqrt(x^2+y^2)'
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y'
[../]
[]
[AuxKernels]
[./stress_rr]
type = CylindricalRankTwoAux
variable = stress_rr
rank_two_tensor = stress
index_j = 0
index_i = 0
center_point = '0 0 0'
[../]
[./stress_tt]
type = CylindricalRankTwoAux
variable = stress_tt
rank_two_tensor = stress
index_j = 1
index_i = 1
center_point = '0 0 0'
[../]
[]
[BCs]
[./outer_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0
[../]
[./outer_y]
type = DirichletBC
variable = disp_y
boundary = '2 10'
value = 0
[../]
[]
[Materials]
[./iso_C]
type = ComputeElasticityTensor
fill_method = symmetric_isotropic
C_ijkl = '2.15e5 0.74e5'
block = 1
[../]
[./strain]
type = ComputeSmallStrain
displacements = 'disp_x disp_y'
block = 1
eigenstrain_names = eigenstrain
[../]
[./stress]
type = ComputeLinearElasticStress
block = 1
[../]
[./thermal_strain]
type= ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 1e-6
temperature = T
stress_free_temperature = 273
block = 1
eigenstrain_name = eigenstrain
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 101'
l_max_its = 30
nl_max_its = 10
nl_abs_tol = 1e-9
nl_rel_tol = 1e-14
l_tol = 1e-4
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/phase_field/test/tests/free_energy_material/IdealGasFreeEnergy.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
elem_type = QUAD4
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = x*0.4+0.001
[../]
[../]
[./T]
[./InitialCondition]
type = FunctionIC
function = y*1999+1
[../]
[../]
[]
[Materials]
[./free_energy]
type = IdealGasFreeEnergy
f_name = Fgas
m = 134 # Xenon
omega = 41
c = c
T = T
outputs = exodus
[../]
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/sinks/s_fu_01.i
# with fully_upwind sink
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
fully_upwind = true
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1 # same deal with PETSc constant state
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 2
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-lfout-rfout-mf)/2/(mi+mf))
vars = 'mi mf lfout rfout'
vals = 'mass_init mass_fin left_flux_out right_flux_out'
[../]
[]
[Postprocessors]
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./mass_fin]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./left_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = left
variable = pressure
pressures = '0 1'
bare_fluxes = '1 2'
use_mobility = false
use_relperm = false
[../]
[./right_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = right
variable = pressure
pressures = '0 1'
bare_fluxes = '1 2'
use_mobility = false
use_relperm = false
[../]
[./p0]
type = PointValue
point = '0 0 0'
variable = pressure
[../]
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
[BCs]
[./left_flux]
type = RichardsPiecewiseLinearSink
boundary = left
pressures = '0 1'
bare_fluxes = '1 2'
variable = pressure
use_mobility = false
use_relperm = false
[../]
[./right_flux]
type = RichardsPiecewiseLinearSink
boundary = right
pressures = '0 1'
bare_fluxes = '1 2'
variable = pressure
use_mobility = false
use_relperm = false
[../]
[]
[Kernels]
active = 'richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 0.2
nl_abs_tol = 1E-12
nl_rel_tol = 1E-10
[]
[Outputs]
file_base = s_fu_01
csv = true
execute_on = timestep_end
[]
modules/phase_field/test/tests/free_energy_material/RegularSolutionFreeEnergy_plog.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 50
xmax = 1
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = c
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = c
boundary = left
function = x
[../]
[./right]
type = FunctionDirichletBC
variable = c
boundary = right
function = x
[../]
[]
[Materials]
[./free_energy]
type = RegularSolutionFreeEnergy
f_name = F
c = c
outputs = out
log_tol = 0.2
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
l_max_its = 1
nl_max_its = 1
nl_abs_tol = 1
[]
[Outputs]
execute_on = 'timestep_end'
[./out]
type = Exodus
execute_on = timestep_end
[../]
[]
test/tests/dgkernels/1d_advection_dg/1d_advection_dg.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[Functions]
[./ic_u]
type = PiecewiseConstant
axis = x
direction = right
xy_data = '0.1 0.0
0.6 1.0
1.0 0.0'
[../]
[]
[Variables]
[./u]
order = FIRST
family = MONOMIAL
[../]
[]
[Kernels]
[./time_u]
type = TimeDerivative
variable = u
[../]
[./adv_u]
implicit = false
type = ConservativeAdvection
variable = u
velocity = '1 0 0'
[../]
[]
[DGKernels]
[./dg_advection_u]
implicit = false
type = DGConvection
variable = u
velocity = '1 0 0'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
variable = u
function = ic_u
[../]
[]
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitMidpoint
[../]
solve_type = 'LINEAR'
num_steps = 4
dt = 2e-4
[]
[Outputs]
exodus = true
[]
test/tests/multiapps/grid-sequencing/vi-fine.i
l=10
nx=80
num_steps=2
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[bounds][]
[]
[Bounds]
[bounds]
type = BoundsAux
variable = bounds
bounded_variable = u
upper = ${l}
lower = 0
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options = '-snes_vi_monitor'
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type -snes_type'
petsc_options_value = '0 30 asm 16 basic vinewtonrsls'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
active = 'upper_violations lower_violations'
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
[MultiApps]
[./coarse]
type = TransientMultiApp
app_type = MooseTestApp
execute_on = timestep_begin
positions = '0 0 0'
input_files = vi-coarse.i
[../]
[]
[Transfers]
[./mesh_function_begin]
type = MultiAppMeshFunctionTransfer
direction = from_multiapp
multi_app = coarse
source_variable = u
variable = u
execute_on = timestep_begin
[../]
[]
modules/richards/test/tests/buckley_leverett/bl22_lumped_fu.i
# two-phase version
# super-sharp front version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1E-4 1E-3 1E-2 2E-2 5E-2 6E-2 0.1 0.2'
x = '0 1E-2 1E-1 1 5 20 40 41'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-4
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-4
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[./bounds_dummy]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFullyUpwindFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFullyUpwindFlux
variable = pgas
[../]
[./richardsppenalty]
type = RichardsPPenalty
variable = pgas
a = 1E-18
lower_var = pwater
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[Bounds]
[./pwater_bounds]
type = BoundsAux
variable = bounds_dummy
bounded_variable = pwater
upper = 1E7
lower = -110000
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1000
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -100000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-if(x<5,0,100000)
[../]
[./initial_gas]
type = ParsedFunction
value = 1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type -ksp_rtol -ksp_atol'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 50 vinewtonssls 1E-20 1E-20'
[../]
[./standard]
type = SMP
full = true
petsc_options = '-snes_converged_reason -ksp_diagonal_scale -ksp_diagonal_scale_fix -ksp_gmres_modifiedgramschmidt'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'gmres asm lu NONZERO 2 1E-10 1E-10 20 1E-10 1E-100'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
execute_on = 'timestep_end'
file_base = bl22_lumped_fu
[./exodus]
type = Exodus
interval = 100000
hide = 'pgas bounds_dummy'
execute_on = 'initial final timestep_end'
[../]
[]
modules/porous_flow/test/tests/aux_kernels/darcy_velocity_lower_2D.i
# checking that the PorousFlowDarcyVelocityComponentLowerDimensional AuxKernel works as expected in 1D+2D situation
# for the fully-saturated case (relative-permeability = 1)
# The 1_frac_in_2D_example.e has size 0.3x0.2x0, and a fracturing running through its
# centre, with normal = (0, 1, 0)
# Porepressure is initialised to grad(P) = (1, 2, 0)
# Fluid_density = 2
# viscosity = 10
# relative_permeability = 1
# permeability = (5, 5, 5) (in the bulk, measured in m^2)
# permeability = (10, 10, 10) (in the fracture, measured in m^3)
# aperture = 0.01
# gravity = (1, 0.5, 0)
# So Darcy velocity in the bulk = (0.5, -0.5, 0)
# in the fracture grad(P) = (1, 0, 0)
# In the fracture the projected gravity vector is
# tangential_gravity = (1, 0, 0)
# So the Darcy velocity in the fracture = (100, 0, 0)
[Mesh]
type = FileMesh
file = 1_frac_in_2D_example.e
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '1 0.5 0'
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pinit]
type = FunctionIC
function = 'x+2*y'
variable = pp
[../]
[]
[Kernels]
[./dummy]
type = TimeDerivative
variable = pp
[../]
[]
[AuxVariables]
[./bulk_vel_x]
order = CONSTANT
family = MONOMIAL
block = '2 3'
[../]
[./bulk_vel_y]
order = CONSTANT
family = MONOMIAL
block = '2 3'
[../]
[./bulk_vel_z]
order = CONSTANT
family = MONOMIAL
block = '2 3'
[../]
[./fracture_vel_x]
order = CONSTANT
family = MONOMIAL
block = 1
[../]
[./fracture_vel_y]
order = CONSTANT
family = MONOMIAL
block = 1
[../]
[./fracture_vel_z]
order = CONSTANT
family = MONOMIAL
block = 1
[../]
[]
[AuxKernels]
[./bulk_vel_x]
type = PorousFlowDarcyVelocityComponent
variable = bulk_vel_x
component = x
fluid_phase = 0
[../]
[./bulk_vel_y]
type = PorousFlowDarcyVelocityComponent
variable = bulk_vel_y
component = y
fluid_phase = 0
[../]
[./bulk_vel_z]
type = PorousFlowDarcyVelocityComponent
variable = bulk_vel_z
component = z
fluid_phase = 0
[../]
[./fracture_vel_x]
type = PorousFlowDarcyVelocityComponentLowerDimensional
variable = fracture_vel_x
component = x
fluid_phase = 0
aperture = 0.01
[../]
[./fracture_vel_y]
type = PorousFlowDarcyVelocityComponentLowerDimensional
variable = fracture_vel_y
component = y
fluid_phase = 0
aperture = 0.01
[../]
[./fracture_vel_z]
type = PorousFlowDarcyVelocityComponentLowerDimensional
variable = fracture_vel_z
component = z
fluid_phase = 0
aperture = 0.01
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1E16
viscosity = 10
density0 = 2
thermal_expansion = 0
[../]
[../]
[]
[Postprocessors]
[./bulk_vel_x]
type = PointValue
variable = bulk_vel_x
point = '0 -0.05 0'
[../]
[./bulk_vel_y]
type = PointValue
variable = bulk_vel_y
point = '0 -0.05 0'
[../]
[./bulk_vel_z]
type = PointValue
variable = bulk_vel_z
point = '0 -0.05 0'
[../]
[./fracture_vel_x]
type = PointValue
point = '0 0 0'
variable = fracture_vel_x
[../]
[./fracture_vel_y]
type = PointValue
point = '0 0 0'
variable = fracture_vel_y
[../]
[./fracture_vel_z]
type = PointValue
point = '0 0 0'
variable = fracture_vel_z
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '5 0 0 0 5 0 0 0 5'
block = '2 3'
[../]
[./permeability_fracture]
type = PorousFlowPermeabilityConst
permeability = '10 0 0 0 10 0 0 0 10'
block = 1
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[Executioner]
type = Transient
dt = 1
end_time = 1
[]
[Outputs]
csv = true
[]
modules/phase_field/examples/interfacekernels/interface_fluxbc.i
#
# This test demonstrates an InterfaceKernel (InterfaceDiffusionFlux) that can
# replace a pair of integrated DiffusionFluxBC boundary conditions.
#
# The AuxVariable 'diff' shows the difference between the BC and the InterfaceKernel
# approach.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
[]
[./box1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
[../]
[./box2]
input = box1
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[./iface_v]
type = SideSetsBetweenSubdomainsGenerator
master_block = 2
paired_block = 1
new_boundary = 11
input = iface_u
[../]
[]
[Variables]
[./u1]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v1]
block = 2
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.7)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./u2]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v2]
block = 2
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.7)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[]
[Kernels]
[./u1_diff]
type = Diffusion
variable = u1
block = 1
[../]
[./u1_dt]
type = TimeDerivative
variable = u1
block = 1
[../]
[./v1_diff]
type = Diffusion
variable = v1
block = 2
[../]
[./v1_dt]
type = TimeDerivative
variable = v1
block = 2
[../]
[./u2_diff]
type = Diffusion
variable = u2
block = 1
[../]
[./u2_dt]
type = TimeDerivative
variable = u2
block = 1
[../]
[./v2_diff]
type = Diffusion
variable = v2
block = 2
[../]
[./v2_dt]
type = TimeDerivative
variable = v2
block = 2
[../]
[]
[AuxVariables]
[./diff]
[../]
[]
[AuxKernels]
[./u_side]
type = ParsedAux
variable = diff
block = 1
args = 'u1 u2'
function = 'u1 - u2'
[../]
[./v_side]
type = ParsedAux
variable = diff
block = 2
args = 'v1 v2'
function = 'v1 - v2'
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u2
neighbor_var = v2
[../]
[]
[BCs]
[./u_boundary_term]
type = DiffusionFluxBC
variable = u1
boundary = 10
[../]
[./v_boundary_term]
type = DiffusionFluxBC
variable = v1
boundary = 11
[../]
[]
[Executioner]
type = Transient
dt = 0.001
num_steps = 20
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
test/tests/functions/image_function/image_3d.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 20
ny = 20
nz = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/chemical_reactions/examples/calcium_bicarbonate/calcium_bicarbonate.i
# Example of reactive transport model with precipitation and dissolution.
# Calcium (ca2) and bicarbonate (hco3) reaction to form calcite (CaCO3).
# Models bicarbonate injection following calcium injection, so that a
# moving reaction front forms a calcite precipitation zone. As the front moves,
# the upstream side of the front continues to form calcite via precipitation,
# while at the downstream side, dissolution of the solid calcite occurs.
#
# The reaction network considered is as follows:
# Aqueous equilibrium reactions:
# a) h+ + hco3- = CO2(aq), Keq = 10^(6.341)
# b) hco3- = h+ + CO23-, Keq = 10^(-10.325)
# c) ca2+ + hco3- = h+ + CaCO3(aq), Keq = 10^(-7.009)
# d) ca2+ + hco3- = cahco3+, Keq = 10^(-0.653)
# e) ca2+ = h+ + CaOh+, Keq = 10^(-12.85)
# f) - h+ = oh-, Keq = 10^(-13.991)
#
# Kinetic reactions
# g) ca2+ + hco3- = h+ + CaCO3(s), A = 0.461 m^2/L, k = 6.456542e-2 mol/m^2 s,
# Keq = 10^(1.8487)
#
# The primary chemical species are h+, hco3- and ca2+. The pressure gradient is fixed,
# and a conservative tracer is also included.
#
# This example is taken from:
# Guo et al, A parallel, fully coupled, fully implicit solution to reactive
# transport in porous media using the preconditioned Jacobian-Free Newton-Krylov
# Method, Advances in Water Resources, 53, 101-108 (2013).
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
xmax = 1
ymax = 0.25
[]
[Variables]
[./tracer]
[../]
[./ca2+]
[../]
[./h+]
initial_condition = 1.0e-7
scaling = 1e6
[../]
[./hco3-]
[../]
[]
[AuxVariables]
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./pressure_ic]
type = FunctionIC
variable = pressure
function = pic
[../]
[./hco3_ic]
type = BoundingBoxIC
variable = hco3-
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 5.0e-2
outside = 1.0e-6
[../]
[./ca2_ic]
type = BoundingBoxIC
variable = ca2+
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 1.0e-6
outside = 5.0e-2
[../]
[./tracer_ic]
type = BoundingBoxIC
variable = tracer
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 1.0
outside = 0.0
[../]
[]
[Functions]
[./pic]
type = ParsedFunction
value = 60-50*x
[../]
[]
[ReactionNetwork]
[./AqueousEquilibriumReactions]
primary_species = 'ca2+ hco3- h+'
secondary_species = 'co2_aq co32- caco3_aq cahco3+ caoh+ oh-'
pressure = pressure
reactions = 'h+ + hco3- = co2_aq 6.341,
hco3- - h+ = co32- -10.325,
ca2+ + hco3- - h+ = caco3_aq -7.009,
ca2+ + hco3- = cahco3+ -0.653,
ca2+ - h+ = caoh+ -12.85,
- h+ = oh- -13.991'
[../]
[./SolidKineticReactions]
primary_species = 'ca2+ hco3- h+'
kin_reactions = 'ca2+ + hco3- - h+ = caco3_s'
secondary_species = caco3_s
log10_keq = 1.8487
reference_temperature = 298.15
system_temperature = 298.15
gas_constant = 8.314
specific_reactive_surface_area = 4.61e-4
kinetic_rate_constant = 6.456542e-7
activation_energy = 1.5e4
[../]
[]
[Kernels]
[./tracer_ie]
type = PrimaryTimeDerivative
variable = tracer
[../]
[./tracer_pd]
type = PrimaryDiffusion
variable = tracer
[../]
[./tracer_conv]
type = PrimaryConvection
variable = tracer
p = pressure
[../]
[./ca2+_ie]
type = PrimaryTimeDerivative
variable = ca2+
[../]
[./ca2+_pd]
type = PrimaryDiffusion
variable = ca2+
[../]
[./ca2+_conv]
type = PrimaryConvection
variable = ca2+
p = pressure
[../]
[./h+_ie]
type = PrimaryTimeDerivative
variable = h+
[../]
[./h+_pd]
type = PrimaryDiffusion
variable = h+
[../]
[./h+_conv]
type = PrimaryConvection
variable = h+
p = pressure
[../]
[./hco3-_ie]
type = PrimaryTimeDerivative
variable = hco3-
[../]
[./hco3-_pd]
type = PrimaryDiffusion
variable = hco3-
[../]
[./hco3-_conv]
type = PrimaryConvection
variable = hco3-
p = pressure
[../]
[]
[BCs]
[./tracer_left]
type = DirichletBC
variable = tracer
boundary = left
value = 1.0
[../]
[./tracer_right]
type = ChemicalOutFlowBC
variable = tracer
boundary = right
[../]
[./ca2+_left]
type = SinDirichletBC
variable = ca2+
boundary = left
initial = 5.0e-2
final = 1.0e-6
duration = 1
[../]
[./ca2+_right]
type = ChemicalOutFlowBC
variable = ca2+
boundary = right
[../]
[./hco3-_left]
type = SinDirichletBC
variable = hco3-
boundary = left
initial = 1.0e-6
final = 5.0e-2
duration = 1
[../]
[./hco3-_right]
type = ChemicalOutFlowBC
variable = hco3-
boundary = right
[../]
[./h+_left]
type = DirichletBC
variable = h+
boundary = left
value = 1.0e-7
[../]
[./h+_right]
type = ChemicalOutFlowBC
variable = h+
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-7 2e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 50
l_tol = 1e-5
nl_max_its = 10
nl_rel_tol = 1e-5
end_time = 10
[./TimeStepper]
type = ConstantDT
dt = 0.1
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
perf_graph = true
exodus = true
[]
modules/chemical_reactions/test/tests/parser/equilibrium_action.i
# Test AqueousEquilibriumReactions parser
[Mesh]
type = GeneratedMesh
dim = 2
[]
[Variables]
[./a]
[../]
[./b]
[../]
[]
[AuxVariables]
[./pressure]
[../]
[]
[ICs]
[./a]
type = BoundingBoxIC
variable = a
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[./b]
type = BoundingBoxIC
variable = b
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[ReactionNetwork]
[./AqueousEquilibriumReactions]
primary_species = 'a b'
reactions = '2a = pa2 2,
(1.0)a + (1.0)b = pab -2'
secondary_species = 'pa2 pab'
pressure = pressure
[../]
[]
[Kernels]
[./a_ie]
type = PrimaryTimeDerivative
variable = a
[../]
[./a_diff]
type = PrimaryDiffusion
variable = a
[../]
[./a_conv]
type = PrimaryConvection
variable = a
p = pressure
[../]
[./b_ie]
type = PrimaryTimeDerivative
variable = b
[../]
[./b_diff]
type = PrimaryDiffusion
variable = b
[../]
[./b_conv]
type = PrimaryConvection
variable = b
p = pressure
[../]
[]
[BCs]
[./a_left]
type = DirichletBC
variable = a
boundary = left
value = 1.0e-2
[../]
[./a_right]
type = ChemicalOutFlowBC
variable = a
boundary = right
[../]
[./b_left]
type = DirichletBC
variable = b
boundary = left
value = 1.0e-2
[../]
[./b_right]
type = ChemicalOutFlowBC
variable = b
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-4 1e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
nl_abs_tol = 1e-12
end_time = 10
dt = 10
[]
[Outputs]
file_base = equilibrium_out
exodus = true
perf_graph = true
print_linear_residuals = true
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
modules/phase_field/examples/kim-kim-suzuki/kks_example_noflux.i
#
# KKS simple example in the split form
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 150
ny = 15
nz = 0
xmin = -25
xmax = 25
ymin = -2.5
ymax = 2.5
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[AuxVariables]
[./Fglobal]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# solute concentration
[./c]
order = FIRST
family = LAGRANGE
[../]
# chemical potential
[./w]
order = FIRST
family = LAGRANGE
[../]
# Liquid phase solute concentration
[./cl]
order = FIRST
family = LAGRANGE
initial_condition = 0.1
[../]
# Solid phase solute concentration
[./cs]
order = FIRST
family = LAGRANGE
initial_condition = 0.9
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = '0.5*(1.0-tanh((x)/sqrt(2.0)))'
[../]
[./ic_func_c]
type = ParsedFunction
value = '0.9*(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10)+0.1*(1-(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10))'
[../]
[]
[ICs]
[./eta]
variable = eta
type = FunctionIC
function = ic_func_eta
[../]
[./c]
variable = c
type = FunctionIC
function = ic_func_c
[../]
[]
[Materials]
# Free energy of the liquid
[./fl]
type = DerivativeParsedMaterial
f_name = fl
args = 'cl'
function = '(0.1-cl)^2'
[../]
# Free energy of the solid
[./fs]
type = DerivativeParsedMaterial
f_name = fs
args = 'cs'
function = '(0.9-cs)^2'
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L eps_sq'
prop_values = '0.7 0.7 1.0 '
[../]
[]
[Kernels]
active = 'PhaseConc ChemPotSolute CHBulk ACBulkF ACBulkC ACInterface dcdt detadt ckernel'
# enforce c = (1-h(eta))*cl + h(eta)*cs
[./PhaseConc]
type = KKSPhaseConcentration
ca = cl
variable = cs
c = c
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotSolute]
type = KKSPhaseChemicalPotential
variable = cl
cb = cs
fa_name = fl
fb_name = fs
[../]
#
# Cahn-Hilliard Equation
#
[./CHBulk]
type = KKSSplitCHCRes
variable = c
ca = cl
fa_name = fl
w = w
[../]
[./dcdt]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./ckernel]
type = SplitCHWRes
mob_name = M
variable = w
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = fl
fb_name = fs
w = 1.0
args = 'cl cs'
[../]
[./ACBulkC]
type = KKSACBulkC
variable = eta
ca = cl
cb = cs
fa_name = fl
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = eps_sq
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[AuxKernels]
[./GlobalFreeEnergy]
variable = Fglobal
type = KKSGlobalFreeEnergy
fa_name = fl
fb_name = fs
w = 1.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm ilu nonzero'
l_max_its = 100
nl_max_its = 100
num_steps = 50
dt = 0.1
[]
#
# Precondition using handcoded off-diagonal terms
#
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./c]
type = LineValueSampler
start_point = '-25 0 0'
end_point = '25 0 0'
variable = c
num_points = 151
sort_by = id
execute_on = timestep_end
[../]
[./eta]
type = LineValueSampler
start_point = '-25 0 0'
end_point = '25 0 0'
variable = eta
num_points = 151
sort_by = id
execute_on = timestep_end
[../]
[]
[Outputs]
exodus = true
[./csv]
type = CSV
execute_on = final
[../]
[]
modules/porous_flow/examples/restart/gravityeq.i
# Initial run to establish gravity equilibrium. As only brine is present (no gas),
# we can use the single phase equation of state and kernels, reducing the computational
# cost. An estimate of the hydrostatic pressure gradient is used as the initial condition
# using an approximate brine density of 1060 kg/m^3.
# The end time is set to a large value (~100 years) to allow the pressure to reach
# equilibrium. Steady state detection is used to halt the run when a steady state is reached.
[Mesh]
type = GeneratedMesh
dim = 2
ny = 10
nx = 10
ymax = 100
xmax = 5000
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 -9.81 0'
temperature_unit = Celsius
[]
[Variables]
[./porepressure]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
function = ppic
variable = porepressure
[../]
[]
[Functions]
[./ppic]
type = ParsedFunction
value = '10e6 + 1060*9.81*(100-y)'
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = porepressure
value = 10e6
boundary = top
[../]
[]
[AuxVariables]
[./temperature]
initial_condition = 50
[../]
[./xnacl]
initial_condition = 0.1
[../]
[./brine_density]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = porepressure
[../]
[./flux0]
type = PorousFlowFullySaturatedDarcyFlow
variable = porepressure
[../]
[]
[AuxKernels]
[./brine_density]
type = PorousFlowPropertyAux
property = density
variable = brine_density
execute_on = 'initial timestep_end'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = porepressure
number_fluid_phases = 1
number_fluid_components = 1
[../]
[]
[Modules]
[./FluidProperties]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./ps]
type = PorousFlow1PhaseFullySaturated
porepressure = porepressure
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./brine]
type = PorousFlowBrine
compute_enthalpy = false
compute_internal_energy = false
xnacl = xnacl
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-13 0 0 0 1e-13 0 0 0 1e-13'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 3e9
nl_abs_tol = 1e-12
nl_rel_tol = 1e-06
steady_state_detection = true
steady_state_tolerance = 1e-12
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1e1
[../]
[]
[Outputs]
execute_on = 'initial timestep_end'
exodus = true
perf_graph = true
[]
modules/phase_field/test/tests/free_energy_material/RegularSolutionFreeEnergy_const_T.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmax = 1
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = c
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = c
boundary = left
function = x
[../]
[./right]
type = FunctionDirichletBC
variable = c
boundary = right
function = x
[../]
[]
[Materials]
[./free_energy]
type = RegularSolutionFreeEnergy
f_name = F
c = c
outputs = out
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
l_max_its = 1
nl_max_its = 1
nl_abs_tol = 1
[]
[Outputs]
execute_on = 'timestep_end'
[./out]
type = Exodus
execute_on = timestep_end
[../]
[]
modules/porous_flow/test/tests/radioactive_decay/radioactive_decay01.i
# checking radioactive decay
# 1phase, 1component, constant porosity
#
# Note that we don't get mass = mass0 * exp(-Lambda * t)
# because of the time discretisation. We are solving
# the equation
# (mass - mass0)/dt = -Lambda * mass
# which has the solution
# mass = mass0/(1 + Lambda * dt)
[Mesh]
type = GeneratedMesh
dim = 1
nx = 3
xmin = -1
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pinit]
type = FunctionIC
function = 10
variable = pp
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./decay]
type = PorousFlowMassRadioactiveDecay
fluid_component = 0
variable = pp
decay_rate = 2.0
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./total_mass]
type = PorousFlowFluidMass
execute_on = 'timestep_end'
[../]
[./total_mass0]
type = PorousFlowFluidMass
execute_on = 'timestep_begin'
[../]
[./should_be_zero]
type = FunctionValuePostprocessor
function = should_be_0
[../]
[]
[Functions]
[./should_be_0]
type = ParsedFunction
vars = 'm0 m rate dt'
vals = 'total_mass0 total_mass 2.0 1'
value = 'm-m0/(1.0+rate*dt)'
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
num_steps = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = radioactive_decay01
csv = true
[]
test/tests/functions/image_function/flip_dual.i
[Mesh]
uniform_refine = 1
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 40
ymax = 2
[]
[./top]
type = SubdomainBoundingBoxGenerator
input = gen
top_right = '1 2 0'
bottom_left = '0 1 0'
block_id = 1
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./top]
type = ImageFunction
origin = '0 1 0'
file_base = stack/test
file_suffix = png
flip_y = true
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
dimensions = '1 1 0'
[../]
[./bottom]
type = ImageFunction
origin = '0 0 0'
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
dimensions = '1 1 0'
[../]
[]
[ICs]
[./top_ic]
function = top
variable = u
type = FunctionIC
block = 1
[../]
[./bottom_ic]
function = bottom
variable = u
type = FunctionIC
block = 0
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/buckley_leverett/bl20_lumped.i
# two-phase version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 30
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.1 0.5 0.5 1 2 4'
x = '0 0.1 1 5 40 42'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./w_aux_seff]
[../]
[]
[Kernels]
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxKernels]
[./w_aux_seff_auxk]
type = RichardsSeffAux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
variable = w_aux_seff
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1000
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -300000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-if(x<5,0,300000)
[../]
[./initial_gas]
type = ParsedFunction
value = 1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options_iname = '-snes_type -pc_factor_shift_type'
petsc_options_value = 'vinewtonssls nonzero'
[../]
[./standard]
type = SMP
full = true
petsc_options_iname = '-pc_factor_shift_type'
petsc_options_value = 'nonzero'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
nl_rel_tol = 1.e-9
nl_max_its = 10
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bl20_lumped
execute_on = 'initial timestep_end final'
interval = 100000
exodus = true
hide = pgas
[./console_out]
type = Console
interval = 1
[../]
[]
test/tests/ics/array_function_ic/array_function_ic_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 8
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[Variables]
[u]
components = 2
[]
[u0]
[]
[u1]
[]
[]
[Functions]
[sinx]
type = ParsedFunction
value = sin(x)
[]
[siny]
type = ParsedFunction
value = sin(y)
[]
[]
[ICs]
[uic]
type = ArrayFunctionIC
variable = u
function = 'sinx siny'
[]
[u0ic]
type = FunctionIC
variable = u0
function = sinx
[]
[u1ic]
type = FunctionIC
variable = u1
function = siny
[]
[]
[Postprocessors]
[uint0]
type = ElementIntegralArrayVariablePostprocessor
variable = u
component = 0
[]
[uint1]
type = ElementIntegralArrayVariablePostprocessor
variable = u
component = 1
[]
[u0int]
type = ElementIntegralVariablePostprocessor
variable = u0
[]
[u1int]
type = ElementIntegralVariablePostprocessor
variable = u1
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/solution_user_object/discontinuous_value_solution_uo_p1.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 2
ny = 2
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./discontinuous_variable]
order = CONSTANT
family = MONOMIAL
[../]
[./continuous_variable]
order = FIRST
family = LAGRANGE
[../]
[]
[Functions]
[./discontinuous_function]
type = ParsedFunction
value = 'if(x<0.5,3,5)'
[../]
[./continuous_function]
type = ParsedFunction
value = 'if(x<0.5,x,2*x-0.5)'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[ICs]
[./discontinuous_variable]
type = FunctionIC
variable = discontinuous_variable
function = discontinuous_function
[../]
[./continuous_variable]
type = FunctionIC
variable = continuous_variable
function = continuous_function
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./one]
type = DirichletBC
variable = u
boundary = 'right top bottom'
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
file_base = discontinuous_value_solution_uo_p1
exodus = true
[]
test/tests/userobjects/shape_element_user_object/jacobian_test.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 2
parallel_type = replicated
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = (x-0.5)^2
[../]
[../]
[./v]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = (x-0.5)^2
[../]
[../]
[./w]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = (x-0.5)^2
[../]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[./shape_w]
type = ExampleShapeElementKernel2
user_object = example_uo
v = v
u = u
variable = w
[../]
[./time_w]
type = TimeDerivative
variable = w
[../]
[./time_u]
type = TimeDerivative
variable = u
[../]
[./time_v]
type = TimeDerivative
variable = v
[../]
[]
[UserObjects]
[./example_uo]
type = ExampleShapeElementUserObject
u = u
v = v
# as this userobject computes quantities for both the residual AND the jacobian
# it needs to have these execute_on flags set.
execute_on = 'linear nonlinear'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
#off_diag_row = 'w w'
#off_diag_column = 'v u'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options = '-snes_test_display'
petsc_options_iname = '-snes_type'
petsc_options_value = 'test'
dt = 0.1
num_steps = 2
[]
[Outputs]
exodus = true
perf_graph = true
[]
test/tests/functions/parsed/mms_transient_coupled.i
###########################################################
# This is a simple test of the Function System. This
# test uses forcing terms produced from analytical
# functions of space and time to verify a solution
# using MMS.
#
# @Requirement F6.20
###########################################################
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0.0
xmax = 1.0
nx = 10
ymin = 0.0
ymax = 1.0
ny = 10
uniform_refine = 2
elem_type = QUAD4
[]
[Variables]
[./u]
[../]
[./v]
[../]
[]
[Functions]
[./v_left_bc]
# Left-side boundary condition for v equation, v(0,y,t) = u(0.5,y,t). This is accomplished using a PointValue postprocessor, which is what this input file was designed to test.
type = ParsedFunction
value = a
vals = u_midpoint
vars = a
[../]
[./u_mms_func]
# MMS Forcing function for the u equation.
type = ParsedFunction
value = ' 20*exp(20*t)*x*x*x-6*exp(20*t)*x-(2-0.125*exp(20*t))*sin(5/2*x*pi)-0.125*exp(20*t)-1
'
[../]
[./v_mms_func]
# MMS forcing function for the v equation.
type = ParsedFunction
value = -2.5*exp(20*t)*sin(5/2*x*pi)+2.5*exp(20*t)+25/4*(2-0.125*exp(20*t))*sin(5/2*x*pi)*pi*pi
[../]
[./u_right_bc]
type = ParsedFunction
value = 3*exp(20*t) # \nabla{u}|_{x=1} = 3\exp(20*t)
[../]
[./u_exact]
# Exact solution for the MMS function for the u variable.
type = ParsedFunction
value = exp(20*t)*pow(x,3)+1
[../]
[./v_exact]
# Exact MMS solution for v.
type = ParsedFunction
value = (2-0.125*exp(20*t))*sin(5/2*pi*x)+0.125*exp(20*t)+1
[../]
[]
[Kernels]
# Strong Form:
# \frac{\partial u}{\partial t} - \nabla \cdot 0.5 \nabla u - v = 0
# \frac{\partial u}{\partial t} - \nabla \cdot \nabla v = 0
#
# BCs:
# u(0,y,t) = 1
# \nabla u |_{x=1} = 3\exp(20*t)
# v(0,y,t) = u(0.5,y,t)
# v(1,y,t) = 3
# \nabla u |_{y=0,1} = 0
# \nabla v |_{y=0,1} = 0
#
[./u_time]
type = TimeDerivative
variable = u
[../]
[./u_diff]
type = Diffusion
variable = u
[../]
[./u_source]
type = CoupledForce
variable = u
v = v
[../]
[./v_diff]
type = Diffusion
variable = v
[../]
[./u_mms]
type = BodyForce
variable = u
function = u_mms_func
[../]
[./v_mms]
type = BodyForce
variable = v
function = v_mms_func
[../]
[./v_time]
type = TimeDerivative
variable = v
[../]
[]
[BCs]
[./u_left]
type = DirichletBC
variable = u
boundary = left # x=0
value = 1 # u(0,y,t)=1
[../]
[./u_right]
type = FunctionNeumannBC
variable = u
boundary = right # x=1
function = u_right_bc # \nabla{u}|_{x=1}=3\exp(20t)
[../]
[./v_left]
type = FunctionDirichletBC
variable = v
boundary = left # x=0
function = v_left_bc # v(0,y,t) = u(0.5,y,t)
[../]
[./v_right]
type = DirichletBC
variable = v
boundary = right # x=1
value = 3 # v(1,y,t) = 3
[../]
[]
[Postprocessors]
[./u_midpoint]
type = PointValue
variable = u
point = '0.5 0.5 0'
execute_on = 'initial timestep_end'
[../]
[./u_midpoint_exact]
type = FunctionValuePostprocessor
function = u_exact
point = '0.5 0.5 0.0'
execute_on = 'initial timestep_end'
[../]
[./u_error]
type = ElementL2Error
variable = u
function = u_exact
execute_on = 'initial timestep_end'
[../]
[./v_error]
type = ElementL2Error
variable = v
function = v_exact
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
dt = 0.01
solve_type = NEWTON
end_time = 0.1
scheme = crank-nicolson
[]
[Outputs]
exodus = true
[]
[ICs]
[./u_initial]
# Use the MMS exact solution to compute the initial conditions.
function = u_exact
variable = u
type = FunctionIC
[../]
[./v_exact]
# Use the MMS exact solution to compute the initial condition.
function = v_exact
variable = v
type = FunctionIC
[../]
[]
test/tests/functions/image_function/flip.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
flip_x = true
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/buckley_leverett/bl21.i
# two-phase version
# sharp front version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1E-3 1E-2 3E-2 4E-2 0.5 0.5 1'
x = '0 1E-2 1E-1 1 5 40 41'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 3E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 3E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[./bounds_dummy]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[./richardsppenalty]
type = RichardsPPenalty
variable = pgas
a = 1E-18
lower_var = pwater
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[Bounds]
[./pwater_bounds]
type = BoundsAux
variable = bounds_dummy
bounded_variable = pwater
upper = 1E7
lower = -110000
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1E6+1000
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -100000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0+1000
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-100000*(max(x-5,0)/max(abs(x-5),1E-10))
[../]
[./initial_gas]
type = ParsedFunction
value = max(1000000*(1-x/5),0)+1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type -ksp_rtol -ksp_atol'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 50 vinewtonssls 1E-20 1E-20'
[../]
[./standard]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 20 1E-20 1E-20'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bl21
interval = 10000
exodus = true
[]
modules/richards/test/tests/dirac/bh_fu_03.i
# fully-saturated
# injection
# fullyupwind
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 1E7
point_file = bh03.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = -1
fully_upwind = true
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 0
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 0.5
dt = 1E-2
solve_type = NEWTON
[]
[Outputs]
file_base = bh_fu_03
exodus = false
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/energy_conservation/heat01.i
# checking that the heat-energy postprocessor correctly calculates the energy
# 0phase, constant porosity
[Mesh]
type = GeneratedMesh
dim = 1
nx = 3
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./temp]
[../]
[]
[ICs]
[./tinit]
type = FunctionIC
function = '100*x'
variable = temp
[../]
[]
[Kernels]
[./dummy]
type = TimeDerivative
variable = temp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp'
number_fluid_phases = 0
number_fluid_components = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 2.2
density = 0.5
[../]
[]
[Postprocessors]
[./total_heat]
type = PorousFlowHeatEnergy
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = heat01
csv = true
[]
test/tests/time_steppers/postprocessor_dt/postprocessor_dt.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_error]
type = ElementL2Error
variable = u
function = exact_fn
execute_on = 'initial timestep_end'
[../]
# Just use some postprocessor that gives values good enough for time stepping ;-)
[./dt]
type = ElementAverageValue
variable = u
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
scheme = 'crank-nicolson'
start_time = 1.0
num_steps = 2
[./TimeStepper]
type = PostprocessorDT
postprocessor = dt
[../]
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_angle.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, with antidiffusion from superbee flux limiting
# 2D version with velocity = (0.1, 0.2, 0)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
xmin = 0
xmax = 1
ny = 10
ymin = 0
ymax = 1
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1 | x > 0.3 | y < 0.1 | y > 0.3, 0, 1)'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0.2 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 2
dt = 0.1
[]
[Outputs]
print_linear_residuals = false
[./out]
type = Exodus
execute_on = 'initial final'
[../]
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/jacobian_03.i
# Checking the Jacobian of Flux-Limited TVD Advection, using flux_limiter_type = vanleer
#
# The initial conditions are u=x. This means that the argument of the flux limiter is 1, so that
# the flux_limiter=1 everywhere, irrespective of flux_limiter_type (except for 'none'). However
# superbee and minmod are nondifferentiable at this point, so using those flux_limiter_type will
# result in a poor Jacobian
#
# Here we use snes_check_jacobian instead of snes_type=test. The former just checks the Jacobian for the
# random initial conditions, while the latter checks for u=1 and u=-1
#
# The Jacobian is correct for u=1 and u=-1, but the finite-difference scheme used by snes_type=test gives the
# wrong answer.
# For u=1, the Kuzmin-Turek scheme adds as much antidiffusion as possible, resulting in a central-difference
# version of advection (flux_limiter = 1). This is correct, and the Jacobian is calculated correctly.
# However, when computing the Jacobian using finite differences, u is increased or decreased at a node.
# This results in that node being at a maximum or minimum, which means no antidiffusion should be added
# (flux_limiter = 0). This corresponds to a full-upwind scheme. So the finite-difference computes the
# Jacobian in the full-upwind scenario, which is incorrect (the original residual = 0, after finite-differencing
# the residual comes from the full-upwind scenario).
[Mesh]
type = GeneratedMesh
dim = 1
nx = 6
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u]
type = FunctionIC
variable = u
function = 'x'
[../]
[]
[Kernels]
[./flux]
type = FluxLimitedTVDAdvection
variable = u
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = vanleer
u = u
velocity = '1 -2 1.5'
[../]
[]
[Preconditioning]
active = smp
[./smp]
type = SMP
full = true
petsc_options = '-snes_check_jacobian'
[../]
[]
[Executioner]
type = Transient
solve_type = Linear # this is to force convergence even though the nonlinear residual is high: we just care about the Jacobian in this test
end_time = 1
num_steps = 1
dt = 1
[]
modules/porous_flow/test/tests/numerical_diffusion/fully_saturated_action.i
# Using the fully-saturated action, which does mass lumping but no upwinding
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[PorousFlowFullySaturated]
porepressure = porepressure
coupling_type = Hydro
gravity = '0 0 0'
fp = the_simple_fluid
mass_fraction_vars = tracer
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-1
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
modules/richards/test/tests/buckley_leverett/bl22.i
# two-phase version
# super-sharp front version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1E-4 1E-3 1E-2 2E-2 5E-2 6E-2 0.1 0.2'
x = '0 1E-2 1E-1 1 5 20 40 41'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-4
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-4
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[./bounds_dummy]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[./richardsppenalty]
type = RichardsPPenalty
variable = pgas
a = 1E-18
lower_var = pwater
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[Bounds]
[./pwater_bounds]
type = BoundsAux
variable = bounds_dummy
bounded_variable = pwater
upper = 1E7
lower = -110000
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1E6
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -100000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-100000*(max(x-5,0)/max(abs(x-5),1E-10))
[../]
[./initial_gas]
type = ParsedFunction
value = max(1000000*(1-x/5),0)+1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type -ksp_rtol -ksp_atol'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 50 vinewtonssls 1E-20 1E-20'
[../]
[./standard]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 20 1E-20 1E-20'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
execute_on = 'timestep_end'
file_base = bl22
[./exodus]
type = Exodus
interval = 100000
hide = pgas
execute_on = 'initial final timestep_end'
[../]
[]
modules/porous_flow/examples/tutorial/13.i
# Example of reactive transport model with dissolution of dolomite
#
# The equilibrium system has 5 primary species (Variables) and
# 5 secondary species (PorousFlowMassFractionAqueousEquilibrium).
# Some of the equilibrium constants have been chosen rather arbitrarily.
#
# Equilibrium reactions
# H+ + HCO3- = CO2(aq)
# -H+ + HCO3- = CO32-
# HCO3- + Ca2+ = CaHCO3+
# HCO3- + Mg2+ = MgHCO3+
# HCO3- + Fe2+ = FeHCO3+
#
# The kinetic reaction that dissolves dolomite involves all 5 primary species.
#
# -2H+ + 2HCO3- + Ca2+ + 0.8Mg2+ + 0.2Fe2+ = CaMg0.8Fe0.2(CO3)2
#
# The initial concentration of precipitated dolomite is high, so it starts
# to dissolve immediately, increasing the concentrations of the primary species.
#
# Only single-phase, fully saturated physics is used.
# The pressure gradient is fixed, so that the Darcy velocity is 0.1m/s.
#
# Primary species are injected from the left side, and they flow to the right.
# Less dolomite dissolution therefore occurs on the left side (where
# the primary species have higher concentration).
#
# This test is more fully documented in tutorial_13
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmax = 1
[]
[Variables]
[./h+]
[../]
[./hco3-]
[../]
[./ca2+]
[../]
[./mg2+]
[../]
[./fe2+]
[../]
[]
[AuxVariables]
[./eqm_k0]
initial_condition = 2.19E6
[../]
[./eqm_k1]
initial_condition = 4.73E-11
[../]
[./eqm_k2]
initial_condition = 0.222
[../]
[./eqm_k3]
initial_condition = 1E-2
[../]
[./eqm_k4]
initial_condition = 1E-3
[../]
[./kinetic_k]
initial_condition = 326.2
[../]
[./pressure]
[../]
[./dolomite]
family = MONOMIAL
order = CONSTANT
[../]
[./dolomite_initial]
initial_condition = 1E-7
[../]
[]
[AuxKernels]
[./dolomite]
type = PorousFlowPropertyAux
property = mineral_concentration
mineral_species = 0
variable = dolomite
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[ICs]
[./pressure_ic]
type = FunctionIC
variable = pressure
function = '(1 - x) * 1E6'
[../]
[./h+_ic]
type = BoundingBoxIC
variable = h+
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 5.0e-2
outside = 1.0e-6
[../]
[./hco3_ic]
type = BoundingBoxIC
variable = hco3-
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 5.0e-2
outside = 1.0e-6
[../]
[./ca2_ic]
type = BoundingBoxIC
variable = ca2+
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 5.0e-2
outside = 1.0e-6
[../]
[./mg2_ic]
type = BoundingBoxIC
variable = mg2+
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 5.0e-2
outside = 1.0e-6
[../]
[./fe2_ic]
type = BoundingBoxIC
variable = fe2+
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 0.25
inside = 5.0e-2
outside = 1.0e-6
[../]
[]
[Kernels]
[./h+_ie]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = h+
[../]
[./h+_conv]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = h+
[../]
[./predis_h+]
type = PorousFlowPreDis
variable = h+
mineral_density = 2875.0
stoichiometry = -2
[../]
[./hco3-_ie]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = hco3-
[../]
[./hco3-_conv]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = hco3-
[../]
[./predis_hco3-]
type = PorousFlowPreDis
variable = hco3-
mineral_density = 2875.0
stoichiometry = 2
[../]
[./ca2+_ie]
type = PorousFlowMassTimeDerivative
fluid_component = 2
variable = ca2+
[../]
[./ca2+_conv]
type = PorousFlowAdvectiveFlux
fluid_component = 2
variable = ca2+
[../]
[./predis_ca2+]
type = PorousFlowPreDis
variable = ca2+
mineral_density = 2875.0
stoichiometry = 1
[../]
[./mg2+_ie]
type = PorousFlowMassTimeDerivative
fluid_component = 3
variable = mg2+
[../]
[./mg2+_conv]
type = PorousFlowAdvectiveFlux
fluid_component = 3
variable = mg2+
[../]
[./predis_mg2+]
type = PorousFlowPreDis
variable = mg2+
mineral_density = 2875.0
stoichiometry = 0.8
[../]
[./fe2+_ie]
type = PorousFlowMassTimeDerivative
fluid_component = 4
variable = fe2+
[../]
[./fe2+_conv]
type = PorousFlowAdvectiveFlux
fluid_component = 4
variable = fe2+
[../]
[./predis_fe2+]
type = PorousFlowPreDis
variable = fe2+
mineral_density = 2875.0
stoichiometry = 0.2
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'h+ hco3- ca2+ mg2+ fe2+'
number_fluid_phases = 1
number_fluid_components = 6
number_aqueous_equilibrium = 5
number_aqueous_kinetic = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
viscosity = 1E-3
[../]
[../]
[]
[BCs]
[./hco3-_left]
type = DirichletBC
variable = hco3-
boundary = left
value = 5E-2
[../]
[./h+_left]
type = DirichletBC
variable = h+
boundary = left
value = 5E-2
[../]
[./ca2+_left]
type = DirichletBC
variable = ca2+
boundary = left
value = 5E-2
[../]
[./mg2+_left]
type = DirichletBC
variable = mg2+
boundary = left
value = 5E-2
[../]
[./fe2+_left]
type = DirichletBC
variable = fe2+
boundary = left
value = 5E-2
[../]
[./hco3-_right]
type = DirichletBC
variable = hco3-
boundary = right
value = 1E-6
[../]
[./h+_right]
type = DirichletBC
variable = h+
boundary = right
value = 1e-6
[../]
[./ca2+_right]
type = DirichletBC
variable = ca2+
boundary = right
value = 1E-6
[../]
[./mg2+_right]
type = DirichletBC
variable = mg2+
boundary = right
value = 1E-6
[../]
[./fe2+_right]
type = DirichletBC
variable = fe2+
boundary = right
value = 1E-6
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = 298.15
[../]
[./ppss]
type = PorousFlow1PhaseFullySaturated
porepressure = pressure
[../]
[./equilibrium_massfrac]
type = PorousFlowMassFractionAqueousEquilibriumChemistry
mass_fraction_vars = 'h+ hco3- ca2+ mg2+ fe2+'
num_reactions = 5
equilibrium_constants = 'eqm_k0 eqm_k1 eqm_k2 eqm_k3 eqm_k4'
primary_activity_coefficients = '1 1 1 1 1'
secondary_activity_coefficients = '1 1 1 1 1'
reactions = '1 1 0 0 0
-1 1 0 0 0
0 1 1 0 0
0 1 0 1 0
0 1 0 0 1'
[../]
[./kinetic]
type = PorousFlowAqueousPreDisChemistry
primary_concentrations = 'h+ hco3- ca2+ mg2+ fe2+'
num_reactions = 1
equilibrium_constants = kinetic_k
primary_activity_coefficients = '1 1 1 1 1'
reactions = '-2 2 1 0.8 0.2'
specific_reactive_surface_area = '1.2E-8'
kinetic_rate_constant = '3E-4'
activation_energy = '1.5e4'
molar_volume = 64365.0
gas_constant = 8.314
reference_temperature = 298.15
[../]
[./dolomite_conc]
type = PorousFlowAqueousPreDisMineral
initial_concentrations = dolomite_initial
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
[../]
[./relp]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.1
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[Outputs]
print_linear_residuals = false
perf_graph = true
exodus = true
[]
modules/level_set/examples/vortex/vortex.i
[Mesh]
type = GeneratedMesh
dim = 2
xmax = 1
ymax = 1
nx = 16
ny = 16
uniform_refine = 2
elem_type = QUAD9
[]
[AuxVariables]
[./vel_x]
family = LAGRANGE
order = FIRST
[../]
[./vel_y]
family = LAGRANGE
order = FIRST
[../]
[]
[AuxKernels]
[./vel_x]
type = FunctionAux
function = vel_x
variable = vel_x
execute_on = 'initial timestep_begin'
[../]
[./vel_y]
type = FunctionAux
function = vel_y
variable = vel_y
execute_on = 'initial timestep_begin'
[../]
[]
[Variables]
[./phi]
family = LAGRANGE
order = FIRST
[../]
[]
[Functions]
[./phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.01184
center = '0.5 0.75 0'
radius = 0.15
[../]
[./vel_x]
type = LevelSetOlssonVortex
component = x
reverse_time = 2
[../]
[./vel_y]
type = LevelSetOlssonVortex
component = y
reverse_time = 2
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[]
[Postprocessors]
[./area]
type = LevelSetVolume
threshold = 0.5
variable = phi
location = outside
execute_on = 'initial timestep_end'
[../]
[./cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 2
scheme = crank-nicolson
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 0.8
[../]
[]
[Outputs]
csv = true
exodus = true
[]
modules/richards/test/tests/theis/th_lumped_22.i
# two-phase, fully-saturated
# production
# lumped
[Mesh]
type = FileMesh
file = th02_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1 2 4 20'
x = '0 1 10 100'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_pressure
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[DiracKernels]
[./bh]
type = RichardsPolyLineSink
pressures = '-1E9 1E9'
fluxes = '200 200'
point_file = th01.points
SumQuantityUO = total_outflow_mass
variable = pwater
[../]
[]
[Postprocessors]
[./flow_report]
type = RichardsPlotQuantity
uo = total_outflow_mass
[../]
[./p50]
type = PointValue
variable = pwater
point = '50 0 0'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E5
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
mat_porosity = 0.1
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = '1E-3 1E-5'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason -ksp_diagonal_scale -ksp_diagonal_scale_fix -ksp_gmres_modifiedgramschmidt -snes_linesearch_monitor'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'gmres asm lu NONZERO 2 2E-7 1E-10 20 1E-10 1E-100'
[../]
[]
[Executioner]
type = Transient
end_time = 100
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
execute_on = 'timestep_end'
file_base = th_lumped_22
exodus = true
csv = true
[]
test/tests/functions/image_function/threshold_adapt.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
threshold = 2.7e4
upper_value = 1
lower_value = -1
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Adaptivity]
max_h_level = 5
initial_steps = 5
initial_marker = marker
[./Indicators]
[./indicator]
type = GradientJumpIndicator
variable = u
[../]
[../]
[./Markers]
[./marker]
type = ErrorFractionMarker
indicator = indicator
refine = 0.9
[../]
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/examples/mortar/mortar_gradient.i
#
# Compare a diffusion equation with (c) and without (v) periodic gradient
# constraints and a ramped sloped initial condition and value-periodic diffusion (p)
# without a slope.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 40
ny = 40
[]
[slave_x]
input = gen
type = LowerDBlockFromSidesetGenerator
sidesets = '3'
new_block_id = 10
new_block_name = "slave_x"
[]
[master_x]
input = slave_x
type = LowerDBlockFromSidesetGenerator
sidesets = '1'
new_block_id = 12
new_block_name = "master_x"
[]
[slave_y]
input = master_x
type = LowerDBlockFromSidesetGenerator
sidesets = '0'
new_block_id = 11
new_block_name = "slave_y"
[]
[master_y]
input = slave_y
type = LowerDBlockFromSidesetGenerator
sidesets = '2'
new_block_id = 13
new_block_name = "master_y"
[]
[]
[Functions]
[./init_slope]
# slope with a concentration spike close to the lower interface
type = ParsedFunction
value = 'if(x>0.4 & x<0.6 & y>0.1 & y<0.3, 3+y, y)'
[../]
[./init_flat]
# no-slope and the same spike
type = ParsedFunction
value = 'if(x>0.4 & x<0.6 & y>0.1 & y<0.3, 3, 0)'
[../]
[]
[Variables]
# gradient constrained concentration
[./c]
order = FIRST
family = LAGRANGE
block = 0
[./InitialCondition]
type = FunctionIC
function = init_slope
[../]
[../]
# unconstrained concentrarion
[./v]
order = FIRST
family = LAGRANGE
block = 0
[./InitialCondition]
type = FunctionIC
function = init_slope
[../]
[../]
# flat value periodic diffusion
[./p]
order = FIRST
family = LAGRANGE
block = 0
[./InitialCondition]
type = FunctionIC
function = init_flat
[../]
[../]
# Lagrange multipliers for gradient component in the horizontal directon
[./lm_left_right_x]
order = FIRST
family = LAGRANGE
block = "slave_x"
[../]
[./lm_left_right_y]
order = FIRST
family = LAGRANGE
block = "slave_x"
[../]
# Lagrange multipliers for gradient component in the vertical directon
[./lm_up_down_x]
order = FIRST
family = LAGRANGE
block = "slave_y"
[../]
[./lm_up_down_y]
order = FIRST
family = LAGRANGE
block = "slave_y"
[../]
[]
[Kernels]
# the gradient constrained concentration
[./diff]
type = Diffusion
variable = c
block = 0
[../]
[./dt]
type = TimeDerivative
variable = c
block = 0
[../]
# the un-constrained concentration
[./diff2]
type = Diffusion
variable = v
block = 0
[../]
[./dt2]
type = TimeDerivative
variable = v
block = 0
[../]
# the value periodic concentration
[./diff3]
type = Diffusion
variable = p
block = 0
[../]
[./dt3]
type = TimeDerivative
variable = p
block = 0
[../]
[]
[Constraints]
[./equaly_grad_x]
type = EqualGradientConstraint
variable = lm_up_down_x
component = 0
slave_variable = c
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./equaly_grad_y]
type = EqualGradientConstraint
variable = lm_up_down_y
component = 1
slave_variable = c
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./equalx_grad_x]
type = EqualGradientConstraint
variable = lm_left_right_x
component = 0
slave_variable = c
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[./equalx_grad_y]
type = EqualGradientConstraint
variable = lm_left_right_y
component = 1
slave_variable = c
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[]
[BCs]
# DiffusionFluxBC is the surface term in the weak form of the Diffusion equation
[./surface]
type = DiffusionFluxBC
boundary = 'top bottom left right'
variable = c
[../]
[./surface2]
type = DiffusionFluxBC
boundary = 'top bottom left right'
variable = v
[../]
# for the value periodic diffusion we skip the surface term and apply value PBCs
[./Periodic]
[./up_down]
variable = p
primary = 0
secondary = 2
translation = '0 1 0'
[../]
[./left_right]
variable = p
primary = 1
secondary = 3
translation = '-1 0 0'
[../]
[../]
[]
[AuxVariables]
[./diff_constraint]
block = 0
[../]
[./diff_periodic]
block = 0
[../]
[./diff_slope]
block = 0
[../]
[./slope]
block = 0
[./InitialCondition]
type = FunctionIC
function = y
[../]
[../]
[]
[AuxKernels]
# difference between the constrained and unconstrained sloped diffusions
[./diff_constraint]
type = ParsedAux
variable = diff_constraint
function = 'c-v'
args = 'c v'
block = 0
[../]
# difference between the periodic gradient constrained diffusion and the flat
# value period diffusien with a constant slope added. This should be the same,
# but they aren't quite because the gradient constraint affects the gradient in
# the entire elements (i.e. a larger volume is affected by the gradient constraint
# compared to the nodal value periodicity)
[./diff_periodic]
type = ParsedAux
variable = diff_periodic
function = 'c-p-slope'
args = 'c p slope'
block = 0
[../]
# subtract the constant slope from the gradient periodic simulation (should yield
# almost p - per the argument above)
[./diff_slope]
type = ParsedAux
variable = diff_slope
function = 'c-slope'
args = 'c slope'
block = 0
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
# the shift is necessary to facilitate the solve. The Lagrange multipliers
# introduce zero-on diaginal blocks, which make the matrix hard to invert.
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = ' lu NONZERO 1e-10'
nl_rel_tol = 1e-11
nl_abs_tol = 1e-10
l_tol = 1e-10
dt = 0.01
num_steps = 20
[]
[Outputs]
exodus = true
[]
test/tests/multiapps/grid-sequencing/vi-fine-alone.i
l=10
nx=80
num_steps=2
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[bounds][]
[]
[Bounds]
[bounds]
type = BoundsAux
variable = bounds
bounded_variable = u
upper = ${l}
lower = 0
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options = '-snes_vi_monitor'
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type -snes_type'
petsc_options_value = '0 30 asm 16 basic vinewtonrsls'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
active = 'upper_violations lower_violations'
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
modules/richards/test/tests/gravity_head_2/gh02.i
# unsaturated = true
# gravity = true
# supg = false
# transient = false
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
xmin = 0
xmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0E2
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5E2
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.15
[../]
[./SatGas]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.15
[../]
[./SUPGwater]
type = RichardsSUPGnone
[../]
[./SUPGgas]
type = RichardsSUPGnone
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
# get nonconvergence if initial condition is too crazy
[./water_ic]
type = FunctionIC
function = pwater_initial
variable = pwater
[../]
[./gas_ic]
type = FunctionIC
function = pgas_initial
variable = pgas
[../]
[]
[Kernels]
active = 'richardsfwater richardsfgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxVariables]
[./seffgas]
[../]
[./seffwater]
[../]
[]
[AuxKernels]
[./seffgas_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffGas
variable = seffgas
[../]
[./seffwater_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffWater
variable = seffwater
[../]
[]
[Postprocessors]
[./mwater_init]
type = RichardsMass
variable = pwater
execute_on = timestep_begin
outputs = none
[../]
[./mgas_init]
type = RichardsMass
variable = pgas
execute_on = timestep_begin
outputs = none
[../]
[./mwater_fin]
type = RichardsMass
variable = pwater
execute_on = timestep_end
outputs = none
[../]
[./mgas_fin]
type = RichardsMass
variable = pgas
execute_on = timestep_end
outputs = none
[../]
[./mass_error_water]
type = FunctionValuePostprocessor
function = fcn_mass_error_w
outputs = none # no reason why mass should be conserved
[../]
[./mass_error_gas]
type = FunctionValuePostprocessor
function = fcn_mass_error_g
outputs = none # no reason why mass should be conserved
[../]
[./pw_left]
type = PointValue
point = '0 0 0'
variable = pwater
outputs = none
[../]
[./pw_right]
type = PointValue
point = '1 0 0'
variable = pwater
outputs = none
[../]
[./error_water]
type = FunctionValuePostprocessor
function = fcn_error_water
[../]
[./pg_left]
type = PointValue
point = '0 0 0'
variable = pgas
outputs = none
[../]
[./pg_right]
type = PointValue
point = '1 0 0'
variable = pgas
outputs = none
[../]
[./error_gas]
type = FunctionValuePostprocessor
function = fcn_error_gas
[../]
[]
[Functions]
[./pwater_initial]
type = ParsedFunction
value = 1-x/2
[../]
[./pgas_initial]
type = ParsedFunction
value = 2-x/5
[../]
[./fcn_mass_error_w]
type = ParsedFunction
value = 'abs(0.5*(mi-mf)/(mi+mf))'
vars = 'mi mf'
vals = 'mwater_init mwater_fin'
[../]
[./fcn_mass_error_g]
type = ParsedFunction
value = 'abs(0.5*(mi-mf)/(mi+mf))'
vars = 'mi mf'
vals = 'mgas_init mgas_fin'
[../]
[./fcn_error_water]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '1E2 -1 pw_left 1 pw_right'
[../]
[./fcn_error_gas]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '0.5E2 -0.5 pg_left 1 pg_right'
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 0.5E-3'
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'gmres asm lu NONZERO 1E-10 1E-10 10000'
[../]
[]
[Executioner]
type = Steady
solve_type = Newton
[]
[Outputs]
execute_on = 'timestep_end'
file_base = gh02
csv = true
[]
modules/level_set/test/tests/kernels/olsson_reinitialization/olsson_1d.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 8
ny = 8
uniform_refine = 2
[]
[Variables]
[./phi]
[../]
[]
[AuxVariables]
[./phi_0]
family = MONOMIAL
order = FIRST
[../]
[./phi_exact]
[../]
[]
[AuxKernels]
[./phi_exact]
type = FunctionAux
function = phi_exact
variable = phi_exact
[../]
[]
[Functions]
[./phi_initial]
type = ParsedFunction
value = '1-x'
[../]
[./phi_exact]
type = ParsedFunction
vars = epsilon
vals = 0.05
value = '1 / (1+exp((x-0.5)/epsilon))'
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_initial
variable = phi
[../]
[./phi_0_ic]
type = FunctionIC
function = phi_initial
variable = phi_0
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./reinit]
type = LevelSetOlssonReinitialization
variable = phi
phi_0 = phi_0
epsilon = 0.05
[../]
[]
[UserObjects]
[./arnold]
type = LevelSetOlssonTerminator
tol = 0.1
[../]
[]
[Postprocessors]
[./error]
type = ElementL2Error
variable = phi
function = phi_exact
execute_on = 'initial timestep_end'
[../]
[./ndofs]
type = NumDOFs
[../]
[]
[VectorPostprocessors]
[./line]
type = LineValueSampler
start_point = '0 0.5 0'
end_point = '1 0.5 0'
variable = phi
num_points = 100
sort_by = x
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
l_max_its = 100
nl_max_its = 100
solve_type = PJFNK
num_steps = 10
start_time = 0
nl_abs_tol = 1e-13
scheme = implicit-euler
dt = 0.05
petsc_options_iname = '-pc_type -pc_sub_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 300'
[]
[Outputs]
exodus = true
[./out]
type = CSV
time_data = true
file_base = output/olsson_1d_out
[../]
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_3D.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, with antidiffusion from superbee flux limiting
# 3D version
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
xmin = 0
xmax = 1
ny = 4
ymin = 0
ymax = 0.5
nz = 3
zmin = 0
zmax = 2
[]
[Variables]
[./tracer]
[../]
[]
[Problem]
error_on_jacobian_nonzero_reallocation=true
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0.5 2'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
nl_max_its = 500
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/misc/check_error/function_file_test12.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_columns_more_data.csv
format = columns
xy_in_file_only = false
y_index_in_file = 3 #Will generate error because data does not contain 4 columns
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/bcs/misc_bcs/weak_gradient_bc_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[Functions]
[./initial_value]
type = ParsedFunction
value = 'x'
[../]
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_value
[../]
[../]
[]
[Kernels]
active = 'diff ie'
[./diff]
type = Diffusion
variable = u
[../]
[./ie]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
active = 'left right top bottom'
[./left]
type = SinDirichletBC
variable = u
boundary = 3
initial = 0.0
final = 1.0
duration = 10.0
[../]
[./right]
type = SinDirichletBC
variable = u
boundary = 1
initial = 1.0
final = 0.0
duration = 10.0
[../]
# Explicit Natural Boundary Conditions
[./top]
type = WeakGradientBC
variable = u
boundary = 2
[../]
[./bottom]
type = WeakGradientBC
variable = u
boundary = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
num_steps = 10
dt = 1.0
[]
[Outputs]
exodus = true
[]
modules/level_set/test/tests/verification/1d_level_set_supg_mms/1d_level_set_supg_mms.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 32
nx = 64
[]
[Variables]
[./phi]
[../]
[]
[AuxVariables]
[./v_x]
initial_condition = 1
[../]
[]
[ICs]
[./phi_ic]
function = phi_exact
variable = phi
type = FunctionIC
[../]
[]
[Functions]
[./phi_exact]
type = ParsedFunction
value = 'a*exp(1/(10*t))*sin(2*pi*x/b) + 1'
vars = 'a b'
vals = '1 8'
[../]
[./phi_mms]
type = ParsedFunction
value = '-a*exp(1/(10*t))*sin(2*pi*x/b)/(10*t^2) + 2*pi*a*exp(1/(10*t))*cos(2*pi*x/b)/b'
vars = 'a b'
vals = '1 8'
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./time_supg]
type = LevelSetTimeDerivativeSUPG
variable = phi
velocity_x = v_x
[../]
[./phi_advection]
type = LevelSetAdvection
variable = phi
velocity_x = v_x
[../]
[./phi_forcing]
type = BodyForce
variable = phi
function = phi_mms
[../]
[./phi_advection_supg]
type = LevelSetAdvectionSUPG
variable = phi
velocity_x = v_x
[../]
[./phi_forcing_supg]
type = LevelSetForcingFunctionSUPG
velocity_x = v_x
variable = phi
function = phi_mms
[../]
[]
[Postprocessors]
[./error]
type = ElementL2Error
function = phi_exact
variable = phi
[../]
[./h]
type = AverageElementSize
[../]
[./point]
type = PointValue
point = '0.1 0 0'
variable = phi
[../]
[]
[Executioner]
type = Transient
start_time = 1
dt = 0.01
end_time = 1.25
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
scheme = bdf2
nl_rel_tol = 1e-12
[]
[Outputs]
interval = 10
execute_on = 'timestep_end'
csv = true
[]
test/tests/bcs/sin_bc/sin_neumann_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[Functions]
[./initial_value]
type = ParsedFunction
value = 'x'
[../]
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
# [./InitialCondition]
# type = FunctionIC
# function = initial_value
# [../]
[../]
[]
[Kernels]
active = 'diff ie'
[./diff]
type = Diffusion
variable = u
[../]
[./ie]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right]
type = SinNeumannBC
variable = u
boundary = 1
initial = 1.0
final = 2.0
duration = 10.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
num_steps = 10
dt = 1.0
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, with antidiffusion from superbee flux limiting
# 2D version
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
xmin = 0
xmax = 1
ny = 4
ymin = 0
ymax = 0.5
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0.5 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
nl_max_its = 500
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/restart/restart_subapp_not_master/two_step_solve_master.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
active = ''
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Postprocessors]
[./average]
type = ElementAverageValue
variable = u
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
start_time = 2.0
end_time = 4.0
dt = 1.0
[]
[MultiApps]
[./full_solve]
type = FullSolveMultiApp
execute_on = initial
positions = '0 0 0'
# input file will come from cli-args
[../]
[]
[Transfers]
[./transfer_u]
type = MultiAppProjectionTransfer
multi_app = full_solve
direction = FROM_MULTIAPP
variable = u
source_variable = u
[../]
[]
[Outputs]
#file_base will come from cli-args
exodus = true
[]
modules/porous_flow/examples/co2_intercomparison/1Dradial/properties.i
# Liquid and gas properties for code intercomparison problem 3
#
# From Pruess et al, Code intercomparison builds confidence in
# numerical simulation models for geologic disposal of CO2, Energy 29 (2004)
#
# This test simply calculates density and viscosity of each phase for
# various pressures and salinities, as well as mass fractions of CO2 in the
# liquid phase and H2O in the gas phase.
#
# Four versions of this are run:
# 1) No CO2, 0 salt mass fraction (pure water)
# 2) Enough CO2 to form gas phase, 0 salt mass fraction (pure water)
# 3) No CO2, 0.15 salt mass fraction
# 4) Enough CO2 to form gas phase, 0.15 salt mass fraction
#
# These results compare well with detailed results presented in Pruess et al,
# Intercomparison of numerical simulation codes for geologic disposal of CO2,
# LBNL-51813 (2002)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
xmax = 4
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[AuxVariables]
[density_liquid]
order = CONSTANT
family = MONOMIAL
[]
[density_gas]
order = CONSTANT
family = MONOMIAL
[]
[viscosity_liquid]
order = CONSTANT
family = MONOMIAL
[]
[viscosity_gas]
order = CONSTANT
family = MONOMIAL
[]
[x1]
order = CONSTANT
family = MONOMIAL
[]
[y0]
order = CONSTANT
family = MONOMIAL
[]
[xnacl]
initial_condition = 0.0
[]
[]
[AuxKernels]
[density_liquid]
type = PorousFlowPropertyAux
variable = density_liquid
property = density
phase = 0
execute_on = timestep_end
[]
[density_gas]
type = PorousFlowPropertyAux
variable = density_gas
property = density
phase = 1
execute_on = timestep_end
[]
[viscosity_liquid]
type = PorousFlowPropertyAux
variable = viscosity_liquid
property = viscosity
phase = 0
execute_on = timestep_end
[]
[viscosity_gas]
type = PorousFlowPropertyAux
variable = viscosity_gas
property = viscosity
phase = 1
execute_on = timestep_end
[]
[x1]
type = PorousFlowPropertyAux
variable = x1
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = timestep_end
[]
[y0]
type = PorousFlowPropertyAux
variable = y0
property = mass_fraction
phase = 1
fluid_component = 0
execute_on = timestep_end
[]
[]
[Variables]
[pgas]
order = CONSTANT
family = MONOMIAL
[]
[zi]
initial_condition = 0.0
[]
[]
[Functions]
[pic]
type = ParsedFunction
value = 'if(x<1,12e6,if(x<2,16e6,if(x<3,20e6,24e6)))'
[]
[]
[ICs]
[pic]
type = FunctionIC
function = pic
variable = pgas
[]
[]
[Kernels]
[diffusionp]
type = NullKernel
variable = pgas
[]
[diffusionz]
type = NullKernel
variable = zi
[]
[]
[UserObjects]
[dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas zi'
number_fluid_phases = 2
number_fluid_components = 2
[]
[pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[]
[fs]
type = PorousFlowBrineCO2
brine_fp = brine
co2_fp = co2
capillary_pressure = pc
[]
[]
[Modules]
[FluidProperties]
[co2]
type = CO2FluidProperties
[]
[brine]
type = BrineFluidProperties
[]
[]
[]
[Materials]
[temperature]
type = PorousFlowTemperature
temperature = 45
[]
[brineco2]
type = PorousFlowFluidState
gas_porepressure = pgas
z = zi
temperature_unit = Celsius
xnacl = xnacl
capillary_pressure = pc
fluid_state = fs
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu NONZERO 2 '
[]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
perf_graph = true
csv = true
execute_on = timestep_end
file_base = properties_water
[]
[VectorPostprocessors]
[vpp]
type = ElementValueSampler
variable = 'pgas density_liquid density_gas viscosity_liquid viscosity_gas x1 y0'
sort_by = x
[]
[]
test/tests/ics/lagrange_ic/3d_second_order.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 5
elem_type = HEX27
[]
[Variables]
[./u]
order = SECOND
[../]
[]
[Functions]
[./afunc]
type = ParsedFunction
value = x^2
[../]
[]
[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
[]
[ICs]
[./func_ic]
function = afunc
variable = u
type = FunctionIC
[../]
[]
python/peacock/tests/common/spherical_average.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
ny = 10
nz = 10
xmin = -5
xmax = 5
ymin = -5
ymax = 5
zmin = -5
zmax = 5
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = sin(x*7.4+z*4.1)+cos(y*3.8+x*8.7)+sin(z*9.1+y*2.6)
[../]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[VectorPostprocessors]
[./average]
type = SphericalAverage
variable = c
radius = 5
bin_number = 10
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
solve_type = PJFNK
[]
[Outputs]
execute_on = 'initial timestep_end'
exodus = true
csv = true
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
num_steps = 20
dt = 0.00005
l_tol = 1e-12
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
test/tests/functions/image_function/image_3d_subset.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 20
ny = 20
nz = 6
zmax = 0.3
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0 5'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/gravity_head_2/gh_fu_02.i
# unsaturated = true
# gravity = true
# supg = false
# transient = false
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
xmin = 0
xmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0E2
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5E2
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.15
[../]
[./SatGas]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.15
[../]
[./SUPGwater]
type = RichardsSUPGnone
[../]
[./SUPGgas]
type = RichardsSUPGnone
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
# get nonconvergence if initial condition is too crazy
[./water_ic]
type = FunctionIC
function = pwater_initial
variable = pwater
[../]
[./gas_ic]
type = FunctionIC
function = pgas_initial
variable = pgas
[../]
[]
[Kernels]
active = 'richardsfwater richardsfgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFullyUpwindFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFullyUpwindFlux
variable = pgas
[../]
[]
[AuxVariables]
[./seffgas]
[../]
[./seffwater]
[../]
[]
[AuxKernels]
[./seffgas_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffGas
variable = seffgas
[../]
[./seffwater_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffWater
variable = seffwater
[../]
[]
[Postprocessors]
[./mwater_init]
type = RichardsMass
variable = pwater
execute_on = timestep_begin
outputs = none
[../]
[./mgas_init]
type = RichardsMass
variable = pgas
execute_on = timestep_begin
outputs = none
[../]
[./mwater_fin]
type = RichardsMass
variable = pwater
execute_on = timestep_end
outputs = none
[../]
[./mgas_fin]
type = RichardsMass
variable = pgas
execute_on = timestep_end
outputs = none
[../]
[./mass_error_water]
type = FunctionValuePostprocessor
function = fcn_mass_error_w
outputs = none # no reason why mass should be conserved
[../]
[./mass_error_gas]
type = FunctionValuePostprocessor
function = fcn_mass_error_g
outputs = none # no reason why mass should be conserved
[../]
[./pw_left]
type = PointValue
point = '0 0 0'
variable = pwater
outputs = none
[../]
[./pw_right]
type = PointValue
point = '1 0 0'
variable = pwater
outputs = none
[../]
[./error_water]
type = FunctionValuePostprocessor
function = fcn_error_water
[../]
[./pg_left]
type = PointValue
point = '0 0 0'
variable = pgas
outputs = none
[../]
[./pg_right]
type = PointValue
point = '1 0 0'
variable = pgas
outputs = none
[../]
[./error_gas]
type = FunctionValuePostprocessor
function = fcn_error_gas
[../]
[]
[Functions]
[./pwater_initial]
type = ParsedFunction
value = 1-x/2
[../]
[./pgas_initial]
type = ParsedFunction
value = 2-x/5
[../]
[./fcn_mass_error_w]
type = ParsedFunction
value = 'abs(0.5*(mi-mf)/(mi+mf))'
vars = 'mi mf'
vals = 'mwater_init mwater_fin'
[../]
[./fcn_mass_error_g]
type = ParsedFunction
value = 'abs(0.5*(mi-mf)/(mi+mf))'
vars = 'mi mf'
vals = 'mgas_init mgas_fin'
[../]
[./fcn_error_water]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '1E2 -1 pw_left 1 pw_right'
[../]
[./fcn_error_gas]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '0.5E2 -0.5 pg_left 1 pg_right'
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
viscosity = '1E-3 0.5E-3'
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'gmres asm lu NONZERO 1E-10 1E-10 10000'
[../]
[]
[Executioner]
type = Steady
solve_type = Newton
[]
[Outputs]
execute_on = 'timestep_end'
file_base = gh_fu_02
csv = true
[]
modules/combined/test/tests/multiphase_mechanics/twophasestress.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
xmin = 0
xmax = 2
ymin = 0
ymax = 2
elem_type = QUAD4
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./eta]
[./InitialCondition]
type = FunctionIC
function = 'x/2'
[../]
[../]
[./e11_aux]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./matl_e11]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = e11_aux
[../]
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[Materials]
[./elasticity_tensor_A]
type = ComputeElasticityTensor
base_name = A
fill_method = symmetric9
C_ijkl = '1e6 1e5 1e5 1e6 0 1e6 .4e6 .2e6 .5e6'
[../]
[./strain_A]
type = ComputeSmallStrain
base_name = A
eigenstrain_names = eigenstrain
[../]
[./stress_A]
type = ComputeLinearElasticStress
base_name = A
[../]
[./eigenstrain_A]
type = ComputeEigenstrain
base_name = A
eigen_base = '0.1 0.05 0 0 0 0.01'
prefactor = -1
eigenstrain_name = eigenstrain
[../]
[./elasticity_tensor_B]
type = ComputeElasticityTensor
base_name = B
fill_method = symmetric9
C_ijkl = '1e6 0 0 1e6 0 1e6 .5e6 .5e6 .5e6'
[../]
[./strain_B]
type = ComputeSmallStrain
base_name = B
eigenstrain_names = 'B_eigenstrain'
[../]
[./stress_B]
type = ComputeLinearElasticStress
base_name = B
[../]
[./eigenstrain_B]
type = ComputeEigenstrain
base_name = B
eigen_base = '0.1 0.05 0 0 0 0.01'
prefactor = -1
eigenstrain_name = 'B_eigenstrain'
[../]
[./switching]
type = SwitchingFunctionMaterial
eta = eta
[../]
[./combined]
type = TwoPhaseStressMaterial
base_A = A
base_B = B
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = 'bottom'
value = 0
[../]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 'left'
value = 0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
test/tests/functions/solution_function/solution_function_rot2.i
# checking rotation of points by 45 deg about y axis in a SolutionUserObject
[Mesh]
# this is chosen so when i rotate through 45deg i get a length of "1" along the x or y or z direction
type = GeneratedMesh
dim = 3
xmin = -0.70710678
xmax = 0.70710678
nx = 3
ymin = -0.70710678
ymax = 0.70710678
ny = 3
zmin = -0.70710678
zmax = 0.70710678
nz = 3
[]
[UserObjects]
[./solution_uo]
type = SolutionUserObject
mesh = cube_with_u_equals_x.e
timestep = 1
system_variables = u
rotation0_vector = '0 1 0'
rotation0_angle = 45
transformation_order = rotation0
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = solution_fcn
[../]
[]
[Functions]
[./solution_fcn]
type = SolutionFunction
from_variable = u
solution = solution_uo
[../]
[]
[Kernels]
[./diff]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
l_max_its = 800
nl_rel_tol = 1e-10
num_steps = 1
end_time = 1
dt = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = solution_function_rot2
exodus = true
[]
modules/navier_stokes/test/tests/bcs/advection_bc/advection_bc.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 10.0
nx = 100
[]
[Variables]
[./phi]
[../]
[]
[AuxVariables]
[./vx]
[../]
[./force]
[../]
[]
[ICs]
[./vx]
type = FunctionIC
variable = vx
function = vx_function
[../]
[./force]
type = FunctionIC
variable = force
function = forcing
[../]
[]
[Kernels]
[./advection]
type = MassConvectiveFlux
variable = phi
vel_x = vx
[../]
[./rhs]
type = CoupledForce
variable = phi
v = force
[../]
[]
[BCs]
[./inflow_enthalpy]
type = DirichletBC
variable = phi
boundary = 'left'
value = 1
[../]
[./outflow_term]
type = AdvectionBC
variable = phi
velocity_vector = 'vx'
boundary = 'right'
[../]
[]
[Functions]
[./vx_function]
type = ParsedFunction
value = '1 + x * x'
[../]
[./forcing]
type = ParsedFunction
value = 'x'
[../]
[./analytical]
type = ParsedFunction
value = '(1 + 0.5 * x * x) / (1 + x * x)'
[../]
[]
[Postprocessors]
[./error]
type = ElementL2Error
variable = phi
function = analytical
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/phase_field/test/tests/phase_field_kernels/AllenCahnVariableL.i
#
# Test the parsed function free enery Allen-Cahn Bulk kernel
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmax = 12
ymax = 12
elem_type = QUAD4
[]
[AuxVariables]
[./chi]
[./InitialCondition]
type = FunctionIC
function = 'x/24+0.5'
[../]
[../]
[]
[Variables]
[./eta]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = SmoothCircleIC
x1 = 0.0
y1 = 0.0
radius = 6.0
invalue = 0.9
outvalue = 0.1
int_width = 3.0
[../]
[../]
[]
[Kernels]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[./ACBulk]
type = AllenCahn
variable = eta
f_name = F
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = 1
variable_L = true
args = chi
[../]
[]
[Materials]
[./L]
type = DerivativeParsedMaterial
f_name = L
args = 'eta chi'
function = '0.1 * eta^2 + chi^2'
derivative_order = 2
[../]
[./free_energy]
type = DerivativeParsedMaterial
f_name = F
args = 'eta'
function = '2 * eta^2 * (1-eta)^2 - 0.2*eta'
derivative_order = 2
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
num_steps = 2
dt = 1
[]
[Outputs]
exodus = true
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear-adapt.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Adaptivity]
steps = 1
marker = box
max_h_level = 2
[./Markers]
[./box]
bottom_left = '-0.4 -0.4 0'
inside = refine
top_right = '0.4 0.4 0'
outside = do_nothing
type = BoxMarker
[../]
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
num_steps = 4
dt = 0.005
l_tol = 1e-12
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/porous_flow/test/tests/recover/pffltvd.i
# Tests that PorousFlow can successfully recover using a checkpoint file.
# This test contains stateful material properties, adaptivity, integrated
# boundary conditions with nodal-sized materials, and TVD flux limiting.
#
# This test file is run three times:
# 1) The full input file is run to completion
# 2) The input file is run for half the time and checkpointing is included
# 3) The input file is run in recovery using the checkpoint data
#
# The final output of test 3 is compared to the final output of test 1 to verify
# that recovery was successful.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[Adaptivity]
initial_steps = 1
initial_marker = tracer_marker
marker = tracer_marker
max_h_level = 1
[./Markers]
[./tracer_marker]
type = ValueRangeMarker
variable = tracer
lower_bound = 0.02
upper_bound = 0.98
[../]
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '2 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 2
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = NodalValueSampler
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 0.2
dt = 0.05
[]
[Outputs]
csv = true
[]
test/tests/misc/check_error/function_conflict.i
# A function name that could be interpreted as a ParsedFunction
[Mesh]
type = GeneratedMesh
dim = 2
[]
[Functions]
[./x]
type = ConstantFunction
[../]
[]
[Variables]
[./var]
[../]
[]
[ICs]
[./dummy]
type = FunctionIC
variable = var
function = x
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = var
[../]
[]
[Executioner]
type = Steady
[]
modules/richards/test/tests/theis/th_lumped_02.i
# fully-saturated
# production
# lumped
[Mesh]
type = FileMesh
file = th02_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1 2 4 20'
x = '0 1 10 100'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsLumpedMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsPolyLineSink
pressures = '-1E9 1E9'
fluxes = '200 200'
point_file = th01.points
SumQuantityUO = total_outflow_mass
variable = pressure
[../]
[]
[Postprocessors]
[./flow_report]
type = RichardsPlotQuantity
uo = total_outflow_mass
[../]
[./p50]
type = PointValue
variable = pressure
point = '50 0 0'
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E5
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-6 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 100
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = th_lumped_02
csv = true
[]
modules/porous_flow/test/tests/numerical_diffusion/fltvd_none.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek
# No antidiffusion, so this is identical to full-upwinding
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculator
flux_limiter_type = none
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-1
nl_abs_tol = 1E-8
nl_max_its = 500
timestep_tolerance = 1E-3
[]
[Outputs]
csv = true
execute_on = final
[]
modules/richards/test/tests/dirac/bh_lumped_07.i
[Mesh]
type = FileMesh
file = bh07_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1000 10000'
x = '100 1000'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[BCs]
[./fix_outer]
type = DirichletBC
boundary = perimeter
variable = pressure
value = 1E7
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsLumpedMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh07.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
re_constant = 0.1594
character = 2
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
execute_on = 'initial timestep_end'
[../]
[./fluid_mass]
type = RichardsMass
variable = pressure
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-11 0 0 0 1E-11 0 0 0 1E-11'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1000
solve_type = NEWTON
[./TimeStepper]
# get only marginally better results for smaller time steps
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh_lumped_07
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[]
modules/porous_flow/test/tests/poroperm/except2.i
# Exception test: fluid=true but no solid_bulk is provided
[Mesh]
type = GeneratedMesh
dim = 3
[]
[GlobalParams]
PorousFlowDictator = dictator
displacements = 'disp_x disp_y disp_z'
biot_coefficient = 0.7
[]
[Variables]
[./porepressure]
initial_condition = 2
[../]
[./temperature]
initial_condition = 4
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[ICs]
[./disp_x]
type = FunctionIC
function = '0.5 * x'
variable = disp_x
[../]
[]
[Kernels]
[./dummy_p]
type = TimeDerivative
variable = porepressure
[../]
[./dummy_t]
type = TimeDerivative
variable = temperature
[../]
[./dummy_x]
type = TimeDerivative
variable = disp_x
[../]
[./dummy_y]
type = TimeDerivative
variable = disp_y
[../]
[./dummy_z]
type = TimeDerivative
variable = disp_z
[../]
[]
[AuxVariables]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
[../]
[]
[Postprocessors]
[./porosity]
type = PointValue
variable = porosity
point = '0 0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure temperature'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./eff_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./vol_strain]
type = PorousFlowVolumetricStrain
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./porosity]
type = PorousFlowPorosity
mechanical = true
fluid = true
thermal = true
ensure_positive = false
porosity_zero = 0.5
thermal_expansion_coeff = 0.5
reference_porepressure = 3
reference_temperature = 3.5
[../]
[]
[Executioner]
solve_type = Newton
type = Transient
num_steps = 1
[]
[Outputs]
csv = true
[]
modules/richards/test/tests/dirac/bh05.i
# unsaturated
# injection
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '500 500 1E1'
x = '4000 5000 6500'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh03.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = -1
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = -2E5
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 6500
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh05
exodus = false
csv = true
execute_on = timestep_end
[]
test/tests/auxkernels/solution_aux/aux_nonlinear_solution_xdr.i
[Mesh]
# This test uses SolutionUserObject which doesn't work with DistributedMesh.
type = GeneratedMesh
parallel_type = replicated
dim = 2
nx = 2
ny = 2
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./u_aux]
[../]
[]
[Functions]
[./u_xdr_func]
type = SolutionFunction
solution = xdr_u
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./aux_xdr_kernel]
type = SolutionAux
variable = u_aux
solution = xdr_u_aux
execute_on = initial
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 1
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 2
[../]
[]
[UserObjects]
[./xdr_u_aux]
type = SolutionUserObject
system = aux0
mesh = aux_nonlinear_solution_xdr_0001_mesh.xdr
es = aux_nonlinear_solution_xdr_0001.xdr
execute_on = initial
[../]
[./xdr_u]
type = SolutionUserObject
system = nl0
mesh = aux_nonlinear_solution_xdr_0001_mesh.xdr
es = aux_nonlinear_solution_xdr_0001.xdr
execute_on = initial
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
nl_rel_tol = 1e-10
[]
[Outputs]
exodus = true
[]
[ICs]
[./u_func_ic]
function = u_xdr_func
variable = u
type = FunctionIC
[../]
[]
test/tests/multiapps/grid-sequencing/vi-coarser.i
l=10
nx=20
num_steps=2
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[bounds][]
[]
[Bounds]
[bounds]
type = BoundsAux
variable = bounds
bounded_variable = u
upper = ${l}
lower = 0
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options = '-snes_vi_monitor'
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type -snes_type'
petsc_options_value = '0 30 asm 16 basic vinewtonrsls'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
active = 'upper_violations lower_violations'
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
modules/richards/test/tests/dirac/bh04.i
# unsaturated
# production
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1E-2 1E-1 1 1E1 1E2 1E3'
x = '0 1E-1 1 1E1 1E2 1E3'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = -1E6
point_file = bh02.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = 1
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 0
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1E3
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh04
exodus = false
csv = true
execute_on = timestep_end
[]
modules/phase_field/examples/multiphase/DerivativeMultiPhaseMaterial.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 40
ny = 40
nz = 0
xmin = -12
xmax = 12
ymin = -12
ymax = 12
elem_type = QUAD4
[]
[GlobalParams]
# let's output all material properties for demonstration purposes
outputs = exodus
# prefactor on the penalty function kernels. The higher this value is, the
# more rigorously the constraint is enforced
penalty = 1e3
[]
#
# These AuxVariables hold the directly calculated free energy density in the
# simulation cell. They are provided for visualization purposes.
#
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[./cross_energy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./local_free_energy]
type = TotalFreeEnergy
variable = local_energy
interfacial_vars = 'c'
kappa_names = 'kappa_c'
additional_free_energy = cross_energy
[../]
#
# Helper kernel to cpompute the gradient contribution from interfaces of order
# parameters evolved using the ACMultiInterface kernel
#
[./cross_terms]
type = CrossTermGradientFreeEnergy
variable = cross_energy
interfacial_vars = 'eta1 eta2 eta3'
#
# The interface coefficient matrix. This should be symmetrical!
#
kappa_names = 'kappa11 kappa12 kappa13
kappa21 kappa22 kappa23
kappa31 kappa32 kappa33'
[../]
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
#
# We set up a smooth cradial concentrtaion gradient
# The concentration will quickly change to adapt to the preset order
# parameters eta1, eta2, and eta3
#
[./InitialCondition]
type = SmoothCircleIC
x1 = 0.0
y1 = 0.0
radius = 5.0
invalue = 1.0
outvalue = 0.01
int_width = 10.0
[../]
[../]
[./eta1]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
#
# Note: this initial conditions sets up a _sharp_ interface. Ideally
# we should start with a smooth interface with a width consistent
# with the kappa parameter supplied for the given interface.
#
function = 'r:=sqrt(x^2+y^2);if(r<=4,1,0)'
[../]
[../]
[./eta2]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt(x^2+y^2);if(r>4&r<=7,1,0)'
[../]
[../]
[./eta3]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt(x^2+y^2);if(r>7,1,0)'
[../]
[../]
[]
[Kernels]
#
# Cahn-Hilliard kernel for the concentration variable.
# Note that we are not using an interfcae kernel on this variable, but rather
# rely on the interface width enforced on the order parameters. This allows us
# to use a direct solve using the CahnHilliard kernel _despite_ only using first
# order elements.
#
[./c_res]
type = CahnHilliard
variable = c
f_name = F
args = 'eta1 eta2 eta3'
[../]
[./time]
type = TimeDerivative
variable = c
[../]
#
# Order parameter eta1
# Each order parameter is acted on by 4 kernels:
# 1. The stock time derivative deta_i/dt kernel
# 2. The Allen-Cahn kernel that takes a Dervative Material for the free energy
# 3. A gradient interface kernel that includes cross terms
# see http://mooseframework.org/wiki/PhysicsModules/PhaseField/DevelopingModels/MultiPhaseModels/ACMultiInterface/
# 4. A penalty contribution that forces the interface contributions h(eta)
# to sum up to unity
#
[./deta1dt]
type = TimeDerivative
variable = eta1
[../]
[./ACBulk1]
type = AllenCahn
variable = eta1
args = 'eta2 eta3 c'
mob_name = L1
f_name = F
[../]
[./ACInterface1]
type = ACMultiInterface
variable = eta1
etas = 'eta1 eta2 eta3'
mob_name = L1
kappa_names = 'kappa11 kappa12 kappa13'
[../]
[./penalty1]
type = SwitchingFunctionPenalty
variable = eta1
etas = 'eta1 eta2 eta3'
h_names = 'h1 h2 h3'
[../]
#
# Order parameter eta2
#
[./deta2dt]
type = TimeDerivative
variable = eta2
[../]
[./ACBulk2]
type = AllenCahn
variable = eta2
args = 'eta1 eta3 c'
mob_name = L2
f_name = F
[../]
[./ACInterface2]
type = ACMultiInterface
variable = eta2
etas = 'eta1 eta2 eta3'
mob_name = L2
kappa_names = 'kappa21 kappa22 kappa23'
[../]
[./penalty2]
type = SwitchingFunctionPenalty
variable = eta2
etas = 'eta1 eta2 eta3'
h_names = 'h1 h2 h3'
[../]
#
# Order parameter eta3
#
[./deta3dt]
type = TimeDerivative
variable = eta3
[../]
[./ACBulk3]
type = AllenCahn
variable = eta3
args = 'eta1 eta2 c'
mob_name = L3
f_name = F
[../]
[./ACInterface3]
type = ACMultiInterface
variable = eta3
etas = 'eta1 eta2 eta3'
mob_name = L3
kappa_names = 'kappa31 kappa32 kappa33'
[../]
[./penalty3]
type = SwitchingFunctionPenalty
variable = eta3
etas = 'eta1 eta2 eta3'
h_names = 'h1 h2 h3'
[../]
[]
[BCs]
[./Periodic]
[./All]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
# here we declare some of the model parameters: the mobilities and interface
# gradient prefactors. For this example we use arbitrary numbers. In an actual simulation
# physical mobilities would be used, and the interface gradient prefactors would
# be readjusted to the free energy magnitudes.
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c L1 L2 L3 kappa11 kappa12 kappa13 kappa21 kappa22 kappa23 kappa31 kappa32 kappa33'
prop_values = '0.2 0.75 1 1 1 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 '
[../]
# This material sums up the individual phase contributions. It is written to the output file
# (see GlobalParams section above) and can be used to check the constraint enforcement.
[./etasummat]
type = ParsedMaterial
f_name = etasum
args = 'eta1 eta2 eta3'
material_property_names = 'h1 h2 h3'
function = 'h1+h2+h3'
[../]
# The phase contribution factors for each material point are computed using the
# SwitchingFunctionMaterials. Each phase with an order parameter eta contributes h(eta)
# to the global free energy density. h is a function that switches smoothly from 0 to 1
[./switching1]
type = SwitchingFunctionMaterial
function_name = h1
eta = eta1
h_order = SIMPLE
[../]
[./switching2]
type = SwitchingFunctionMaterial
function_name = h2
eta = eta2
h_order = SIMPLE
[../]
[./switching3]
type = SwitchingFunctionMaterial
function_name = h3
eta = eta3
h_order = SIMPLE
[../]
# The barrier function adds a phase transformation energy barrier. It also
# Drives order parameters toward the [0:1] interval to avoid negative or larger than 1
# order parameters (these are set to 0 and 1 contribution by the switching functions
# above)
[./barrier]
type = MultiBarrierFunctionMaterial
etas = 'eta1 eta2 eta3'
[../]
# We use DerivativeParsedMaterials to specify three (very) simple free energy
# expressions for the three phases. All necessary derivatives are built automatically.
# In a real problem these expressions can be arbitrarily complex (or even provided
# by custom kernels).
[./phase_free_energy_1]
type = DerivativeParsedMaterial
f_name = F1
function = '(c-1)^2'
args = 'c'
[../]
[./phase_free_energy_2]
type = DerivativeParsedMaterial
f_name = F2
function = '(c-0.5)^2'
args = 'c'
[../]
[./phase_free_energy_3]
type = DerivativeParsedMaterial
f_name = F3
function = 'c^2'
args = 'c'
[../]
# The DerivativeMultiPhaseMaterial ties the phase free energies together into a global free energy.
# http://mooseframework.org/wiki/PhysicsModules/PhaseField/DevelopingModels/MultiPhaseModels/
[./free_energy]
type = DerivativeMultiPhaseMaterial
f_name = F
# we use a constant free energy (GeneriConstantmaterial property Fx)
fi_names = 'F1 F2 F3'
hi_names = 'h1 h2 h3'
etas = 'eta1 eta2 eta3'
args = 'c'
W = 1
[../]
[]
[Postprocessors]
# The total free energy of the simulation cell to observe the energy reduction.
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
variable = local_energy
[../]
# for testing we also monitor the total solute amount, which should be conserved.
[./total_solute]
type = ElementIntegralVariablePostprocessor
variable = c
[../]
[]
[Preconditioning]
# This preconditioner makes sure the Jacobian Matrix is fully populated. Our
# kernels compute all Jacobian matrix entries.
# This allows us to use the Newton solver below.
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
# Automatic differentiation provedes a _full_ Jacobian in this example
# so we can safely use NEWTON for a fast solve
solve_type = 'NEWTON'
l_max_its = 15
l_tol = 1.0e-6
nl_max_its = 50
nl_rel_tol = 1.0e-6
nl_abs_tol = 1.0e-6
start_time = 0.0
end_time = 150.0
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.1
[../]
[]
[Debug]
# show_var_residual_norms = true
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[./table]
type = CSV
delimiter = ' '
[../]
[]
test/tests/postprocessors/find_value_on_line/findvalueonline.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
xmin = 0
xmax = 10
[]
[Variables]
[./phi]
[./InitialCondition]
type = FunctionIC
function = if(x<1,1-x,0)
[../]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = phi
[../]
[./dt]
type = TimeDerivative
variable = phi
[../]
[]
[BCs]
[./influx]
type = NeumannBC
boundary = left
variable = phi
value = 1
[../]
[./fix]
type = DirichletBC
boundary = right
variable = phi
value = 0
[../]
[]
[Postprocessors]
[./pos]
type = FindValueOnLine
target = 0.5
v = phi
start_point = '0 0 0'
end_point = '10 0 0'
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 2.5
[]
[Outputs]
csv = true
[]
modules/phase_field/examples/fourier_noise.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 100
[]
[Variables]
[./c]
[../]
[]
[Functions]
[./fn]
type = FourierNoise
lambda = 0.1
[../]
[]
[ICs]
[./c]
type = FunctionIC
variable = c
function = fn
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/auxkernels/solution_aux/aux_nonlinear_solution_xda.i
[Mesh]
# This test uses SolutionUserObject which doesn't work with DistributedMesh.
type = GeneratedMesh
parallel_type = replicated
dim = 2
nx = 2
ny = 2
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./u_aux]
[../]
[]
[Functions]
[./u_xda_func]
type = SolutionFunction
solution = xda_u
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./aux_xda_kernel]
type = SolutionAux
variable = u_aux
solution = xda_u_aux
execute_on = initial
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 1
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 2
[../]
[]
[UserObjects]
[./xda_u_aux]
type = SolutionUserObject
system = aux0
mesh = aux_nonlinear_solution_out_0001_mesh.xda
es = aux_nonlinear_solution_out_0001.xda
system_variables = u_aux
execute_on = initial
[../]
[./xda_u]
type = SolutionUserObject
system = nl0
mesh = aux_nonlinear_solution_out_0001_mesh.xda
es = aux_nonlinear_solution_out_0001.xda
system_variables = u
execute_on = initial
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
nl_rel_tol = 1e-10
[]
[Outputs]
exodus = true
[]
[ICs]
[./u_func_ic]
function = u_xda_func
variable = u
type = FunctionIC
[../]
[]
test/tests/misc/check_error/function_file_test9.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/level_set/examples/circle/circle_16.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 16
ny = 16
[]
[Variables]
[./phi]
[../]
[]
[AuxVariables]
[./vel_x]
initial_condition = 3
[../]
[./vel_y]
initial_condition = 3
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[../]
[]
[Functions]
[./phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.05
center = '0.5 0.5 0'
radius = 0.15
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = phi
auto_direction = 'x y'
[../]
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[]
[Postprocessors]
[./cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 1
scheme = crank-nicolson
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 0.8
[../]
[]
[Outputs]
csv = true
exodus = true
[]
test/tests/mortar/continuity-2d-conforming/equalgradient.i
[Mesh]
[file]
type = FileMeshGenerator
file = 2blk-conf.e
[]
[slave]
input = file
type = LowerDBlockFromSidesetGenerator
sidesets = '101'
new_block_id = '10001'
new_block_name = 'slave_lower'
[]
[master]
input = slave
type = LowerDBlockFromSidesetGenerator
sidesets = '100'
new_block_id = '10000'
new_block_name = 'master_lower'
[]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = '1 2'
[../]
[./lmx]
order = FIRST
family = LAGRANGE
block = 'slave_lower'
[../]
[./lmy]
order = FIRST
family = LAGRANGE
block = 'slave_lower'
[../]
[]
[ICs]
[./block1]
type = FunctionIC
variable = u
block = 1
function = y
[../]
[./block2]
type = FunctionIC
variable = u
block = 2
function = y-0.5
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./dt]
type = TimeDerivative
variable = u
[../]
[]
[Constraints]
[./cedx]
type = EqualGradientConstraint
slave_variable = u
variable = lmx
master_boundary = 100
master_subdomain = 10000
slave_boundary = 101
slave_subdomain = 10001
component = 0
[../]
[./cedy]
type = EqualGradientConstraint
slave_variable = u
variable = lmy
master_boundary = 100
master_subdomain = 10000
slave_boundary = 101
slave_subdomain = 10001
component = 1
[../]
[]
[BCs]
[./all]
type = DiffusionFluxBC
variable = u
boundary = '2 4 100 101'
[../]
[./boundary]
type = DirichletBC
boundary = 1
variable = u
value = 0.0
[../]
[./top]
type = FunctionDirichletBC
boundary = 3
variable = u
function = 0.5-t
[../]
[]
[Preconditioning]
[./fmp]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Transient
nl_rel_tol = 1e-11
l_tol = 1e-10
l_max_its = 10
dt = 0.05
num_steps = 3
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
test/tests/kernels/conservative_advection/none_in_all_out.i
# Using ConservativeAdvection with full upwinding
# This demonstrates BCs that introduce no mass into
# the domain but allow it to exit freely.
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 10
nx = 100
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u]
type = FunctionIC
variable = u
function = 'if(x<5,x,10-x)'
[../]
[]
[Kernels]
[./dot]
type = MassLumpedTimeDerivative
variable = u
[../]
[./advection]
type = ConservativeAdvection
variable = u
upwinding_type = full
velocity = '1 0 0'
[../]
[]
[BCs]
[./allow_mass_out]
type = OutflowBC
boundary = right
variable = u
velocity = '1 0 0'
[../]
[]
[Executioner]
type = Transient
solve_type = Linear
dt = 1
end_time = 10
l_tol = 1E-14
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/buckley_leverett/bl22_lumped.i
# two-phase version
# super-sharp front version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1E-4 1E-3 1E-2 2E-2 5E-2 6E-2 0.1 0.2'
x = '0 1E-2 1E-1 1 5 20 40 41'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-4
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-4
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[./bounds_dummy]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[./richardsppenalty]
type = RichardsPPenalty
variable = pgas
a = 1E-18
lower_var = pwater
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[Bounds]
[./pwater_bounds]
type = BoundsAux
variable = bounds_dummy
bounded_variable = pwater
upper = 1E7
lower = -110000
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1000
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -100000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-if(x<5,0,100000)
[../]
[./initial_gas]
type = ParsedFunction
value = 1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type -ksp_rtol -ksp_atol'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 50 vinewtonssls 1E-20 1E-20'
[../]
[./standard]
type = SMP
full = true
petsc_options = '-snes_converged_reason -ksp_diagonal_scale -ksp_diagonal_scale_fix -ksp_gmres_modifiedgramschmidt'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'gmres asm lu NONZERO 2 1E-10 1E-10 20 1E-10 1E-100'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
execute_on = 'timestep_end'
file_base = bl22_lumped
[./exodus]
type = Exodus
interval = 100000
hide = 'pgas bounds_dummy'
execute_on = 'initial final timestep_end'
[../]
[]
test/tests/misc/check_error/function_file_test1.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_columns.csv #Will generate error because data is expected in rows
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/userobjects/shape_element_user_object/simple_shape_element_uo_test.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 2
ny = 2
nz = 2
parallel_type = replicated
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = (x-0.5)^2
[../]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./time_u]
type = TimeDerivative
variable = u
[../]
[./shape_u]
type = SimpleTestShapeElementKernel
user_object = example_uo
variable = u
[../]
[]
[UserObjects]
[./example_uo]
type = SimpleTestShapeElementUserObject
u = u
# as this userobject computes quantities for both the residual AND the jacobian
# it needs to have these execute_on flags set.
execute_on = 'linear nonlinear'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options = '-snes_test_display'
petsc_options_iname = '-snes_type'
petsc_options_value = 'test'
dt = 0.1
num_steps = 2
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_2D_angle.i
# Using flux-limited TVD advection ala Kuzmin and Turek, mploying PorousFlow Kernels and UserObjects, with superbee flux-limiter
# 2D version with velocity = (0.1, 0.2, 0)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
xmin = 0
xmax = 1
ny = 10
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x - 2 * y'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1 | x > 0.3 | y < 0.1 | y > 0.3, 0, 1)'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_boundary_porepressure]
type = FunctionDirichletBC
variable = porepressure
function = '1 - x - 2 * y'
boundary = 'left right top bottom'
[../]
[./no_tracer_at_boundary]
type = DirichletBC
variable = tracer
value = 0
boundary = 'left right top bottom'
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 0.3
dt = 0.1
[]
[Outputs]
[./out]
type = Exodus
execute_on = 'initial final'
[../]
[]
modules/richards/test/tests/dirac/bh09.i
# fully-saturated
# production
# with anisotropic permeability
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh02.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = 1
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '2E-12 1E-12 0 1E-12 2E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 0.5
dt = 1E-2
solve_type = NEWTON
[]
[Outputs]
file_base = bh09
exodus = false
csv = true
execute_on = timestep_end
[]
test/tests/transfers/multiapp_vector_pp_transfer/master.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 1
ymax = 2
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./v]
[./InitialCondition]
type = FunctionIC
function = set_v
[../]
[../]
[]
[Functions]
[./set_v]
type = ParsedFunction
value = 'x + 2 * y'
[../]
[]
[VectorPostprocessors]
[./sample_points]
type = PointValueSampler
variable = v
points = '0.25 1.25 0 0.5 1.5 0'
sort_by = x
execute_on = 'initial timestep_end'
[../]
[./receive_values]
type = PointValueSampler
variable = v
points = '0.25 1.25 0 0.5 1.5 0'
sort_by = x
execute_on = initial
[../]
[]
[MultiApps]
[./sub]
type = TransientMultiApp
input_files = 'sub.i'
positions = '0.25 1.25 0 0.5 1.5 0'
max_procs_per_app = 1
[../]
[]
[Transfers]
[./send]
type = MultiAppVectorPostprocessorTransfer
vector_postprocessor = sample_points
postprocessor = receive
vector_name = v
direction = to_multiapp
multi_app = sub
[../]
[./receive]
type = MultiAppVectorPostprocessorTransfer
vector_postprocessor = receive_values
postprocessor = send
vector_name = v
direction = from_multiapp
multi_app = sub
[../]
[]
[Executioner]
type = Transient
nl_abs_tol = 1e-10
num_steps = 1
[]
[Outputs]
csv = true
[]
modules/fluid_properties/test/tests/brine/brine.i
# Test BrineFluidProperties calculations of density, viscosity and thermal
# conductivity
#
# Experimental density values from Pitzer et al, "Thermodynamic properties
# of aqueous sodium chloride solution", Journal of Physical and Chemical
# Reference Data, 13, 1-102 (1984)
#
# Experimental viscosity values from Phillips et al, "Viscosity of NaCl and
# other solutions up to 350C and 50MPa pressures", LBL-11586 (1980)
#
# Thermal conductivity values from Ozbek and Phillips, "Thermal conductivity of
# aqueous NaCl solutions from 20C to 330C", LBL-9086 (1980)
#
# --------------------------------------------------------------
# Pressure (Mpa) | 20 | 20 | 40
# Temperature (C) | 50 | 200 | 200
# NaCl molality (mol/kg) | 2 | 2 | 5
# NaCl mass fraction (kg/kg) | 0.1047 | 0.1047 | 0.2261
# --------------------------------------------------------------
# Expected values
# --------------------------------------------------------------
# Density (kg/m^3) | 1068.52 | 959.27 | 1065.58
# Viscosity (1e-6Pa.s) | 679.8 | 180.0 | 263.1
# Thermal conductivity (W/m/K) | 0.630 | 0.649 | 0.633
# --------------------------------------------------------------
# Calculated values
# --------------------------------------------------------------
# Density (kg/m^3) | 1067.18 | 958.68 | 1065.46
# Viscosity (1e-6 Pa.s) | 681.1 | 181.98 | 266.1
# Thermal conductivity (W/m/K) | 0.637 | 0.662 | 0.658
# --------------------------------------------------------------
#
# All results are within expected accuracy
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 1
xmax = 3
# This test uses ElementalVariableValue postprocessors on specific
# elements, so element numbering needs to stay unchanged
allow_renumbering = false
[]
[Variables]
[./dummy]
[../]
[]
[AuxVariables]
[./pressure]
family = MONOMIAL
order = CONSTANT
[../]
[./temperature]
family = MONOMIAL
order = CONSTANT
[../]
[./xnacl]
family = MONOMIAL
order = CONSTANT
[../]
[./density]
family = MONOMIAL
order = CONSTANT
[../]
[./enthalpy]
family = MONOMIAL
order = CONSTANT
[../]
[./internal_energy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Functions]
[./pic]
type = ParsedFunction
value = 'if(x<2,20e6, 40e6)'
[../]
[./tic]
type = ParsedFunction
value = 'if(x<1, 323.15, 473.15)'
[../]
[./xic]
type = ParsedFunction
value = 'if(x<2,0.1047, 0.2261)'
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
function = pic
variable = pressure
[../]
[./t_ic]
type = FunctionIC
function = tic
variable = temperature
[../]
[./x_ic]
type = FunctionIC
function = xic
variable = xnacl
[../]
[]
[AuxKernels]
[./density]
type = MaterialRealAux
variable = density
property = density
[../]
[./enthalpy]
type = MaterialRealAux
variable = enthalpy
property = enthalpy
[../]
[./internal_energy]
type = MaterialRealAux
variable = internal_energy
property = e
[../]
[]
[Modules]
[./FluidProperties]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./fp_mat]
type = MultiComponentFluidPropertiesMaterialPT
pressure = pressure
temperature = temperature
xmass = xnacl
fp = brine
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = dummy
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Postprocessors]
[./density0]
type = ElementalVariableValue
variable = density
elementid = 0
[../]
[./density1]
type = ElementalVariableValue
variable = density
elementid = 1
[../]
[./density2]
type = ElementalVariableValue
variable = density
elementid = 2
[../]
[./enthalpy0]
type = ElementalVariableValue
variable = enthalpy
elementid = 0
[../]
[./enthalpy1]
type = ElementalVariableValue
variable = enthalpy
elementid = 1
[../]
[./enthalpy2]
type = ElementalVariableValue
variable = enthalpy
elementid = 2
[../]
[./e0]
type = ElementalVariableValue
variable = internal_energy
elementid = 0
[../]
[./e1]
type = ElementalVariableValue
variable = internal_energy
elementid = 1
[../]
[./e2]
type = ElementalVariableValue
variable = internal_energy
elementid = 2
[../]
[]
[Outputs]
csv = true
[]
modules/richards/test/tests/buckley_leverett/bl01_lumped.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2.0E6
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-4
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[AuxKernels]
active = 'calculate_seff'
[./calculate_seff]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffVG
pressure_vars = pressure
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[BCs]
active = 'left'
[./left]
type = DirichletBC
variable = pressure
boundary = left
value = 980000
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsLumpedMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Functions]
active = 'initial_pressure'
[./initial_pressure]
type = ParsedFunction
value = max((1000000-x/5*1000000)-20000,-20000)
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 20'
[../]
[]
[Executioner]
type = Transient
end_time = 50
dt = 2
[]
[Outputs]
file_base = bl01_lumped
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_2D_trimesh.i
# Using flux-limited TVD advection ala Kuzmin and Turek, mploying PorousFlow Kernels and UserObjects, with superbee flux-limiter
# 2D version
[Mesh]
type = FileMesh
file = trimesh.msh
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
block = '50'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.305,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0.04 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 5
xmax = 10
ymax = 10
[]
[GlobalParams]
displacements = 'disp_x disp_y'
displacement_gradients = 'gxx gxy gyx gyy'
[]
[AuxVariables]
[./disp_x]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(2*x/10*3.14159265359)'
[../]
[../]
[./disp_y]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(1*y/10*3.14159265359)'
[../]
[../]
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
initial_condition = 0
[../]
[./gxx]
[../]
[./gxy]
[../]
[./gyx]
[../]
[./gyy]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = c
[../]
[./bulk]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./int]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa_c
[../]
[./gxx]
type = GradientComponent
variable = gxx
v = disp_x
component = 0
[../]
[./gxy]
type = GradientComponent
variable = gxy
v = disp_x
component = 1
[../]
[./gyx]
type = GradientComponent
variable = gyx
v = disp_y
component = 0
[../]
[./gyy]
type = GradientComponent
variable = gyy
v = disp_y
component = 1
[../]
[]
[BCs]
[./Periodic]
[./All]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1 0.1'
[../]
[./straingradderiv]
type = StrainGradDispDerivatives
[../]
[./elasticity_tensor]
type = ComputeConcentrationDependentElasticityTensor
c = c
C0_ijkl = '1.0 1.0'
C1_ijkl = '3.0 3.0'
fill_method0 = symmetric_isotropic
fill_method1 = symmetric_isotropic
[../]
[./smallstrain]
type = ComputeSmallStrain
[../]
[./linearelastic_a]
type = ComputeLinearElasticStress
[../]
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = F
args = 'c'
derivative_order = 3
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = NEWTON
l_max_its = 30
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-7
nl_abs_tol = 1.0e-10
num_steps = 2
dt = 1
[]
[Outputs]
perf_graph = true
exodus = true
[]
modules/porous_flow/test/tests/mass_conservation/mass07.i
# Checking that the mass postprocessor throws the correct error if
# too many phases are supplied
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./sat]
[../]
[]
[AuxVariables]
[./massfrac_ph0_sp0]
initial_condition = 1
[../]
[./massfrac_ph1_sp0]
initial_condition = 0
[../]
[]
[ICs]
[./pinit]
type = ConstantIC
value = 1
variable = pp
[../]
[./satinit]
type = FunctionIC
function = 1-x
variable = sat
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = sat
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp sat'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 0.1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = pp
phase1_saturation = sat
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./comp1_total_mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = '0 1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
modules/porous_flow/test/tests/mass_conservation/mass05.i
# Checking that the mass postprocessor correctly calculates the mass
# of each component in each phase, as well as the total mass of each
# component in all phases.
# 2phase, 2component, constant porosity
[Mesh]
type = GeneratedMesh
dim = 1
nx = 2
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./sat]
[../]
[]
[AuxVariables]
[./massfrac_ph0_sp0]
initial_condition = 0.3
[../]
[./massfrac_ph1_sp0]
initial_condition = 0.55
[../]
[]
[ICs]
[./pinit]
type = ConstantIC
value = 1
variable = pp
[../]
[./satinit]
type = FunctionIC
function = 1-x
variable = sat
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = sat
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp sat'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 0.1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = pp
phase1_saturation = sat
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./comp0_phase0_mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = 0
[../]
[./comp0_phase1_mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = 1
[../]
[./comp0_total_mass]
type = PorousFlowFluidMass
fluid_component = 0
[../]
[./comp0_total_mass2]
type = PorousFlowFluidMass
fluid_component = 0
phase = '0 1'
[../]
[./comp1_phase0_mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = 0
[../]
[./comp1_phase1_mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = 1
[../]
[./comp1_total_mass]
type = PorousFlowFluidMass
fluid_component = 1
[../]
[./comp1_total_mass2]
type = PorousFlowFluidMass
fluid_component = 1
phase = '0 1'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
nl_abs_tol = 1e-16
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = mass05
csv = true
[]
test/tests/time_integrators/explicit-euler/ee-2d-linear.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
test/tests/misc/check_error/function_file_test15.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_rows_more_data.csv
xy_in_file_only = false
x_index_in_file = 3 # will generate an error because no forth row of data
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/level_set/examples/vortex/vortex_reinit.i
[Mesh]
type = GeneratedMesh
dim = 2
xmax = 1
ymax = 1
nx = 16
ny = 16
uniform_refine = 2
elem_type = QUAD9
second_order = true
[]
[AuxVariables]
[vel_x]
family = LAGRANGE
[]
[vel_y]
family = LAGRANGE
[]
[]
[AuxKernels]
[vel_x]
type = FunctionAux
function = vel_x
variable = vel_x
execute_on = 'initial timestep_begin'
[]
[vel_y]
type = FunctionAux
function = vel_y
variable = vel_y
execute_on = 'initial timestep_begin'
[]
[]
[Variables]
[phi]
family = LAGRANGE
[]
[]
[Functions]
[phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.03
center = '0.5 0.75 0'
radius = 0.15
[]
[vel_x]
type = LevelSetOlssonVortex
component = x
reverse_time = 2
[]
[vel_y]
type = LevelSetOlssonVortex
component = y
reverse_time = 2
[]
[]
[ICs]
[phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = phi
[]
[advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[]
[advection_supg]
type = LevelSetAdvectionSUPG
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[]
[time_supg]
type = LevelSetTimeDerivativeSUPG
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[]
[]
[Postprocessors]
[area]
type = LevelSetVolume
threshold = 0.5
variable = phi
location = outside
execute_on = 'initial timestep_end'
[]
[cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial timestep_end'
[]
[]
[Problem]
type = LevelSetProblem
[]
[Preconditioning/smp]
type = SMP
full = true
[]
[Executioner]
type = Transient
solve_type = NEWTON
start_time = 0
end_time = 2
scheme = crank-nicolson
[TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 0.8
[]
[]
[MultiApps]
[reinit]
type = LevelSetReinitializationMultiApp
input_files = 'vortex_reinit_sub.i'
execute_on = TIMESTEP_END
[]
[]
[Transfers]
[to_sub]
type = MultiAppCopyTransfer
source_variable = phi
variable = phi
direction = to_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[]
[to_sub_init]
type = MultiAppCopyTransfer
source_variable = phi
variable = phi_0
direction = to_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[]
[from_sub]
type = MultiAppCopyTransfer
source_variable = phi
variable = phi
direction = from_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[]
[]
[Outputs]
csv = true
exodus = true
[]
modules/richards/test/tests/dirac/bh_fu_07.i
#fullyupwind
[Mesh]
type = FileMesh
file = bh07_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1000 10000'
x = '100 1000'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[BCs]
[./fix_outer]
type = DirichletBC
boundary = perimeter
variable = pressure
value = 1E7
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFullyUpwindFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh07.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
re_constant = 0.1594
character = 2
fully_upwind = true
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
execute_on = 'initial timestep_end'
[../]
[./fluid_mass]
type = RichardsMass
variable = pressure
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-11 0 0 0 1E-11 0 0 0 1E-11'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1000
solve_type = NEWTON
[./TimeStepper]
# get only marginally better results for smaller time steps
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh_fu_07
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_trimesh.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, with antidiffusion from superbee flux limiting
# 2D version
[Mesh]
type = FileMesh
file = trimesh.msh
[]
[GlobalParams]
block = '50'
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.305,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0.04 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
modules/porous_flow/examples/lava_lamp/1phase_convection.i
# Two phase density-driven convection of dissolved CO2 in brine
#
# The model starts with CO2 in the liquid phase only. The CO2 diffuses into the brine.
# As the density of the CO2-saturated brine is greater
# than the unsaturated brine, a gravitational instability arises and density-driven
# convection of CO2-rich fingers descend into the unsaturated brine.
#
# The instability is seeded by a random perturbation to the porosity field.
# Mesh adaptivity is used to refine the mesh as the fingers form.
[GlobalParams]
PorousFlowDictator = 'dictator'
gravity = '0 -9.81 0'
[]
[Adaptivity]
max_h_level = 2
marker = marker
initial_marker = initial
initial_steps = 2
[./Indicators]
[./indicator]
type = GradientJumpIndicator
variable = zi
[../]
[../]
[./Markers]
[./marker]
type = ErrorFractionMarker
indicator = indicator
refine = 0.8
[../]
[./initial]
type = BoxMarker
bottom_left = '0 1.95 0'
top_right = '2 2 0'
inside = REFINE
outside = DO_NOTHING
[../]
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
ymin = 1.5
ymax = 2
xmax = 2
ny = 20
nx = 40
bias_y = 0.95
[]
[AuxVariables]
[./xnacl]
initial_condition = 0.01
[../]
[./saturation_gas]
order = FIRST
family = MONOMIAL
[../]
[./xco2l]
order = FIRST
family = MONOMIAL
[../]
[./density_liquid]
order = FIRST
family = MONOMIAL
[../]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = 'timestep_end'
[../]
[./xco2l]
type = PorousFlowPropertyAux
variable = xco2l
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = 'timestep_end'
[../]
[./density_liquid]
type = PorousFlowPropertyAux
variable = density_liquid
property = density
phase = 0
execute_on = 'timestep_end'
[../]
[]
[Variables]
[./pgas]
[../]
[./zi]
scaling = 1e4
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
function = 10e6-9.81*1000*y
variable = pgas
[../]
[./zi]
type = ConstantIC
value = 0
variable = zi
[../]
# [./zi]
# type = BoundingBoxIC
# variable = zi
# x1 = 0
# x2 = 2
# y1 = 1.95
# y2 = 2
# inside = 0.1
# outside = 0
# [../]
[./porosity]
type = RandomIC
variable = porosity
min = 0.25
max = 0.275
[../]
[]
[BCs]
[./top]
type = DirichletBC
value = 0.04
variable = zi
boundary = top
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pgas
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pgas
[../]
[./diff0]
type = PorousFlowDispersiveFlux
fluid_component = 0
variable = pgas
disp_long = '0 0'
disp_trans = '0 0'
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = zi
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = zi
[../]
[./diff1]
type = PorousFlowDispersiveFlux
fluid_component = 1
variable = zi
disp_long = '0 0'
disp_trans = '0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas zi'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowBrineCO2
brine_fp = brine
co2_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2sw]
type = CO2FluidProperties
[../]
[./co2]
type = TabulatedFluidProperties
fp = co2sw
[../]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = '45'
[../]
[./brineco2]
type = PorousFlowFluidState
gas_porepressure = 'pgas'
z = 'zi'
temperature_unit = Celsius
xnacl = 'xnacl'
capillary_pressure = pc
fluid_state = fs
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = porosity
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-11 0 0 0 1e-11 0 0 0 1e-11'
[../]
[./relperm_water]
type = PorousFlowRelativePermeabilityCorey
phase = 0
n = 2
s_res = 0.1
sum_s_res = 0.2
[../]
[./relperm_gas]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
s_res = 0.1
sum_s_res = 0.2
[../]
[./diffusivity]
type = PorousFlowDiffusivityConst
diffusion_coeff = '2e-9 2e-9 2e-9 2e-9'
tortuosity = '1 1'
[../]
[]
[Preconditioning]
active = basic
[./mumps_is_best_for_parallel_jobs]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[./basic]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu NONZERO 2 '
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1e6
nl_max_its = 25
l_max_its = 100
dtmax = 1e4
nl_abs_tol = 1e-6
[./TimeStepper]
type = IterationAdaptiveDT
dt = 100
growth_factor = 2
cutback_factor = 0.5
[../]
[]
[Functions]
[./flux]
type = ParsedFunction
vals = 'delta_xco2 dt'
vars = 'dx dt'
value = 'dx/dt'
[../]
[]
[Postprocessors]
[./total_co2_in_gas]
type = PorousFlowFluidMass
phase = 1
fluid_component = 1
[../]
[./total_co2_in_liquid]
type = PorousFlowFluidMass
phase = 0
fluid_component = 1
[../]
[./numdofs]
type = NumDOFs
[../]
[./delta_xco2]
type = ChangeOverTimePostprocessor
postprocessor = total_co2_in_liquid
[../]
[./dt]
type = TimestepSize
[../]
[./flux]
type = FunctionValuePostprocessor
function = flux
[../]
[]
[Outputs]
print_linear_residuals = false
perf_graph = true
exodus = true
csv = true
[]
modules/porous_flow/test/tests/numerical_diffusion/pffltvd.i
# Using flux-limited TVD advection ala Kuzmin and Turek, employing PorousFlow Kernels and UserObjects, with superbee flux-limiter
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
modules/porous_flow/examples/tidal/atm_tides.i
# A 10m x 10m "column" of height 100m is subjected to cyclic pressure at its top
# Assumptions:
# the boundaries are impermeable, except the top boundary
# only vertical displacement is allowed
# the atmospheric pressure sets the total stress at the top of the model
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 10
xmin = 0
xmax = 10
ymin = 0
ymax = 10
zmin = -100
zmax = 0
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
PorousFlowDictator = dictator
block = 0
biot_coefficient = 0.6
multiply_by_density = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./porepressure]
scaling = 1E11
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '-10000*z' # approximately correct
[../]
[]
[Functions]
[./ini_stress_zz]
type = ParsedFunction
value = '(25000 - 0.6*10000)*z' # remember this is effective stress
[../]
[./cyclic_porepressure]
type = ParsedFunction
value = 'if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[./neg_cyclic_porepressure]
type = ParsedFunction
value = '-if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[]
[BCs]
# zmin is called 'back'
# zmax is called 'front'
# ymin is called 'bottom'
# ymax is called 'top'
# xmin is called 'left'
# xmax is called 'right'
[./no_x_disp]
type = DirichletBC
variable = disp_x
value = 0
boundary = 'bottom top' # because of 1-element meshing, this fixes u_x=0 everywhere
[../]
[./no_y_disp]
type = DirichletBC
variable = disp_y
value = 0
boundary = 'bottom top' # because of 1-element meshing, this fixes u_y=0 everywhere
[../]
[./no_z_disp_at_bottom]
type = DirichletBC
variable = disp_z
value = 0
boundary = back
[../]
[./pp]
type = FunctionDirichletBC
variable = porepressure
function = cyclic_porepressure
boundary = front
[../]
[./total_stress_at_top]
type = FunctionNeumannBC
variable = disp_z
function = neg_cyclic_porepressure
boundary = front
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
thermal_expansion = 0.0
bulk_modulus = 2E9
viscosity = 1E-3
density0 = 1000.0
[../]
[../]
[]
[PorousFlowBasicTHM]
coupling_type = HydroMechanical
displacements = 'disp_x disp_y disp_z'
porepressure = porepressure
gravity = '0 0 -10'
fp = the_simple_fluid
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
bulk_modulus = 10.0E9 # drained bulk modulus
poissons_ratio = 0.25
[../]
[./strain]
type = ComputeSmallStrain
eigenstrain_names = ini_stress
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '0 0 0 0 0 0 0 0 ini_stress_zz'
eigenstrain_name = ini_stress
[../]
[./porosity]
type = PorousFlowPorosityConst # only the initial value of this is ever used
porosity = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
solid_bulk_compliance = 1E-10
fluid_bulk_modulus = 2E9
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-14'
[../]
[./density]
type = GenericConstantMaterial
prop_names = density
prop_values = 2500.0
[../]
[]
[Postprocessors]
[./p0]
type = PointValue
outputs = csv
point = '0 0 0'
variable = porepressure
[../]
[./uz0]
type = PointValue
outputs = csv
point = '0 0 0'
variable = disp_z
[../]
[./p100]
type = PointValue
outputs = csv
point = '0 0 -100'
variable = porepressure
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
start_time = -3600 # so postprocessors get recorded correctly at t=0
dt = 3600
end_time = 360000
nl_abs_tol = 5E-7
nl_rel_tol = 1E-10
[]
[Outputs]
csv = true
[]
test/tests/functions/image_function/threshold.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
threshold = 2.7e4
upper_value = 1
lower_value = -1
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
test/tests/functions/solution_function/solution_function_test.i
[Mesh]
type = FileMesh
file = square.e
# This test uses SolutionUserObject which doesn't work with DistributedMesh.
parallel_type = replicated
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_cond_func
[../]
[../]
[]
[AuxVariables]
[./u_aux]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_cond_func
[../]
[../]
[]
[Functions]
[./initial_cond_func]
type = SolutionFunction
solution = ex_soln
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[UserObjects]
[./ex_soln]
type = SolutionUserObject
system_variables = u
mesh = build_out_0001_mesh.xda
es = build_out_0001.xda
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/nodalkernels/constraint_enforcement/upper-and-lower-bound.i
l=10
nx=100
num_steps=10
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[lm_upper]
[]
[lm_lower]
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[NodalKernels]
[upper_bound]
type = UpperBoundNodalKernel
variable = lm_upper
v = u
exclude_boundaries = 'left right'
upper_bound = 10
[]
[forces_from_upper]
type = CoupledForceNodalKernel
variable = u
v = lm_upper
coef = -1
[]
[lower_bound]
type = LowerBoundNodalKernel
variable = lm_lower
v = u
exclude_boundaries = 'left right'
lower_bound = 0
[]
[forces_from_lower]
type = CoupledForceNodalKernel
variable = u
v = lm_lower
coef = 1
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type'
petsc_options_value = '0 30 asm 16 basic'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
[active_upper_lm]
type = GreaterThanLessThanPostprocessor
variable = lm_upper
execute_on = 'nonlinear timestep_end'
value = 1e-8
comparator = 'greater'
[]
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[active_lower_lm]
type = GreaterThanLessThanPostprocessor
variable = lm_lower
execute_on = 'nonlinear timestep_end'
value = 1e-8
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
modules/porous_flow/test/tests/dirackernels/pls03_action.i
# Test that the upwinding works correctly.
#
# A poly-line sink sits at the centre of the element.
# It has length=4 and weight=0.5, and extracts fluid
# at a constant rate of
# (1 * relative_permeability) kg.m^-1.s^-1
# Since it sits at the centre of the element, it extracts
# equally from each node, so the rate of extraction from
# each node is
# (0.5 * relative_permeability) kg.s^-1
# including the length and weight effects.
#
# There is no fluid flow.
#
# The initial conditions are such that all nodes have
# relative_permeability=0, except for one which has
# relative_permeaility = 1. Therefore, all nodes should
# remain at their initial porepressure, except the one.
#
# The porosity is 0.1, and the elemental volume is 2,
# so the fluid mass at the node in question = 0.2 * density / 4,
# where the 4 is the number of nodes in the element.
# In this simulation density = dens0 * exp(P / bulk), with
# dens0 = 100, and bulk = 20 MPa.
# The initial porepressure P0 = 10 MPa, so the final (after
# 1 second of simulation) is
# P(t=1) = 8.748592 MPa
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 2
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
thermal_expansion = 0.0
bulk_modulus = 2.0E7
viscosity = 1.0
density0 = 100.0
[../]
[../]
[]
[PorousFlowUnsaturated]
porepressure = pp
gravity = '0 0 0'
fp = the_simple_fluid
van_genuchten_alpha = 1.0E-7
van_genuchten_m = 0.5
relative_permeability_exponent = 2
residual_saturation = 0.99
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
#function = if((x<1)&(y<0.5),1E7,-1E7)
function = if((x<1)&(y>0.5),1E7,-1E7)
#function = if((x>1)&(y<0.5),1E7,-1E7)
#function = if((x>1)&(y>0.5),1E7,-1E7)
[../]
[]
[UserObjects]
[./pls_total_outflow_mass]
type = PorousFlowSumQuantity
[../]
[]
[Materials]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0 0 0 0 0 0 0 0 0'
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[DiracKernels]
[./pls]
type = PorousFlowPolyLineSink
fluid_phase = 0
point_file = pls03.bh
use_relative_permeability = true
line_length = 4
SumQuantityUO = pls_total_outflow_mass
variable = pp
p_or_t_vals = '0 1E7'
fluxes = '1 1'
[../]
[]
[Postprocessors]
[./pls_report]
type = PorousFlowPlotQuantity
uo = pls_total_outflow_mass
[../]
[./fluid_mass0]
type = PorousFlowFluidMass
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = PorousFlowFluidMass
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p00]
type = PointValue
variable = pp
point = '0 0 0'
execute_on = timestep_end
[../]
[./p01]
type = PointValue
variable = pp
point = '0 1 0'
execute_on = timestep_end
[../]
[./p20]
type = PointValue
variable = pp
point = '2 0 0'
execute_on = timestep_end
[../]
[./p21]
type = PointValue
variable = pp
point = '2 1 0'
execute_on = timestep_end
[../]
[]
[Functions]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 pls_report'
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1
dt = 1
solve_type = NEWTON
[]
[Outputs]
file_base = pls03_action
exodus = false
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/jacobian/fflux01.i
# 1phase, 1component, constant viscosity, constant insitu permeability
# density with constant bulk, Corey relative perm, nonzero gravity, unsaturated with vanGenuchten
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
xmin = 0
xmax = 1
ny = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = -0.7+x+y
[../]
[]
[Kernels]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
gravity = '-1 -0.1 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.5
density0 = 1
thermal_expansion = 0
viscosity = 1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1 0 0 0 2 0 0 0 3'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[Preconditioning]
active = check
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000'
[../]
[./check]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
exodus = false
[]
test/tests/restart/restart_subapp_not_master/complete_solve_no_subapp.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Postprocessors]
[./average]
type = ElementAverageValue
variable = u
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = 4.0
dt = 1.0
[]
[Outputs]
file_base = complete_solve_no_subapp
exodus = true
[]
modules/navier_stokes/test/tests/bcs/advection_bc/2d_advection_bc.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10.0
ymax = 10
nx = 10
ny = 10
[]
[Variables]
[./phi]
[../]
[]
[AuxVariables]
[./vx]
[../]
[./force]
[../]
[]
[ICs]
[./vx]
type = FunctionIC
variable = vx
function = vx_function
[../]
[./force]
type = FunctionIC
variable = force
function = forcing
[../]
[]
[Kernels]
[./advection]
type = MassConvectiveFlux
variable = phi
vel_x = vx
[../]
[./rhs]
type = CoupledForce
variable = phi
v = force
[../]
[]
[BCs]
[./inflow_enthalpy]
type = DirichletBC
variable = phi
boundary = 'left'
value = 1
[../]
[./outflow_term]
type = AdvectionBC
variable = phi
velocity_vector = 'vx'
boundary = 'right'
[../]
[]
[Functions]
[./vx_function]
type = ParsedFunction
value = '1 + x * x'
[../]
[./forcing]
type = ParsedFunction
value = 'x'
[../]
[./analytical]
type = ParsedFunction
value = '(1 + 0.5 * x * x) / (1 + x * x)'
[../]
[]
[Postprocessors]
[./error]
type = ElementL2Error
variable = phi
function = analytical
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/porous_flow/test/tests/newton_cooling/nc02.i
# Newton cooling from a bar. 1-phase steady
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1000
ny = 1
xmin = 0
xmax = 100
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pressure'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.8
alpha = 1e-5
[../]
[]
[Variables]
[./pressure]
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
variable = pressure
function = '(2-x/100)*1E6'
[../]
[]
[Kernels]
[./flux]
type = PorousFlowAdvectiveFlux
fluid_component = 0
gravity = '0 0 0'
variable = pressure
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e6
density0 = 1000
thermal_expansion = 0
viscosity = 1e-3
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-15'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey # irrelevant in this fully-saturated situation
n = 2
phase = 0
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = pressure
boundary = left
value = 2E6
[../]
[./newton]
type = PorousFlowPiecewiseLinearSink
variable = pressure
boundary = right
pt_vals = '0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000 1100000 1200000 1300000 1400000 1500000 1600000 1700000 1800000 1900000 2000000'
multipliers = '0. 5.6677197748570516e-6 0.000011931518841831313 0.00001885408740732065 0.000026504708864284114 0.000034959953203725676 0.000044304443352900224 0.00005463170211001232 0.00006604508815181467 0.00007865883048198513 0.00009259917167338928 0.00010800563134618119 0.00012503240252705603 0.00014384989486488752 0.00016464644014777016 0.00018763017719085535 0.0002130311349595711 0.00024110353477682344 0.00027212833465544285 0.00030641604122040985 0.00034430981736352295'
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1
[../]
[]
[VectorPostprocessors]
[./porepressure]
type = LineValueSampler
variable = pressure
start_point = '0 0.5 0'
end_point = '100 0.5 0'
sort_by = x
num_points = 20
execute_on = timestep_end
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol '
petsc_options_value = 'gmres asm lu 100 NONZERO 2 1E-12 1E-15'
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base = nc02
execute_on = timestep_end
exodus = false
[./along_line]
type = CSV
execute_vector_postprocessors_on = timestep_end
[../]
[]
modules/porous_flow/test/tests/aux_kernels/darcy_velocity.i
# checking that the PorousFlowDarcyVelocityComponent AuxKernel works as expected
# for the fully-saturated case (relative-permeability = 1)
# There is one element, of unit size. The pressures and fluid densities at the qps are:
# (x,y,z)=( 0.211325 , 0.211325 , 0.211325 ). p = 1.479 rho = 3.217
# (x,y,z)=( 0.788675 , 0.211325 , 0.211325 ). p = 2.057 rho = 4.728
# (x,y,z)=( 0.211325 , 0.788675 , 0.211325 ). p = 2.634 rho = 6.947
# (x,y,z)=( 0.788675 , 0.788675 , 0.211325 ). p = 3.211 rho = 10.208
# (x,y,z)=( 0.211325 , 0.211325 , 0.788675 ). p = 3.789 rho = 15.001
# (x,y,z)=( 0.788675 , 0.211325 , 0.788675 ). p = 4.367 rho = 22.043
# (x,y,z)=( 0.211325 , 0.788675 , 0.788675 ). p = 4.943 rho = 32.392
# (x,y,z)=( 0.788675 , 0.788675 , 0.788675 ). p = 5.521 rho = 47.599
# Average density = 17.7668
# grad(P) = (1, 2, 4)
# with permeability = diag(1, 2, 3) and gravity = (1, -2, 3) and viscosity = 3.2
# So Darcy velocity = (5.23963, -23.4585, 46.2192)
[Mesh]
type = GeneratedMesh
dim = 3
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '1 -2 3'
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pinit]
type = FunctionIC
function = x+2*y+4*z
variable = pp
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[AuxVariables]
[./vel_x]
order = CONSTANT
family = MONOMIAL
[../]
[./vel_y]
order = CONSTANT
family = MONOMIAL
[../]
[./vel_z]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./vel_x]
type = PorousFlowDarcyVelocityComponent
variable = vel_x
component = x
fluid_phase = 0
[../]
[./vel_y]
type = PorousFlowDarcyVelocityComponent
variable = vel_y
component = y
fluid_phase = 0
[../]
[./vel_z]
type = PorousFlowDarcyVelocityComponent
variable = vel_z
component = z
fluid_phase = 0
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.5
viscosity = 3.2
density0 = 1.2
thermal_expansion = 0
[../]
[../]
[]
[Postprocessors]
[./vel_x]
type = PointValue
variable = vel_x
point = '0.5 0.5 0.5'
[../]
[./vel_y]
type = PointValue
variable = vel_y
point = '0.5 0.5 0.5'
[../]
[./vel_z]
type = PointValue
variable = vel_z
point = '0.5 0.5 0.5'
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1 0 0 0 2 0 0 0 3'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
nl_abs_tol = 1e-16
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = darcy_velocity
csv = true
[]
modules/combined/test/tests/DiffuseCreep/stress_based_chem_pot.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.1*v'
[../]
[../]
[./mu]
[../]
[./jx]
[../]
[./jy]
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./creep_strain_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_xy]
family = MONOMIAL
order = CONSTANT
[../]
[./mu_prop]
family = MONOMIAL
order = CONSTANT
[../]
[./mech_prop]
family = MONOMIAL
order = CONSTANT
[../]
[./total_potential]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = total_potential
c = c
[../]
[./flux_x]
type = CHSplitFlux
variable = jx
component = 0
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./flux_y]
type = CHSplitFlux
variable = jy
component = 1
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[./TensorMechanics]
displacements = 'disp_x disp_y'
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./creep_strain_xx]
type = RankTwoAux
variable = creep_strain_xx
rank_two_tensor = creep_strain
index_i = 0
index_j = 0
[../]
[./stress_xx]
type = RankTwoAux
variable = stress_xx
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
variable = stress_yy
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./stress_xy]
type = RankTwoAux
variable = stress_xy
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[./mu_prop]
type = MaterialRealAux
property = mu_prop
variable = mu_prop
[../]
[./mech_prop]
type = MaterialRealAux
property = mech_prop
variable = mech_prop
[../]
[./total_potential]
type = MaterialRealAux
property = total_potential
variable = total_potential
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./mechanical_potential]
type = StressBasedChemicalPotential
property_name = mech_prop
stress_name = stress
direction_tensor_name = aniso_tensor
prefactor_name = 1.0
[../]
[./total_potential]
type = DerivativeSumMaterial
block = 0
f_name = total_potential
sum_materials = 'mu_prop mech_prop'
args = 'c'
derivative_order = 2
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[./diffuse_strain_increment]
type = FluxBasedStrainIncrement
xflux = jx
yflux = jy
gb = gb
property_name = diffuse
[../]
[./diffuse_creep_strain]
type = SumTensorIncrements
tensor_name = creep_strain
coupled_tensor_increment_names = diffuse
[../]
[./strain]
type = ComputeIncrementalSmallStrain
displacements = 'disp_x disp_y'
[../]
[./stress]
type = ComputeStrainIncrementBasedStress
inelastic_strain_names = creep_strain
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[]
[BCs]
[./Periodic]
[./cbc]
auto_direction = 'x y'
variable = c
[../]
[../]
[./fix_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[./fix_y]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-10
nl_max_its = 5
l_tol = 1e-4
l_max_its = 20
dt = 1
num_steps = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
test/tests/misc/check_error/function_file_test4.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = dummy #we don't get that far
format = rowls
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/fluid_properties/test/tests/water/water.i
# Example of using Water97FluidProperties module in Region 1 by recovering the values
# in Table 5 of Revised Release on the IAPWS Industrial Formulation 1997 for the
# Thermodynamic Properties of Water and Steam
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
xmax = 3
# This test uses ElementalVariableValue postprocessors on specific
# elements, so element numbering needs to stay unchanged
allow_renumbering = false
[]
[Variables]
[./dummy]
[../]
[]
[AuxVariables]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./temperature]
order = CONSTANT
family = MONOMIAL
[../]
[./rho]
family = MONOMIAL
order = CONSTANT
[../]
[./v]
family = MONOMIAL
order = CONSTANT
[../]
[./e]
family = MONOMIAL
order = CONSTANT
[../]
[./h]
family = MONOMIAL
order = CONSTANT
[../]
[./s]
family = MONOMIAL
order = CONSTANT
[../]
[./cp]
family = MONOMIAL
order = CONSTANT
[../]
[./cv]
family = MONOMIAL
order = CONSTANT
[../]
[./c]
family = MONOMIAL
order = CONSTANT
[../]
[./mu]
family = MONOMIAL
order = CONSTANT
[../]
[./k]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Functions]
[./tic]
type = ParsedFunction
value = 'if(x<2, 300, 500)'
[../]
[./pic]
type = ParsedFunction
value = 'if(x<1,3e6, if(x<2, 80e6, 3e6))'
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
function = pic
variable = pressure
[../]
[./t_ic]
type = FunctionIC
function = tic
variable = temperature
[../]
[]
[AuxKernels]
[./rho]
type = MaterialRealAux
variable = rho
property = density
[../]
[./v]
type = ParsedAux
args = rho
function = 1/rho
variable = v
[../]
[./e]
type = MaterialRealAux
variable = e
property = e
[../]
[./h]
type = MaterialRealAux
variable = h
property = h
[../]
[./s]
type = MaterialRealAux
variable = s
property = s
[../]
[./cp]
type = MaterialRealAux
variable = cp
property = cp
[../]
[./cv]
type = MaterialRealAux
variable = cv
property = cv
[../]
[./c]
type = MaterialRealAux
variable = c
property = c
[../]
[./mu]
type = MaterialRealAux
variable = mu
property = viscosity
[../]
[./k]
type = MaterialRealAux
variable = k
property = k
[../]
[]
[Modules]
[./FluidProperties]
[./water]
type = Water97FluidProperties
[../]
[../]
[]
[Materials]
[./fp_mat]
type = FluidPropertiesMaterialPT
pressure = pressure
temperature = temperature
fp = water
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = dummy
[../]
[]
[Postprocessors]
[./density0]
type = ElementalVariableValue
variable = rho
elementid = 0
[../]
[./density1]
type = ElementalVariableValue
variable = rho
elementid = 1
[../]
[./density2]
type = ElementalVariableValue
variable = rho
elementid = 2
[../]
[./v0]
type = ElementalVariableValue
variable = v
elementid = 0
[../]
[./v1]
type = ElementalVariableValue
variable = v
elementid = 1
[../]
[./v2]
type = ElementalVariableValue
variable = v
elementid = 2
[../]
[./e0]
type = ElementalVariableValue
variable = e
elementid = 0
[../]
[./e1]
type = ElementalVariableValue
variable = e
elementid = 1
[../]
[./e2]
type = ElementalVariableValue
variable = e
elementid = 2
[../]
[./h0]
type = ElementalVariableValue
variable = h
elementid = 0
[../]
[./h1]
type = ElementalVariableValue
variable = h
elementid = 1
[../]
[./h2]
type = ElementalVariableValue
variable = h
elementid = 2
[../]
[./s0]
type = ElementalVariableValue
variable = s
elementid = 0
[../]
[./s1]
type = ElementalVariableValue
variable = s
elementid = 1
[../]
[./s2]
type = ElementalVariableValue
variable = s
elementid = 2
[../]
[./cp0]
type = ElementalVariableValue
variable = cp
elementid = 0
[../]
[./cp1]
type = ElementalVariableValue
variable = cp
elementid = 1
[../]
[./cp2]
type = ElementalVariableValue
variable = cp
elementid = 2
[../]
[./cv0]
type = ElementalVariableValue
variable = cv
elementid = 0
[../]
[./cv1]
type = ElementalVariableValue
variable = cv
elementid = 1
[../]
[./cv2]
type = ElementalVariableValue
variable = cv
elementid = 2
[../]
[./c0]
type = ElementalVariableValue
variable = c
elementid = 0
[../]
[./c1]
type = ElementalVariableValue
variable = c
elementid = 1
[../]
[./c2]
type = ElementalVariableValue
variable = c
elementid = 2
[../]
[./mu0]
type = ElementalVariableValue
variable = mu
elementid = 0
[../]
[./mu1]
type = ElementalVariableValue
variable = mu
elementid = 1
[../]
[./mu2]
type = ElementalVariableValue
variable = mu
elementid = 2
[../]
[./k0]
type = ElementalVariableValue
variable = k
elementid = 0
[../]
[./k1]
type = ElementalVariableValue
variable = k
elementid = 1
[../]
[./k2]
type = ElementalVariableValue
variable = k
elementid = 2
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
csv = true
[]
modules/level_set/examples/rotating_circle/circle_rotate.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 32
ny = 32
uniform_refine = 2
[]
[AuxVariables]
[./vel_x]
[../]
[./vel_y]
[../]
[]
[AuxKernels]
[./vel_x]
type = FunctionAux
function = 4*y
variable = vel_x
execute_on = initial
[../]
[./vel_y]
type = FunctionAux
function = -4*x
variable = vel_y
execute_on = initial
[../]
[]
[Variables]
[./phi]
[../]
[]
[Functions]
[./phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.03
center = '0 0.5 0'
radius = 0.15
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[]
[Postprocessors]
[./area]
type = LevelSetVolume
threshold = 0.5
variable = phi
location = outside
execute_on = 'initial timestep_end'
[../]
[./cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial' #timestep_end'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 1.570796
scheme = crank-nicolson
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 0.8
[../]
[]
[Outputs]
csv = true
exodus = true
[]
modules/porous_flow/test/tests/heterogeneous_materials/constant_poroperm.i
# Assign porosity and permeability variables from constant AuxVariables to create
# a heterogeneous model
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 3
nz = 3
xmax = 3
ymax = 3
zmax = 3
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 -10'
[]
[Variables]
[./ppwater]
initial_condition = 1.5e6
[../]
[]
[AuxVariables]
[./poro]
family = MONOMIAL
order = CONSTANT
[../]
[./permxx]
family = MONOMIAL
order = CONSTANT
[../]
[./permxy]
family = MONOMIAL
order = CONSTANT
[../]
[./permxz]
family = MONOMIAL
order = CONSTANT
[../]
[./permyx]
family = MONOMIAL
order = CONSTANT
[../]
[./permyy]
family = MONOMIAL
order = CONSTANT
[../]
[./permyz]
family = MONOMIAL
order = CONSTANT
[../]
[./permzx]
family = MONOMIAL
order = CONSTANT
[../]
[./permzy]
family = MONOMIAL
order = CONSTANT
[../]
[./permzz]
family = MONOMIAL
order = CONSTANT
[../]
[./poromat]
family = MONOMIAL
order = CONSTANT
[../]
[./permxxmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permxymat]
family = MONOMIAL
order = CONSTANT
[../]
[./permxzmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permyxmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permyymat]
family = MONOMIAL
order = CONSTANT
[../]
[./permyzmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permzxmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permzymat]
family = MONOMIAL
order = CONSTANT
[../]
[./permzzmat]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./poromat]
type = PorousFlowPropertyAux
property = porosity
variable = poromat
[../]
[./permxxmat]
type = PorousFlowPropertyAux
property = permeability
variable = permxxmat
column = 0
row = 0
[../]
[./permxymat]
type = PorousFlowPropertyAux
property = permeability
variable = permxymat
column = 1
row = 0
[../]
[./permxzmat]
type = PorousFlowPropertyAux
property = permeability
variable = permxzmat
column = 2
row = 0
[../]
[./permyxmat]
type = PorousFlowPropertyAux
property = permeability
variable = permyxmat
column = 0
row = 1
[../]
[./permyymat]
type = PorousFlowPropertyAux
property = permeability
variable = permyymat
column = 1
row = 1
[../]
[./permyzmat]
type = PorousFlowPropertyAux
property = permeability
variable = permyzmat
column = 2
row = 1
[../]
[./permzxmat]
type = PorousFlowPropertyAux
property = permeability
variable = permzxmat
column = 0
row = 2
[../]
[./permzymat]
type = PorousFlowPropertyAux
property = permeability
variable = permzymat
column = 1
row = 2
[../]
[./permzzmat]
type = PorousFlowPropertyAux
property = permeability
variable = permzzmat
column = 2
row = 2
[../]
[]
[ICs]
[./poro]
type = RandomIC
seed = 0
variable = poro
max = 0.5
min = 0.1
[../]
[./permx]
type = FunctionIC
function = permx
variable = permxx
[../]
[./permy]
type = FunctionIC
function = permy
variable = permyy
[../]
[./permz]
type = FunctionIC
function = permz
variable = permzz
[../]
[]
[Functions]
[./permx]
type = ParsedFunction
value = '(1+x)*1e-11'
[../]
[./permy]
type = ParsedFunction
value = '(1+y)*1e-11'
[../]
[./permz]
type = ParsedFunction
value = '(1+z)*1e-11'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = ppwater
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
variable = ppwater
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'ppwater'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 1000
viscosity = 1e-3
thermal_expansion = 0
cv = 2
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseFullySaturated
porepressure = ppwater
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = poro
[../]
[./permeability]
type = PorousFlowPermeabilityConstFromVar
perm_xx = permxx
perm_yy = permyy
perm_zz = permzz
[../]
[./relperm_water]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[Postprocessors]
[./mass_ph0]
type = PorousFlowFluidMass
fluid_component = 0
execute_on = 'initial timestep_end'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 100
dt = 100
[]
[Outputs]
execute_on = 'initial timestep_end'
exodus = true
perf_graph = true
[]
modules/richards/test/tests/mass/m01.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 2
xmin = -1
xmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = x
[../]
[]
[Postprocessors]
[./total_mass]
type = RichardsMass
variable = pressure
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-10
end_time = 1E-10
[]
[Outputs]
execute_on = 'timestep_end'
file_base = m01
csv = true
[]
modules/porous_flow/test/tests/dispersion/disp01.i
# Test dispersive part of PorousFlowDispersiveFlux kernel by setting diffusion
# coefficients to zero. A pressure gradient is applied over the mesh to give a
# uniform velocity. Gravity is set to zero.
# Mass fraction is set to 1 on the left hand side and 0 on the right hand side.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmax = 10
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./pp]
[../]
[./massfrac0]
[../]
[]
[AuxVariables]
[./velocity]
family = MONOMIAL
order = FIRST
[../]
[]
[AuxKernels]
[./velocity]
type = PorousFlowDarcyVelocityComponent
variable = velocity
component = x
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = pic
[../]
[./massfrac0]
type = ConstantIC
variable = massfrac0
value = 0
[../]
[]
[Functions]
[./pic]
type = ParsedFunction
value = 1.1e5-x*1e3
[../]
[]
[BCs]
[./xleft]
type = DirichletBC
value = 1
variable = massfrac0
boundary = left
[../]
[./xright]
type = DirichletBC
value = 0
variable = massfrac0
boundary = right
[../]
[./pright]
type = DirichletBC
variable = pp
boundary = right
value = 1e5
[../]
[./pleft]
type = DirichletBC
variable = pp
boundary = left
value = 1.1e5
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./adv0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
[../]
[./diff0]
type = PorousFlowDispersiveFlux
variable = pp
disp_trans = 0
disp_long = 0.2
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = massfrac0
[../]
[./adv1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = massfrac0
[../]
[./diff1]
type = PorousFlowDispersiveFlux
fluid_component = 1
variable = massfrac0
disp_trans = 0
disp_long = 0.2
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp massfrac0'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e9
density0 = 1000
viscosity = 0.001
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseFullySaturated
porepressure = pp
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = massfrac0
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./poro]
type = PorousFlowPorosityConst
porosity = 0.3
[../]
[./diff]
type = PorousFlowDiffusivityConst
diffusion_coeff = '0 0'
tortuosity = 0.1
[../]
[./relp]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-9 0 0 0 1e-9 0 0 0 1e-9'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu NONZERO 2 '
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1e3
dtmax = 50
[./TimeStepper]
type = IterationAdaptiveDT
growth_factor = 1.5
cutback_factor = 0.5
dt = 1
[../]
[]
[VectorPostprocessors]
[./xmass]
type = NodalValueSampler
sort_by = id
variable = massfrac0
[../]
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
modules/phase_field/test/tests/grain_boundary_area/diagonal.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 100
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
op_num = 2
var_name_base = gr
[]
[Variables]
[./gr0]
[./InitialCondition]
type = FunctionIC
function = 'd:=(x-y)*80;if(d<pi&d>-pi,sin(d/2)/2+0.5,if(d<0,0,1))'
[../]
[../]
[./gr1]
[./InitialCondition]
type = FunctionIC
function = 'd:=(x-y)*80;1-if(d<pi&d>-pi,sin(d/2)/2+0.5,if(d<0,0,1))'
[../]
[../]
[]
[Postprocessors]
[./area]
type = GrainBoundaryArea
grains_per_side = 2
[../]
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/markers/two_circle_marker/two_circle_marker_gaussian_ic.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./gaussian_ic]
type = FunctionIC
variable = u
function = gaussian_2d
[../]
[]
[Functions]
[./gaussian_2d]
type = ParsedFunction
value = exp(-((x-x0)*(x-x0)+(y-y0)*(y-y0))/2.0/sigma/sigma)
vars = 'sigma x0 y0'
vals = '0.05 0.35 0.25'
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 6
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = two_circle_marker
cycles_per_step = 1
marker = two_circle_marker
max_h_level = 1
[./Markers]
[./two_circle_marker]
type = TwoCircleMarker
point1 = '0.5 0.5 0'
radius1 = 0.3
point2 = '0.35 0.25 0'
radius2 = 0.3
shut_off_time = 0.15
inside = refine
outside = coarsen
[../]
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/richards/test/tests/jacobian_2/jn_lumped_17.i
# two phase
# water saturated
# gravity = true
# supg = true
# transient = true
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 0.5E-3'
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0 # notice small quantity, so the PETSc constant state works
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5 # notice small quantity, so the PETSc constant state works
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1 # notice small quantity, so the PETSc constant state works
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1 # notice small quantity, so the PETSc constant state works
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.2
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.1
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.15
[../]
[./SatGas]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.15
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 0.01
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
block = 0
function = init_p
[../]
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
block = 0
function = init_p
[../]
[../]
[]
[Functions]
[./init_p]
type = ParsedFunction
value = x+0.6*y+0.3*z
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
gravity = '1 2 3'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-10
[]
[Outputs]
execute_on = 'timestep_end'
file_base = jn17
exodus = false
[]
modules/porous_flow/test/tests/dirackernels/injection_with_plasticity.i
# Example: Injection into a uniform aquifer 10 x 10 x 5 km
# Drucker-Prager deformation
# Darcy flow
gravity = -9.81
solid_density = 2350
fluid_density = 1000
porosity0 = 0.1
[Mesh]
type = GeneratedMesh
dim = 3
xmin = 0
xmax = 1e4
ymin = 0
ymax = 1e4
zmax = 0
zmin = -5e3
nx = 2
ny = 2
nz = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 ${gravity}'
displacements = 'disp_x disp_y disp_z'
strain_at_nearest_qp = true
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
thermal_expansion = 0 # Not doing a thermal simulation
bulk_modulus = 2E9
density0 = ${fluid_density}
viscosity = 5E-4
[../]
[../]
[]
[PorousFlowFullySaturated]
coupling_type = HydroMechanical
porepressure = pp
dictator_name = dictator
fp = simple_fluid
add_darcy_aux = false
add_stress_aux = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./pp]
scaling = 1E6
[./InitialCondition]
type = FunctionIC
function = ini_pp
[../]
[../]
[]
[Functions]
[./ini_stress]
type = ParsedFunction
value = '-${gravity} * z * (${solid_density} - ${fluid_density}) * (1.0 - ${porosity0})' # initial effective stress that should result from weight force
[../]
[./ini_pp]
type = ParsedFunction
value = '${gravity} * z * ${fluid_density} + 1E5'
[../]
[]
[BCs]
[./p_top]
type = FunctionDirichletBC
variable = pp
boundary = front
function = ini_pp
[../]
[./x_roller]
type = DirichletBC
variable = disp_x
boundary = 'left right'
value = 0
[../]
[./y_roller]
type = DirichletBC
variable = disp_y
boundary = 'top bottom'
value = 0
[../]
[./z_confined]
type = DirichletBC
variable = disp_z
boundary = 'back front'
value = 0
[../]
[]
[UserObjects]
[./pls_total_outflow_mass]
type = PorousFlowSumQuantity
[../]
# Cohesion
[./mc_coh]
type = TensorMechanicsHardeningConstant
value = 6.0E6
[../]
# Friction angle
[./mc_phi]
type = TensorMechanicsHardeningConstant
value = 35.0
convert_to_radians = true
[../]
# Dilation angle
[./mc_psi]
type = TensorMechanicsHardeningConstant
value = 2
convert_to_radians = true
[../]
# Drucker-Prager objects
[./dp]
type = TensorMechanicsPlasticDruckerPragerHyperbolic
mc_cohesion = mc_coh
mc_friction_angle = mc_phi
mc_dilation_angle = mc_psi
yield_function_tolerance = 1E-3
internal_constraint_tolerance = 1E-6
[../]
# Tensile strength
[./tens]
type = TensorMechanicsHardeningConstant
value = 3.0E6
[../]
# Compressive strength (cap on yield envelope)
[./compr_all]
type = TensorMechanicsHardeningConstant
value = 1E10
[../]
[]
[Materials]
[./strain]
type = ComputeIncrementalSmallStrain
eigenstrain_names = eigenstrain_all
[../]
[./eigenstrain_all]
type = ComputeEigenstrainFromInitialStress
initial_stress = 'ini_stress 0 0 0 ini_stress 0 0 0 ini_stress'
eigenstrain_name = eigenstrain_all
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
bulk_modulus = 3.3333E9
shear_modulus = 2.5E9
[../]
[./dp_mat]
type = CappedDruckerPragerStressUpdate
DP_model = dp
tensile_strength = tens
compressive_strength = compr_all
smoothing_tol = 1E5
yield_function_tol = 1E-3
tip_smoother = 0
[../]
[./stress]
type = ComputeMultipleInelasticStress
inelastic_models = dp_mat
[../]
# Permeability
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-13 0 0 0 1E-13 0 0 0 1E-13'
[../]
# Porosity
[./porosity]
type = PorousFlowPorosity
porosity_zero = ${porosity0}
biot_coefficient = 1.0
solid_bulk = 1.0 # Required but irrelevant when biot_coefficient is unity
mechanical = true
fluid = true
[../]
# Density of saturated rock
[./density]
type = PorousFlowTotalGravitationalDensityFullySaturatedFromPorosity
rho_s = ${solid_density}
[../]
[]
[DiracKernels]
[./pls]
type = PorousFlowPolyLineSink
variable = pp
SumQuantityUO = pls_total_outflow_mass
point_file = two_nodes.bh
function_of = pressure
fluid_phase = 0
p_or_t_vals = '0 1E7'
fluxes = '-1.59 -1.59'
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
[../]
[]
[Executioner]
solve_type = Newton
type = Transient
dt = 1E6
end_time = 1E6
nl_rel_tol = 1E-7
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/DiffuseCreep/variable_base_eigen_strain.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.01*v'
[../]
[../]
[./mu]
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./eigen_strain_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./eigen_strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_yy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = mu_prop
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[./TensorMechanics]
displacements = 'disp_x disp_y'
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./eigenstrain_xx]
type = RankTwoAux
variable = eigen_strain_xx
rank_two_tensor = eigenstrain
index_i = 0
index_j = 0
[../]
[./eigenstrain_yy]
type = RankTwoAux
variable = eigen_strain_yy
rank_two_tensor = eigenstrain
index_i = 1
index_j = 1
[../]
[./stress_xx]
type = RankTwoAux
variable = stress_xx
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
variable = stress_yy
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[./eigenstrain_prefactor]
type = DerivativeParsedMaterial
block = 0
function = 'c-0.1'
args = c
f_name = eigenstrain_prefactor
derivative_order = 1
[../]
[./eigenstrain]
type = ComputeVariableBaseEigenStrain
base_tensor_property_name = aniso_tensor
prefactor = eigenstrain_prefactor
eigenstrain_name = eigenstrain
[../]
[./strain]
type = ComputeIncrementalSmallStrain
displacements = 'disp_x disp_y'
eigenstrain_names = eigenstrain
[../]
[./stress]
type = ComputeStrainIncrementBasedStress
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[]
[BCs]
[./Periodic]
[./cbc]
auto_direction = 'x y'
variable = c
[../]
[../]
[./fix_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[./fix_y]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-10
nl_max_its = 5
l_tol = 1e-4
l_max_its = 20
dt = 1
num_steps = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/chemical_reactions/test/tests/parser/equilibrium_without_action.i
# Test AqueousEquilibriumReactions parser
[Mesh]
type = GeneratedMesh
dim = 2
[]
[Variables]
[./a]
[../]
[./b]
[../]
[]
[AuxVariables]
[./pressure]
[../]
[./pa2]
[../]
[./pab]
[../]
[]
[AuxKernels]
[./pa2]
type = AqueousEquilibriumRxnAux
variable = pa2
v = a
log_k = 2
sto_v = 2
[../]
[./pab]
type = AqueousEquilibriumRxnAux
variable = pab
v = 'a b'
log_k = -2
sto_v = '1 1'
[../]
[]
[ICs]
[./a]
type = BoundingBoxIC
variable = a
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[./b]
type = BoundingBoxIC
variable = b
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[Kernels]
[./a_ie]
type = PrimaryTimeDerivative
variable = a
[../]
[./a_diff]
type = PrimaryDiffusion
variable = a
[../]
[./a_conv]
type = PrimaryConvection
variable = a
p = pressure
[../]
[./b_ie]
type = PrimaryTimeDerivative
variable = b
[../]
[./b_diff]
type = PrimaryDiffusion
variable = b
[../]
[./b_conv]
type = PrimaryConvection
variable = b
p = pressure
[../]
[./a1_eq]
type = CoupledBEEquilibriumSub
variable = a
log_k = 2
weight = 2
sto_u = 2
[../]
[./a1_diff]
type = CoupledDiffusionReactionSub
variable = a
log_k = 2
weight = 2
sto_u = 2
[../]
[./a1_conv]
type = CoupledConvectionReactionSub
variable = a
log_k = 2
weight = 2
sto_u = 2
p = pressure
[../]
[./a2_eq]
type = CoupledBEEquilibriumSub
variable = a
v = b
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./a2_diff]
type = CoupledDiffusionReactionSub
variable = a
v = b
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./a2_conv]
type = CoupledConvectionReactionSub
variable = a
v = b
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
p = pressure
[../]
[./b2_eq]
type = CoupledBEEquilibriumSub
variable = b
v = a
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./b2_diff]
type = CoupledDiffusionReactionSub
variable = b
v = a
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./b2_conv]
type = CoupledConvectionReactionSub
variable = b
v = a
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
p = pressure
[../]
[]
[BCs]
[./a_left]
type = DirichletBC
variable = a
boundary = left
value = 1.0e-2
[../]
[./a_right]
type = ChemicalOutFlowBC
variable = a
boundary = right
[../]
[./b_left]
type = DirichletBC
variable = b
boundary = left
value = 1.0e-2
[../]
[./b_right]
type = ChemicalOutFlowBC
variable = b
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-4 1e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
nl_abs_tol = 1e-12
end_time = 10
dt = 10
[]
[Outputs]
file_base = equilibrium_out
exodus = true
perf_graph = true
print_linear_residuals = true
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
test/tests/materials/derivative_material_interface/parsed_material.i
#
# Test the parsed function free enery Allen-Cahn Bulk kernel
#
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[AuxVariables]
[./eta]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[]
[Materials]
[./consts]
type = ParsedMaterial
args = 'eta'
function ='(eta-0.5)^2'
outputs = exodus
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
modules/richards/test/tests/theis/th21.i
# two-phase, fully-saturated
# production
[Mesh]
type = FileMesh
file = th01_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.5 1 2 10'
x = '0 1 10 100'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_pressure
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[DiracKernels]
[./bh]
type = RichardsPolyLineSink
pressures = '-1E9 1E9'
fluxes = '200 200'
point_file = th01.points
SumQuantityUO = total_outflow_mass
variable = pwater
[../]
[]
[Postprocessors]
[./flow_report]
type = RichardsPlotQuantity
uo = total_outflow_mass
[../]
[./p50]
type = PointValue
variable = pwater
point = '50 0 0'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E5
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
mat_porosity = 0.1
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 1E-5'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-6 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 100
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = th21
csv = true
[]
modules/porous_flow/test/tests/jacobian/fflux02.i
# 1phase, 3components, constant viscosity, constant insitu permeability
# density with constant bulk, Corey relative perm, nonzero gravity, unsaturated with vanGenuchten
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
xmin = 0
xmax = 1
ny = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./massfrac0]
[../]
[./massfrac1]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = -0.7+x+y
[../]
[./massfrac0]
type = RandomIC
variable = massfrac0
min = 0
max = 0.3
[../]
[./massfrac1]
type = RandomIC
variable = massfrac1
min = 0
max = 0.4
[../]
[]
[Kernels]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
gravity = '-1 -0.1 0'
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = massfrac0
gravity = '-1 -0.1 0'
[../]
[./flux2]
type = PorousFlowAdvectiveFlux
fluid_component = 2
variable = massfrac1
gravity = '-1 -0.1 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp massfrac0 massfrac1'
number_fluid_phases = 1
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.5
density0 = 1
thermal_expansion = 0
viscosity = 1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac0 massfrac1'
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1 0 0 0 2 0 0 0 3'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[Preconditioning]
active = check
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000'
[../]
[./check]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
exodus = false
[]
modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_3D.i
# Using flux-limited TVD advection ala Kuzmin and Turek, employing PorousFlow Kernels and UserObjects, with superbee flux-limiter
# 3D version
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
xmin = 0
xmax = 1
ny = 4
ymin = 0
ymax = 0.5
nz = 3
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0.5 2'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 0.3
dt = 6E-2
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/misc/check_error/function_file_test16.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_rows_more_data.csv
xy_in_file_only = false
y_index_in_file = 3 # will generate an error because no forth row of data
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/indicators/laplacian_jump_indicator/biharmonic_transient.i
[GlobalParams]
# Parameters used by Functions.
vars = 'c'
vals = '50'
[]
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -.5
xmax = .5
ymin = -.5
ymax = .5
nx = 10
ny = 10
[]
[Variables]
[./u]
order = THIRD
family = HERMITE
[../]
[]
[Kernels]
[./biharmonic]
type = Biharmonic
variable = u
[../]
[./body_force]
type = BodyForce
variable = u
function = forcing_func
[../]
[]
[BCs]
[./all_value]
type = FunctionPenaltyDirichletBC
variable = u
boundary = 'left right top bottom'
function = u_func
penalty = 1e10
[../]
[./all_flux]
type = FunctionPenaltyFluxBC
variable = u
boundary = 'left right top bottom'
function = u_func
penalty = 1e10
[../]
[]
[Adaptivity]
[./Indicators]
[./error]
type = LaplacianJumpIndicator
variable = u
scale_by_flux_faces = true
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.1
# Note: the unusually tight tolerances here are due to the penalty
# BCs (currently the only way of accurately Dirichlet boundary
# conditions on Hermite elements in MOOSE).
nl_rel_tol = 1.e-15
l_tol = 1.e-15
# We have exact Jacobians
solve_type = 'NEWTON'
# Use 6x6 quadrature to ensure the forcing function is integrated
# accurately.
[./Quadrature]
type = GAUSS
order = ELEVENTH
[../]
[]
[Functions]
[./u_func]
type = ParsedGradFunction
value = 'exp(-c*(x^2+y^2))*exp(-t)'
grad_x = '-2*c*exp(-c*(x^2+y^2))*x*exp(-t)'
grad_y = '-2*c*exp(-c*(x^2+y^2))*y*exp(-t)'
[../]
[./forcing_func]
type = ParsedFunction
value = '16*c^2*(c^2*(x^2+y^2)^2 - 4*c*(x^2+y^2) + 2)*exp(-c*(x^2+y^2))*exp(-t)'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = u_func
variable = u
[../]
[]
[Postprocessors]
[./l2_error]
type = ElementL2Error
variable = u
function = u_func
[../]
[./h1_error]
type = ElementH1Error
variable = u
function = u_func
[../]
[]
[Outputs]
exodus = true
[]
modules/level_set/examples/rotating_circle/circle_rotate_master.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 32
ny = 32
uniform_refine = 2
[]
[AuxVariables]
[./vel_x]
[../]
[./vel_y]
[../]
[]
[AuxKernels]
[./vel_x]
type = FunctionAux
function = 4*y
variable = vel_x
execute_on = initial
[../]
[./vel_y]
type = FunctionAux
function = -4*x
variable = vel_y
execute_on = initial
[../]
[]
[Variables]
[./phi]
[../]
[]
[BCs]
[./all]
type = DirichletBC
variable = phi
boundary = 'top bottom left right'
value = 0
[../]
[]
[Functions]
[./phi_exact]
type = LevelSetOlssonBubble
epsilon = 0.03
center = '0 0.5 0'
radius = 0.15
[../]
[]
[ICs]
[./phi_ic]
type = FunctionIC
function = phi_exact
variable = phi
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = phi
[../]
[./advection]
type = LevelSetAdvection
velocity_x = vel_x
velocity_y = vel_y
variable = phi
[../]
[]
[Postprocessors]
[./area]
type = LevelSetVolume
threshold = 0.5
variable = phi
location = outside
execute_on = 'initial timestep_end'
[../]
[./cfl]
type = LevelSetCFLCondition
velocity_x = vel_x
velocity_y = vel_y
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 1.570796
scheme = crank-nicolson
petsc_options_iname = '-pc_type -pc_sub_type'
petsc_options_value = 'asm ilu'
[./TimeStepper]
type = PostprocessorDT
postprocessor = cfl
scale = 0.8
[../]
[]
[MultiApps]
[./reinit]
type = LevelSetReinitializationMultiApp
input_files = 'circle_rotate_sub.i'
execute_on = 'timestep_end'
[../]
[]
[Transfers]
[./to_sub]
type = MultiAppCopyTransfer
source_variable = phi
variable = phi
direction = to_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[../]
[./to_sub_init]
type = MultiAppCopyTransfer
source_variable = phi
variable = phi_0
direction = to_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[../]
[./from_sub]
type = MultiAppCopyTransfer
source_variable = phi
variable = phi
direction = from_multiapp
multi_app = reinit
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
exodus = true
[]
modules/combined/test/tests/CHSplitFlux/flux_gb.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.1*v'
[../]
[../]
[./mu]
[../]
[./jx]
[../]
[./jy]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./mobility_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./mobility_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./diffusivity_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./diffusivity_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./aniso_tensor_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./aniso_tensor_yy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = mu_prop
c = c
[../]
[./flux_x]
type = CHSplitFlux
variable = jx
component = 0
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./flux_y]
type = CHSplitFlux
variable = jy
component = 1
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./mobility_xx]
type = MaterialRealTensorValueAux
variable = mobility_xx
property = mobility_prop
row = 0
column = 0
[../]
[./mobility_yy]
type = MaterialRealTensorValueAux
variable = mobility_yy
property = mobility_prop
row = 1
column = 1
[../]
[./diffusivity_xx]
type = MaterialRealTensorValueAux
variable = diffusivity_xx
property = diffusivity
row = 0
column = 0
[../]
[./diffusivity_yy]
type = MaterialRealTensorValueAux
variable = diffusivity_yy
property = diffusivity
row = 1
column = 1
[../]
[./aniso_tensor_xx]
type = MaterialRealTensorValueAux
variable = aniso_tensor_xx
property = aniso_tensor
row = 0
column = 0
[../]
[./aniso_tensor_yy]
type = MaterialRealTensorValueAux
variable = aniso_tensor_yy
property = aniso_tensor
row = 1
column = 1
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_max_its = 5
dt = 20
num_steps = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/mass_conservation/mass08.i
# Checking that the mass postprocessor throws the correct error when a given phase index
# is too large
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./sat]
[../]
[]
[AuxVariables]
[./massfrac_ph0_sp0]
initial_condition = 1
[../]
[./massfrac_ph1_sp0]
initial_condition = 0
[../]
[]
[ICs]
[./pinit]
type = ConstantIC
value = 1
variable = pp
[../]
[./satinit]
type = FunctionIC
function = 1-x
variable = sat
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = sat
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp sat'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 0.1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = pp
phase1_saturation = sat
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./comp1_total_mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = 2
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
modules/fluid_properties/test/tests/co2/co2.i
# Test thermophysical property calculations in CO2FluidProperties
#
# Comparison with values from Span and Wagner, "A New Equation of State for
# Carbon Dioxide Covering the Fluid Region from the Triple-Point Temperature
# to 1100K at Pressures up to 800 MPa", J. Phys. Chem. Ref. Data, 25 (1996)
#
# Viscosity values from Fenghour et al., "The viscosity of carbon dioxide",
# J. Phys. Chem. Ref. Data, 27, 31-44 (1998)
#
#
# --------------------------------------------------------------
# Pressure (Mpa) | 1 | 1 | 1
# Temperature (K) | 280 | 360 | 500
# --------------------------------------------------------------
# Expected values
# --------------------------------------------------------------
# Density (kg/m^3) | 20.199 | 15.105 | 10.664
# Internal energy (kJ/kg/K) | -75.892 | -18.406 | 91.829
# Enthalpy (kJ/kg) | -26.385 | 47.797 | 185.60
# Entropy (kJ/kg/K) | -0.51326 | -0.28033 | 0.04225
# cv (kJ/kg/K) | 0.67092 | 0.72664 | 0.82823
# cp (kJ/kg/K) | 0.92518 | 0.94206 | 1.0273
# Speed of sound (m/s) | 252.33 | 289.00 | 339.81
# Viscosity (1e-6Pa.s) | 14.15 | 17.94 | 24.06
# --------------------------------------------------------------
# Calculated values
# --------------------------------------------------------------
# Density (kg/m^3) | 20.199 | 15.105 | 10.664
# Internal energy (kJ/kg/K) | -75.892 | -18.406 | 91.829
# Enthalpy (kJ/kg) | -26.385 | 47.797 | 185.60
# Entropy (kJ/kg/K) | -0.51326 | -0.28033 | 0.04225
# cv (kJ/kg/K) | 0.67092 | 0.72664 | 0.82823
# cp (kJ/kg/K) | 0.92518 | 0.94206 | 1.0273
# Speed of sound (m/s) | 252.33 | 289.00 | 339.81
# Viscosity (1e-6 Pa.s) | 14.15 | 17.94 | 24.06
# --------------------------------------------------------------
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
xmax = 3
# This test uses ElementalVariableValue postprocessors on specific
# elements, so element numbering needs to stay unchanged
allow_renumbering = false
[]
[Variables]
[./dummy]
[../]
[]
[AuxVariables]
[./pressure]
initial_condition = 1e6
family = MONOMIAL
order = CONSTANT
[../]
[./temperature]
family = MONOMIAL
order = CONSTANT
[../]
[./rho]
family = MONOMIAL
order = CONSTANT
[../]
[./mu]
family = MONOMIAL
order = CONSTANT
[../]
[./e]
family = MONOMIAL
order = CONSTANT
[../]
[./h]
family = MONOMIAL
order = CONSTANT
[../]
[./s]
family = MONOMIAL
order = CONSTANT
[../]
[./cv]
family = MONOMIAL
order = CONSTANT
[../]
[./cp]
family = MONOMIAL
order = CONSTANT
[../]
[./c]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Functions]
[./tic]
type = ParsedFunction
value = if(x<1,280,if(x<2,360,500))
[../]
[]
[ICs]
[./t_ic]
type = FunctionIC
function = tic
variable = temperature
[../]
[]
[AuxKernels]
[./rho]
type = MaterialRealAux
variable = rho
property = density
[../]
[./my]
type = MaterialRealAux
variable = mu
property = viscosity
[../]
[./internal_energy]
type = MaterialRealAux
variable = e
property = e
[../]
[./enthalpy]
type = MaterialRealAux
variable = h
property = h
[../]
[./entropy]
type = MaterialRealAux
variable = s
property = s
[../]
[./cv]
type = MaterialRealAux
variable = cv
property = cv
[../]
[./cp]
type = MaterialRealAux
variable = cp
property = cp
[../]
[./c]
type = MaterialRealAux
variable = c
property = c
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[]
[]
[Materials]
[./fp_mat]
type = FluidPropertiesMaterialPT
pressure = pressure
temperature = temperature
fp = co2
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = dummy
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Postprocessors]
[./rho0]
type = ElementalVariableValue
elementid = 0
variable = rho
[../]
[./rho1]
type = ElementalVariableValue
elementid = 1
variable = rho
[../]
[./rho2]
type = ElementalVariableValue
elementid = 2
variable = rho
[../]
[./mu0]
type = ElementalVariableValue
elementid = 0
variable = mu
[../]
[./mu1]
type = ElementalVariableValue
elementid = 1
variable = mu
[../]
[./mu2]
type = ElementalVariableValue
elementid = 2
variable = mu
[../]
[./e0]
type = ElementalVariableValue
elementid = 0
variable = e
[../]
[./e1]
type = ElementalVariableValue
elementid = 1
variable = e
[../]
[./e2]
type = ElementalVariableValue
elementid = 2
variable = e
[../]
[./h0]
type = ElementalVariableValue
elementid = 0
variable = h
[../]
[./h1]
type = ElementalVariableValue
elementid = 1
variable = h
[../]
[./h2]
type = ElementalVariableValue
elementid = 2
variable = h
[../]
[./s0]
type = ElementalVariableValue
elementid = 0
variable = s
[../]
[./s1]
type = ElementalVariableValue
elementid = 1
variable = s
[../]
[./s2]
type = ElementalVariableValue
elementid = 2
variable = s
[../]
[./cv0]
type = ElementalVariableValue
elementid = 0
variable = cv
[../]
[./cv1]
type = ElementalVariableValue
elementid = 1
variable = cv
[../]
[./cv2]
type = ElementalVariableValue
elementid = 2
variable = cv
[../]
[./cp0]
type = ElementalVariableValue
elementid = 0
variable = cp
[../]
[./cp1]
type = ElementalVariableValue
elementid = 1
variable = cp
[../]
[./cp2]
type = ElementalVariableValue
elementid = 2
variable = cp
[../]
[./c0]
type = ElementalVariableValue
elementid = 0
variable = c
[../]
[./c1]
type = ElementalVariableValue
elementid = 1
variable = c
[../]
[./c2]
type = ElementalVariableValue
elementid = 2
variable = c
[../]
[]
[Outputs]
csv = true
execute_on = 'TIMESTEP_END'
[]
modules/porous_flow/test/tests/heat_advection/heat_advection_1d.i
# 1phase, heat advecting with a moving fluid
[Mesh]
type = GeneratedMesh
dim = 1
nx = 50
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./temp]
initial_condition = 200
[../]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = '1-x'
[../]
[]
[BCs]
[./pp0]
type = DirichletBC
variable = pp
boundary = left
value = 1
[../]
[./pp1]
type = DirichletBC
variable = pp
boundary = right
value = 0
[../]
[./spit_heat]
type = DirichletBC
variable = temp
boundary = left
value = 300
[../]
[./suck_heat]
type = DirichletBC
variable = temp
boundary = right
value = 200
[../]
[]
[Kernels]
[./mass_dot]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./advection]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
[../]
[./energy_dot]
type = PorousFlowEnergyTimeDerivative
variable = temp
[../]
[./heat_advection]
type = PorousFlowHeatAdvection
variable = temp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.6
alpha = 1.3
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 100
density0 = 1000
viscosity = 4.4
thermal_expansion = 0
cv = 2
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1.0
density = 125
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 2 0 0 0 3'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./PS]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'gmres bjacobi 1E-15 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 0.01
end_time = 0.6
[]
[VectorPostprocessors]
[./T]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 51
sort_by = x
variable = temp
[../]
[]
[Outputs]
[./csv]
type = CSV
sync_times = '0.1 0.6'
sync_only = true
[../]
[]
modules/porous_flow/test/tests/energy_conservation/except02.i
# checking that the heat-energy postprocessor throws the correct error if the kernel_variable_number is illegal
[Mesh]
type = GeneratedMesh
dim = 1
nx = 3
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./temp]
[../]
[]
[ICs]
[./tinit]
type = FunctionIC
function = '100*x'
variable = temp
[../]
[./pinit]
type = FunctionIC
function = x
variable = pp
[../]
[]
[Kernels]
[./dummyt]
type = TimeDerivative
variable = temp
[../]
[./dummyp]
type = TimeDerivative
variable = pp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'temp pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
viscosity = 0.001
thermal_expansion = 0
cv = 1.3
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 2.2
density = 0.5
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[]
[Postprocessors]
[./total_heat]
type = PorousFlowHeatEnergy
kernel_variable_number = 2
[../]
[./rock_heat]
type = PorousFlowHeatEnergy
[../]
[./fluid_heat]
type = PorousFlowHeatEnergy
include_porous_skeleton = false
phase = 0
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1 1 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = except01
csv = true
[]
test/tests/misc/check_error/function_file_test14.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_rows_more_data.csv # will generate an error because of more data lines than 2
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/functions/image_function/subset.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
uniform_refine = 2
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
origin = '0.25 0.25 0'
dimensions = '0.5 0.5 0'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/combined/examples/periodic_strain/global_strain_pfm.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
[]
[./cnode]
input = gen
type = ExtraNodesetGenerator
coord = '0.0 0.0'
new_boundary = 100
[../]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./global_strain]
order = THIRD
family = SCALAR
[../]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'sin(2*x*pi)*sin(2*y*pi)*0.05+0.6'
[../]
[../]
[./w]
[../]
[]
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./s00]
order = CONSTANT
family = MONOMIAL
[../]
[./s01]
order = CONSTANT
family = MONOMIAL
[../]
[./s10]
order = CONSTANT
family = MONOMIAL
[../]
[./s11]
order = CONSTANT
family = MONOMIAL
[../]
[./e00]
order = CONSTANT
family = MONOMIAL
[../]
[./e01]
order = CONSTANT
family = MONOMIAL
[../]
[./e10]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./local_free_energy]
type = TotalFreeEnergy
execute_on = 'initial LINEAR'
variable = local_energy
interfacial_vars = 'c'
kappa_names = 'kappa_c'
[../]
[./s00]
type = RankTwoAux
variable = s00
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./s01]
type = RankTwoAux
variable = s01
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[./s10]
type = RankTwoAux
variable = s10
rank_two_tensor = stress
index_i = 1
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./e00]
type = RankTwoAux
variable = e00
rank_two_tensor = total_strain
index_i = 0
index_j = 0
[../]
[./e01]
type = RankTwoAux
variable = e01
rank_two_tensor = total_strain
index_i = 0
index_j = 1
[../]
[./e10]
type = RankTwoAux
variable = e10
rank_two_tensor = total_strain
index_i = 1
index_j = 0
[../]
[./e11]
type = RankTwoAux
variable = e11
rank_two_tensor = total_strain
index_i = 1
index_j = 1
[../]
[]
[GlobalParams]
derivative_order = 2
enable_jit = true
displacements = 'u_x u_y'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
# Cahn-Hilliard kernels
[./c_dot]
type = CoupledTimeDerivative
variable = w
v = c
block = 0
[../]
[./c_res]
type = SplitCHParsed
variable = c
f_name = F
kappa_name = kappa_c
w = w
block = 0
[../]
[./w_res]
type = SplitCHWRes
variable = w
mob_name = M
block = 0
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
variable = 'c w u_x u_y'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '0.2 0.01 '
[../]
[./shear1]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 0 0 0.5'
tensor_name = shear1
[../]
[./shear2]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 0 0 -0.5'
tensor_name = shear2
[../]
[./expand3]
type = GenericConstantRankTwoTensor
tensor_values = '1 1 0 0 0 0'
tensor_name = expand3
[../]
[./weight1]
type = DerivativeParsedMaterial
function = '0.3*c^2'
f_name = weight1
args = c
[../]
[./weight2]
type = DerivativeParsedMaterial
function = '0.3*(1-c)^2'
f_name = weight2
args = c
[../]
[./weight3]
type = DerivativeParsedMaterial
function = '4*(0.5-c)^2'
f_name = weight3
args = c
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
eigenstrain_names = eigenstrain
[../]
[./eigenstrain]
type = CompositeEigenstrain
tensors = 'shear1 shear2 expand3'
weights = 'weight1 weight2 weight3'
args = c
eigenstrain_name = eigenstrain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
# chemical free energies
[./chemical_free_energy]
type = DerivativeParsedMaterial
f_name = Fc
function = '4*c^2*(1-c)^2'
args = 'c'
outputs = exodus
output_properties = Fc
[../]
# elastic free energies
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = Fe
args = 'c'
outputs = exodus
output_properties = Fe
[../]
# free energy (chemical + elastic)
[./free_energy]
type = DerivativeSumMaterial
block = 0
f_name = F
sum_materials = 'Fc Fe'
args = 'c'
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Postprocessors]
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = local_energy
[../]
[./total_solute]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = c
[../]
[./min]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = min
variable = c
[../]
[./max]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = max
variable = c
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
end_time = 2.0
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.01
growth_factor = 1.5
cutback_factor = 0.8
optimal_iterations = 9
iteration_window = 2
[../]
[]
[Outputs]
execute_on = 'timestep_end'
print_linear_residuals = false
exodus = true
[./table]
type = CSV
delimiter = ' '
[../]
[]
modules/richards/test/tests/uo_egs/seff1.i
# Outputs a effective saturation relationship into an exodus file
# and into a CSV file.
# In the exodus file, the Seff will be a function of "x", and
# this "x" is actually porepressure
# In the CSV file you will find the Seff at the "x" point
# specified by you below.
#
# You may specify:
# - the "type" of Seff in the UserObjects block
# - the parameters of this Seff function in the UserObjects block
# - the "x" point (which is porepressure) that you want to extract
# the Seff at, if you want a value at a particular point
# - the range of "x" values (which is porepressure values) may be
# changed in the Mesh block, below
[UserObjects]
[./seff]
type = RichardsSeff1VG
al = 1E-6
m = 0.8
[../]
[]
[Postprocessors]
[./point_val]
type = PointValue
execute_on = timestep_begin
# note this point must lie inside the mesh below
point = '-1 0 0'
variable = seff
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
# the following specify the range of porepressure
xmin = -3E6
xmax = 1E5
[]
############################
# You should not need to change any of the stuff below
############################
[Variables]
[./u]
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = x
[../]
[]
[AuxVariables]
[./seff]
[../]
[]
[AuxKernels]
[./seff_AuxK]
type = RichardsSeffAux
variable = seff
seff_UO = seff
execute_on = timestep_begin
pressure_vars = u
[../]
[]
[Kernels]
[./dummy]
type = Diffusion
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 0
[]
[Outputs]
file_base = seff1
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
hide = u
[../]
[]
test/tests/vectorpostprocessors/volume_histogram/volume_histogram.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 200
xmin = -5
xmax = 5
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x<2&x>-2'
[../]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[BCs]
[./all]
type = DirichletBC
variable = c
boundary = 'left right'
value = 0
[../]
[]
[VectorPostprocessors]
[./histo]
type = VolumeHistogram
variable = c
min_value = 0
max_value = 1.1
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 1
solve_type = PJFNK
[]
[Outputs]
execute_on = 'initial timestep_end'
csv = true
[]
modules/porous_flow/test/tests/capillary_pressure/vangenuchten2.i
# Test van Genuchten relative permeability curve by varying saturation over the mesh
# van Genuchten exponent m = 0.5 for both phases
# No residual saturation in either phase
[Mesh]
type = GeneratedMesh
dim = 1
nx = 500
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./p0]
type = PorousFlowPropertyAux
property = pressure
phase = 0
variable = p0aux
[../]
[./p1]
type = PorousFlowPropertyAux
property = pressure
phase = 1
variable = p1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
alpha = 1e-5
m = 0.5
sat_lr = 0.1
log_extension = true
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityVG
phase = 0
m = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux p0aux p1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 500
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-6
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/mass_conservation/mass10.i
# Checking that the mass postprocessor throws the correct error when kernel_variable_numer is illegal
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./sat]
[../]
[]
[AuxVariables]
[./massfrac_ph0_sp0]
initial_condition = 1
[../]
[./massfrac_ph1_sp0]
initial_condition = 0
[../]
[]
[ICs]
[./pinit]
type = ConstantIC
value = 1
variable = pp
[../]
[./satinit]
type = FunctionIC
function = 1-x
variable = sat
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = sat
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp sat'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 0.1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = pp
phase1_saturation = sat
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./comp1_total_mass]
type = PorousFlowFluidMass
fluid_component = 1
kernel_variable_number = 2
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
modules/phase_field/examples/kim-kim-suzuki/kks_example_ternary.i
#
# KKS ternary (3 chemical component) system example in the split form
# We track c1 and c2 only, since c1 + c2 + c3 = 1
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 150
ny = 15
nz = 0
xmin = -25
xmax = 25
ymin = -2.5
ymax = 2.5
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[AuxVariables]
[./Fglobal]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# solute 1 concentration
[./c1]
order = FIRST
family = LAGRANGE
[../]
# solute 2 concentration
[./c2]
order = FIRST
family = LAGRANGE
[../]
# chemical potential solute 1
[./w1]
order = FIRST
family = LAGRANGE
[../]
# chemical potential solute 2
[./w2]
order = FIRST
family = LAGRANGE
[../]
# Liquid phase solute 1 concentration
[./c1l]
order = FIRST
family = LAGRANGE
initial_condition = 0.1
[../]
# Liquid phase solute 2 concentration
[./c2l]
order = FIRST
family = LAGRANGE
initial_condition = 0.05
[../]
# Solid phase solute 1 concentration
[./c1s]
order = FIRST
family = LAGRANGE
initial_condition = 0.8
[../]
# Solid phase solute 2 concentration
[./c2s]
order = FIRST
family = LAGRANGE
initial_condition = 0.1
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = '0.5*(1.0-tanh((x)/sqrt(2.0)))'
[../]
[./ic_func_c1]
type = ParsedFunction
value = '0.8*(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10)+0.1*(1-(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10))'
[../]
[./ic_func_c2]
type = ParsedFunction
value = '0.1*(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10)+0.05*(1-(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10))'
[../]
[]
[ICs]
[./eta]
variable = eta
type = FunctionIC
function = ic_func_eta
[../]
[./c1]
variable = c1
type = FunctionIC
function = ic_func_c1
[../]
[./c2]
variable = c2
type = FunctionIC
function = ic_func_c2
[../]
[]
[Materials]
# Free energy of the liquid
[./fl]
type = DerivativeParsedMaterial
f_name = fl
args = 'c1l c2l'
function = '(0.1-c1l)^2+(0.05-c2l)^2'
[../]
# Free energy of the solid
[./fs]
type = DerivativeParsedMaterial
f_name = fs
args = 'c1s c2s'
function = '(0.8-c1s)^2+(0.1-c2s)^2'
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L eps_sq'
prop_values = '0.7 0.7 1.0 '
[../]
[]
[Kernels]
# enforce c1 = (1-h(eta))*c1l + h(eta)*c1s
[./PhaseConc1]
type = KKSPhaseConcentration
ca = c1l
variable = c1s
c = c1
eta = eta
[../]
# enforce c2 = (1-h(eta))*c2l + h(eta)*c2s
[./PhaseConc2]
type = KKSPhaseConcentration
ca = c2l
variable = c2s
c = c2
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotSolute1]
type = KKSPhaseChemicalPotential
variable = c1l
cb = c1s
fa_name = fl
fb_name = fs
args_a = 'c2l'
args_b = 'c2s'
[../]
[./ChemPotSolute2]
type = KKSPhaseChemicalPotential
variable = c2l
cb = c2s
fa_name = fl
fb_name = fs
args_a = 'c1l'
args_b = 'c1s'
[../]
#
# Cahn-Hilliard Equations
#
[./CHBulk1]
type = KKSSplitCHCRes
variable = c1
ca = c1l
fa_name = fl
w = w1
args_a = 'c2l'
[../]
[./CHBulk2]
type = KKSSplitCHCRes
variable = c2
ca = c2l
fa_name = fl
w = w2
args_a = 'c1l'
[../]
[./dc1dt]
type = CoupledTimeDerivative
variable = w1
v = c1
[../]
[./dc2dt]
type = CoupledTimeDerivative
variable = w2
v = c2
[../]
[./w1kernel]
type = SplitCHWRes
mob_name = M
variable = w1
[../]
[./w2kernel]
type = SplitCHWRes
mob_name = M
variable = w2
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = fl
fb_name = fs
w = 1.0
args = 'c1l c1s c2l c2s'
[../]
[./ACBulkC1]
type = KKSACBulkC
variable = eta
ca = c1l
cb = c1s
fa_name = fl
args = 'c2l'
[../]
[./ACBulkC2]
type = KKSACBulkC
variable = eta
ca = c2l
cb = c2s
fa_name = fl
args = 'c1l'
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = eps_sq
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[AuxKernels]
[./GlobalFreeEnergy]
variable = Fglobal
type = KKSGlobalFreeEnergy
fa_name = fl
fb_name = fs
w = 1.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm ilu nonzero'
l_max_its = 100
nl_max_its = 100
num_steps = 50
dt = 0.1
[]
#
# Precondition using handcoded off-diagonal terms
#
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/buckley_leverett/bl01_adapt.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 15
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2.0E6
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-4
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[AuxKernels]
active = 'calculate_seff'
[./calculate_seff]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffVG
pressure_vars = pressure
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[BCs]
active = 'left'
[./left]
type = DirichletBC
variable = pressure
boundary = left
value = 980000
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Functions]
active = 'initial_pressure'
[./initial_pressure]
type = ParsedFunction
value = max((1000000-x/5*1000000)-20000,-20000)
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Adaptivity]
marker = errorfrac
max_h_level = 3
[./Indicators]
[./error]
type = RichardsFluxJumpIndicator
variable = pressure
[../]
[../]
[./Markers]
[./errorfrac]
type = ErrorFractionMarker
refine = 0.5
coarsen = 0.3
indicator = error
[../]
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 20'
[../]
[]
[Executioner]
type = Transient
end_time = 50
[./TimeStepper]
type = FunctionControlledDT
functions = ''
maximums = ''
minimums = ''
dt = 0.3
increment = 1.1
decrement = 1.1
maxDt = 0.3
minDt = 1E-5
adapt_log = false
percent_change = 0.1
[../]
[]
[Outputs]
file_base = bl01_adapt
interval = 10000
exodus = true
[]
test/tests/misc/check_error/function_file_test10.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
xy_data = '1 2'
scale_factor = 1.0
axis = 3
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/phase_field/examples/interfacekernels/interface_gradient.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
[]
[./box1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
[../]
[./box2]
input = box1
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
[../]
[./iface]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[./rotate]
type = TransformGenerator
transform = ROTATE
vector_value = '5 0 0'
input = iface
[../]
[]
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Variables]
[./u]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v]
block = 2
initial_condition = 0.8
[../]
[]
[Kernels]
[./u_diff]
type = Diffusion
variable = u
block = 1
[../]
[./u_dt]
type = TimeDerivative
variable = u
block = 1
[../]
[./v_diff]
type = Diffusion
variable = v
block = 2
[../]
[./v_dt]
type = TimeDerivative
variable = v
block = 2
[../]
[]
[InterfaceKernels]
[./flux_continuity]
type = InterfaceDiffusionFluxMatch
variable = u
boundary = 10
neighbor_var = v
[../]
[./diffusion_surface_term]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u
neighbor_var = v
[../]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
dt = 0.001
num_steps = 20
[]
[Outputs]
[./out]
type = Exodus
use_problem_dimension = false
[../]
print_linear_residuals = false
[]
modules/rdg/test/tests/advection_1d/block_restrictable.i
############################################################
[GlobalParams]
order = CONSTANT
family = MONOMIAL
u = u
slope_limiting = lslope
implicit = false
[]
############################################################
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
xmin = 0
xmax = 1
nx = 100
[]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0 0'
block_id = 1
top_right = '1.0 1.0 0'
input = gen
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
input = subdomain1
[../]
[./interface_again]
type = SideSetsBetweenSubdomainsGenerator
master_block = '1'
paired_block = '0'
new_boundary = 'master1_interface'
input = interface
[../]
[]
############################################################
[Functions]
[./ic_u]
type = PiecewiseConstant
axis = x
direction = right
xy_data = '0.1 0.5
0.4 1.0
0.5 0.5'
[../]
[]
############################################################
[UserObjects]
[./lslope]
type = AEFVSlopeLimitingOneD
execute_on = 'linear'
scheme = 'superbee' #none | minmod | mc | superbee
block = 0
[../]
[./internal_side_flux]
type = AEFVUpwindInternalSideFlux
execute_on = 'linear'
[../]
[./free_outflow_bc]
type = AEFVFreeOutflowBoundaryFlux
execute_on = 'linear'
[../]
[]
############################################################
[Variables]
[./u]
block = 0
[../]
[./v]
block = 1
family = LAGRANGE
order = FIRST
[../]
[]
############################################################
[ICs]
[./u_ic]
type = FunctionIC
variable = 'u'
function = ic_u
[../]
[]
############################################################
[Kernels]
[./time_u]
implicit = true
type = TimeDerivative
variable = u
block = 0
[../]
[./diff_v]
implicit = true
type = Diffusion
variable = v
block = 1
[../]
[./time_v]
implicit = true
type = TimeDerivative
variable = v
block = 1
[../]
[]
############################################################
[DGKernels]
[./concentration]
type = AEFVKernel
variable = u
component = 'concentration'
flux = internal_side_flux
block = 0
[../]
[]
############################################################
[BCs]
[./concentration]
type = AEFVBC
boundary = 'left master0_interface'
variable = u
component = 'concentration'
flux = free_outflow_bc
[../]
[./v_left]
type = DirichletBC
boundary = 'master1_interface'
variable = v
value = 1
[../]
[./v_right]
type = DirichletBC
boundary = 'right'
variable = v
value = 0
[../]
[]
############################################################
[Materials]
[./aefv]
type = AEFVMaterial
block = 0
[../]
[./dummy_1]
type = GenericConstantMaterial
block = 1
prop_names = ''
prop_values = ''
[../]
[]
############################################################
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitMidpoint
[../]
solve_type = 'LINEAR'
l_tol = 1e-4
nl_rel_tol = 1e-20
nl_abs_tol = 1e-8
nl_max_its = 60
start_time = 0.0
num_steps = 4 # 4 | 400 for complete run
dt = 5e-4
dtmin = 1e-6
[]
[Outputs]
[./out]
type = Exodus
interval = 2
[../]
perf_graph = true
[]
modules/porous_flow/test/tests/sinks/s07.i
# apply a sink flux on just one component of a 3-component system and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp frac0 frac1'
number_fluid_phases = 1
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[./frac0]
initial_condition = 0.1
[../]
[./frac1]
initial_condition = 0.6
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = frac1
[../]
[./mass2]
type = PorousFlowMassTimeDerivative
fluid_component = 2
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'frac0 frac1'
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[]
[Functions]
[./mass1_00]
type = ParsedFunction
value = 'frac*vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'frac vol por dens0 pp bulk al m'
vals = 'f1_00 0.25 0.1 1.1 p00 1.3 1.1 0.5'
[../]
[./expected_mass_change1_00]
type = ParsedFunction
value = 'frac*fcn*area*dt'
vars = 'frac fcn area dt'
vals = 'f1_00 6 0.5 1E-3'
[../]
[./mass1_00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm1_00_prev del_m1_00'
[../]
[./mass1_01]
type = ParsedFunction
value = 'frac*vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'frac vol por dens0 pp bulk al m'
vals = 'f1_01 0.25 0.1 1.1 p01 1.3 1.1 0.5'
[../]
[./expected_mass_change1_01]
type = ParsedFunction
value = 'frac*fcn*area*dt'
vars = 'frac fcn area dt'
vals = 'f1_01 6 0.5 1E-3'
[../]
[./mass1_01_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm1_01_prev del_m1_01'
[../]
[]
[Postprocessors]
[./f1_00]
type = PointValue
point = '0 0 0'
variable = frac1
execute_on = 'initial timestep_end'
[../]
[./flux_00]
type = PointValue
point = '0 0 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m1_00]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'initial timestep_end'
[../]
[./m1_00_prev]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m1_00]
type = FunctionValuePostprocessor
function = expected_mass_change1_00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m1_00_expect]
type = FunctionValuePostprocessor
function = mass1_00_expect
execute_on = 'timestep_end'
[../]
[./f1_01]
type = PointValue
point = '0 1 0'
variable = frac1
execute_on = 'initial timestep_end'
[../]
[./flux_01]
type = PointValue
point = '0 1 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m1_01]
type = FunctionValuePostprocessor
function = mass1_01
execute_on = 'initial timestep_end'
[../]
[./m1_01_prev]
type = FunctionValuePostprocessor
function = mass1_01
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m1_01]
type = FunctionValuePostprocessor
function = expected_mass_change1_01
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m1_01_expect]
type = FunctionValuePostprocessor
function = mass1_01_expect
execute_on = 'timestep_end'
[../]
[./f1_11]
type = PointValue
point = '1 1 0'
variable = frac1
execute_on = 'initial timestep_end'
[../]
[./flux_11]
type = PointValue
point = '1 1 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = frac1
use_mobility = false
use_relperm = false
mass_fraction_component = 1
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.01
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s07
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
[../]
[]
test/tests/time_integrators/explicit-euler/ee-2d-linear-adapt.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
implicit = true
[../]
[]
[Adaptivity]
steps = 1
marker = box
max_h_level = 2
[./Markers]
[./box]
bottom_left = '-0.4 -0.4 0'
inside = refine
top_right = '0.4 0.4 0'
outside = do_nothing
type = BoxMarker
[../]
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
start_time = 0.0
num_steps = 4
dt = 0.005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
test/tests/bcs/coupled_var_neumann/coupled_var_neumann.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxVariables]
[./coupled_bc_var]
[../]
[]
[ICs]
[./coupled_bc_var]
type = FunctionIC
variable = coupled_bc_var
function = set_coupled_bc_var
[../]
[]
[Functions]
[./set_coupled_bc_var]
type = ParsedFunction
value = 'y - 0.5'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 3
value = 0
[../]
[./right]
type = CoupledVarNeumannBC
variable = u
boundary = 1
v = coupled_bc_var
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/time_steppers/timesequence_stepper/timesequence_restart1.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
end_time = 4.0
[./TimeStepper]
type = TimeSequenceStepper
time_sequence = '0 0.85 1.3 2 4'
[../]
[]
[Outputs]
exodus = true
[./checkpoint]
type = Checkpoint
num_files = 4
[../]
[]
modules/combined/examples/phase_field-mechanics/kks_mechanics_VTS.i
# KKS phase-field model coupled with elasticity using the Voigt-Taylor scheme as
# described in L.K. Aagesen et al., Computational Materials Science, 140, 10-21 (2017)
# Original run #170329e
[Mesh]
type = GeneratedMesh
dim = 3
nx = 640
ny = 1
nz = 1
xmin = -10
xmax = 10
ymin = 0
ymax = 0.03125
zmin = 0
zmax = 0.03125
elem_type = HEX8
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# solute concentration
[./c]
order = FIRST
family = LAGRANGE
[../]
# chemical potential
[./w]
order = FIRST
family = LAGRANGE
[../]
# solute phase concentration (matrix)
[./cm]
order = FIRST
family = LAGRANGE
[../]
# solute phase concentration (precipitate)
[./cp]
order = FIRST
family = LAGRANGE
[../]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./eta_ic]
variable = eta
type = FunctionIC
function = ic_func_eta
block = 0
[../]
[./c_ic]
variable = c
type = FunctionIC
function = ic_func_c
block = 0
[../]
[./w_ic]
variable = w
type = ConstantIC
value = 0.00991
block = 0
[../]
[./cm_ic]
variable = cm
type = ConstantIC
value = 0.131
block = 0
[../]
[./cp_ic]
variable = cp
type = ConstantIC
value = 0.236
block = 0
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = '0.5*(1.0+tanh((x)/delta_eta/sqrt(2.0)))'
vars = 'delta_eta'
vals = '0.8034'
[../]
[./ic_func_c]
type = ParsedFunction
value = '0.2388*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^3*(6*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^2-15*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))+10)+0.1338*(1-(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^3*(6*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^2-15*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))+10))'
vars = 'delta'
vals = '0.8034'
[../]
[./psi_eq_int]
type = ParsedFunction
value = 'volume*psi_alpha'
vars = 'volume psi_alpha'
vals = 'volume psi_alpha'
[../]
[./gamma]
type = ParsedFunction
value = '(psi_int - psi_eq_int) / dy / dz'
vars = 'psi_int psi_eq_int dy dz'
vals = 'psi_int psi_eq_int 0.03125 0.03125'
[../]
[]
[AuxVariables]
[./sigma11]
order = CONSTANT
family = MONOMIAL
[../]
[./sigma22]
order = CONSTANT
family = MONOMIAL
[../]
[./sigma33]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[./e12]
order = CONSTANT
family = MONOMIAL
[../]
[./e22]
order = CONSTANT
family = MONOMIAL
[../]
[./e33]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el11]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el12]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el22]
order = CONSTANT
family = MONOMIAL
[../]
[./f_el]
order = CONSTANT
family = MONOMIAL
[../]
[./eigen_strain00]
order = CONSTANT
family = MONOMIAL
[../]
[./Fglobal]
order = CONSTANT
family = MONOMIAL
[../]
[./psi]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./matl_sigma11]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = sigma11
[../]
[./matl_sigma22]
type = RankTwoAux
rank_two_tensor = stress
index_i = 1
index_j = 1
variable = sigma22
[../]
[./matl_sigma33]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = sigma33
[../]
[./matl_e11]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 0
index_j = 0
variable = e11
[../]
[./matl_e12]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 0
index_j = 1
variable = e12
[../]
[./matl_e22]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 1
index_j = 1
variable = e22
[../]
[./matl_e33]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = e33
[../]
[./f_el]
type = MaterialRealAux
variable = f_el
property = f_el_mat
execute_on = timestep_end
[../]
[./GlobalFreeEnergy]
variable = Fglobal
type = KKSGlobalFreeEnergy
fa_name = fm
fb_name = fp
w = 0.0264
kappa_names = kappa
interfacial_vars = eta
[../]
[./psi_potential]
variable = psi
type = ParsedAux
args = 'Fglobal w c f_el sigma11 e11'
function = 'Fglobal - w*c + f_el - sigma11*e11'
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[./front_y]
type = DirichletBC
variable = disp_y
boundary = front
value = 0
[../]
[./back_y]
type = DirichletBC
variable = disp_y
boundary = back
value = 0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value = 0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value = 0
[../]
[]
[Materials]
# Chemical free energy of the matrix
[./fm]
type = DerivativeParsedMaterial
f_name = fm
args = 'cm'
function = '6.55*(cm-0.13)^2'
[../]
# Elastic energy of the matrix
[./elastic_free_energy_m]
type = ElasticEnergyMaterial
base_name = matrix
f_name = fe_m
args = ' '
outputs = exodus
[../]
# Total free energy of the matrix
[./Total_energy_matrix]
type = DerivativeSumMaterial
f_name = f_total_matrix
sum_materials = 'fm fe_m'
args = 'cm'
[../]
# Free energy of the precipitate phase
[./fp]
type = DerivativeParsedMaterial
f_name = fp
args = 'cp'
function = '6.55*(cp-0.235)^2'
[../]
# Elastic energy of the precipitate
[./elastic_free_energy_p]
type = ElasticEnergyMaterial
base_name = ppt
f_name = fe_p
args = ' '
outputs = exodus
[../]
# Total free energy of the precipitate
[./Total_energy_ppt]
type = DerivativeSumMaterial
f_name = f_total_ppt
sum_materials = 'fp fe_p'
args = 'cp'
[../]
# Total elastic energy
[./Total_elastic_energy]
type = DerivativeTwoPhaseMaterial
eta = eta
f_name = f_el_mat
fa_name = fe_m
fb_name = fe_p
outputs = exodus
W = 0
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L kappa misfit'
prop_values = '0.7 0.7 0.01704 0.00377'
[../]
#Mechanical properties
[./Stiffness_matrix]
type = ComputeElasticityTensor
C_ijkl = '103.3 74.25 74.25 103.3 74.25 103.3 46.75 46.75 46.75'
base_name = matrix
fill_method = symmetric9
[../]
[./Stiffness_ppt]
type = ComputeElasticityTensor
C_ijkl = '100.7 71.45 71.45 100.7 71.45 100.7 50.10 50.10 50.10'
base_name = ppt
fill_method = symmetric9
[../]
[./stress_matrix]
type = ComputeLinearElasticStress
base_name = matrix
[../]
[./stress_ppt]
type = ComputeLinearElasticStress
base_name = ppt
[../]
[./strain_matrix]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
base_name = matrix
[../]
[./strain_ppt]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
base_name = ppt
eigenstrain_names = 'eigenstrain_ppt'
[../]
[./eigen_strain]
type = ComputeEigenstrain
base_name = ppt
eigen_base = '1 1 1 0 0 0'
prefactor = misfit
eigenstrain_name = 'eigenstrain_ppt'
[../]
[./global_stress]
type = TwoPhaseStressMaterial
base_A = matrix
base_B = ppt
[../]
[./global_strain]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y disp_z'
[../]
# enforce c = (1-h(eta))*cm + h(eta)*cp
[./PhaseConc]
type = KKSPhaseConcentration
ca = cm
variable = cp
c = c
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotVacancies]
type = KKSPhaseChemicalPotential
variable = cm
cb = cp
fa_name = f_total_matrix
fb_name = f_total_ppt
[../]
#
# Cahn-Hilliard Equation
#
[./CHBulk]
type = KKSSplitCHCRes
variable = c
ca = cm
fa_name = f_total_matrix
w = w
[../]
[./dcdt]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./ckernel]
type = SplitCHWRes
mob_name = M
variable = w
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = f_total_matrix
fb_name = f_total_ppt
w = 0.0264
args = 'cp cm'
[../]
[./ACBulkC]
type = KKSACBulkC
variable = eta
ca = cm
cb = cp
fa_name = f_total_matrix
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = kappa
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm ilu nonzero'
l_max_its = 30
nl_max_its = 10
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-11
num_steps = 200
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.5
[../]
[]
[VectorPostprocessors]
#[./eta]
# type = LineValueSampler
# start_point = '-10 0 0'
# end_point = '10 0 0'
# variable = eta
# num_points = 321
# sort_by = id
#[../]
#[./eta_position]
# type = FindValueOnLineSample
# vectorpostprocessor = eta
# variable_name = eta
# search_value = 0.5
#[../]
# [./f_el]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = f_el
# [../]
# [./f_el_a]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = fe_m
# [../]
# [./f_el_b]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = fe_p
# [../]
# [./h_out]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = h
# [../]
# [./fm_out]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = fm
# [../]
[]
[Postprocessors]
[./f_el_int]
type = ElementIntegralMaterialProperty
mat_prop = f_el_mat
[../]
[./c_alpha]
type = SideAverageValue
boundary = left
variable = c
[../]
[./c_beta]
type = SideAverageValue
boundary = right
variable = c
[../]
[./e11_alpha]
type = SideAverageValue
boundary = left
variable = e11
[../]
[./e11_beta]
type = SideAverageValue
boundary = right
variable = e11
[../]
[./s11_alpha]
type = SideAverageValue
boundary = left
variable = sigma11
[../]
[./s22_alpha]
type = SideAverageValue
boundary = left
variable = sigma22
[../]
[./s33_alpha]
type = SideAverageValue
boundary = left
variable = sigma33
[../]
[./s11_beta]
type = SideAverageValue
boundary = right
variable = sigma11
[../]
[./s22_beta]
type = SideAverageValue
boundary = right
variable = sigma22
[../]
[./s33_beta]
type = SideAverageValue
boundary = right
variable = sigma33
[../]
[./f_el_alpha]
type = SideAverageValue
boundary = left
variable = f_el
[../]
[./f_el_beta]
type = SideAverageValue
boundary = right
variable = f_el
[../]
[./f_c_alpha]
type = SideAverageValue
boundary = left
variable = Fglobal
[../]
[./f_c_beta]
type = SideAverageValue
boundary = right
variable = Fglobal
[../]
[./chem_pot_alpha]
type = SideAverageValue
boundary = left
variable = w
[../]
[./chem_pot_beta]
type = SideAverageValue
boundary = right
variable = w
[../]
[./psi_alpha]
type = SideAverageValue
boundary = left
variable = psi
[../]
[./psi_beta]
type = SideAverageValue
boundary = right
variable = psi
[../]
[./total_energy]
type = ElementIntegralVariablePostprocessor
variable = Fglobal
[../]
# Get simulation cell size from postprocessor
[./volume]
type = ElementIntegralMaterialProperty
mat_prop = 1
[../]
[./psi_eq_int]
type = FunctionValuePostprocessor
function = psi_eq_int
[../]
[./psi_int]
type = ElementIntegralVariablePostprocessor
variable = psi
[../]
[./gamma]
type = FunctionValuePostprocessor
function = gamma
[../]
[]
#
# Precondition using handcoded off-diagonal terms
#
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Outputs]
[./exodus]
type = Exodus
interval = 20
[../]
[./csv]
type = CSV
execute_on = 'final'
[../]
#[./console]
# type = Console
# output_file = true
# [../]
[]
modules/richards/test/tests/sinks/s_fu_03.i
# with fully_upwind = true
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
fully_upwind = true
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[AuxVariables]
[./seff]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 2
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-lfout-rfout-mf)/2/(mi+mf))
vars = 'mi mf lfout rfout'
vals = 'mass_init mass_fin left_flux_out right_flux_out'
[../]
[]
[Postprocessors]
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./mass_fin]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./left_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = left
variable = pressure
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
use_mobility = true
use_relperm = true
[../]
[./right_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = right
variable = pressure
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
use_mobility = true
use_relperm = true
[../]
[./p0]
type = PointValue
point = '0 0 0'
variable = pressure
[../]
[./s0]
type = PointValue
point = '0 0 0'
variable = seff
[../]
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
[BCs]
[./left_flux]
type = RichardsPiecewiseLinearSink
boundary = left
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
variable = pressure
use_mobility = true
use_relperm = true
[../]
[./right_flux]
type = RichardsPiecewiseLinearSink
boundary = right
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
variable = pressure
use_mobility = true
use_relperm = true
[../]
[]
[Kernels]
active = 'richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[]
[AuxKernels]
[./seff_auxk]
type = RichardsSeffAux
variable = seff
seff_UO = SeffVG
pressure_vars = 'pressure'
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 2.1E-5 2.2E-5 2.1E-5 0.1E-5 3.3E-5 2.2E-5 3.3E-5 2E-5'
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 0.2
[]
[Outputs]
file_base = s_fu_03
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/relperm/vangenuchten1.i
# Test van Genuchten relative permeability curve by varying saturation over the mesh
# van Genuchten exponent m = 0.5 for both phases
# No residual saturation in either phase
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityVG
phase = 0
m = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityVG
phase = 1
m = 0.5
wetting = false
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-7
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
modules/phase_field/test/tests/MultiPhase/asymmetriccrosstermbarrierfunction.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 200
xmin = 0
xmax = 9
[]
[Functions]
[./func1]
type = ParsedFunction
value = 'il:=x-7; ir:=2-x; if(x<1, 1,
if(x<2, 0.5-0.5*cos(ir*pi),
if(x<7, 0,
if(x<8, 0.5-0.5*cos(il*pi),
1))))'
[../]
[./func2]
type = ParsedFunction
value = 'il:=x-1; ir:=5-x; if(x<1, 0,
if(x<2, 0.5-0.5*cos(il*pi),
if(x<4, 1,
if(x<5, 0.5-0.5*cos(ir*pi),
0))))'
[../]
[./func3]
type = ParsedFunction
value = 'il:=x-4; ir:=8-x; if(x<4, 0,
if(x<5, 0.5-0.5*cos(il*pi),
if(x<7, 1,
if(x<8, 0.5-0.5*cos(ir*pi),
0))))'
[../]
[]
[AuxVariables]
[./eta1]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = func1
[../]
[../]
[./eta2]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = func2
[../]
[../]
[./eta3]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = func3
[../]
[../]
[]
[Materials]
[./symmetriccrosstermbarrier_low]
type = AsymmetricCrossTermBarrierFunctionMaterial
etas = 'eta1 eta2 eta3'
hi_names = 'h1 h2 h3'
W_ij = '0 1 2.2
1 0 3.1
2.2 3.1 0'
function_name = gsl
g_order = LOW
outputs = exodus
[../]
[./asymmetriccrosstermbarrier_low]
type = AsymmetricCrossTermBarrierFunctionMaterial
etas = 'eta1 eta2 eta3'
hi_names = 'h1 h2 h3'
W_ij = ' 0 1.2 5.2
0.8 0 2.1
-0.8 4.1 0'
function_name = gal
g_order = LOW
outputs = exodus
[../]
[./asymmetriccrosstermbarrie_simple]
type = AsymmetricCrossTermBarrierFunctionMaterial
etas = 'eta1 eta2 eta3'
hi_names = 'h1 h2 h3'
W_ij = '0 1.2 3.2
0.8 0 2.1
1.2 4.1 0'
function_name = gas
g_order = SIMPLE
outputs = exodus
[../]
[./switch1]
type = SwitchingFunctionMaterial
function_name = h1
eta = eta1
[../]
[./switch2]
type = SwitchingFunctionMaterial
function_name = h2
eta = eta2
[../]
[./switch3]
type = SwitchingFunctionMaterial
function_name = h3
eta = eta3
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
num_steps = 1
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Outputs]
exodus = true
execute_on = final
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic-neumann.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 10
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t+t*x*x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[./left_bc_fn]
type = ParsedFunction
value = -t*2*x
[../]
[./right_bc_fn]
type = ParsedFunction
value = t*2*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./abs]
type = Reaction
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./left]
type = FunctionNeumannBC
variable = u
boundary = '0'
function = left_bc_fn
[../]
[./right]
type = FunctionNeumannBC
variable = u
boundary = '1'
function = right_bc_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
l_tol = 1e-12
start_time = 0.0
num_steps = 10
dt = 0.001
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/porous_flow/test/tests/jacobian/fflux01_fully_saturated.i
# 1phase, 3components, constant viscosity, constant insitu permeability
# density with constant bulk, nonzero gravity
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
xmin = 0
xmax = 1
ny = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./massfrac0]
[../]
[./massfrac1]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = -0.7+x+y
[../]
[./massfrac0]
type = RandomIC
variable = massfrac0
min = 0
max = 0.3
[../]
[./massfrac1]
type = RandomIC
variable = massfrac1
min = 0
max = 0.4
[../]
[]
[Kernels]
[./flux0]
type = PorousFlowFullySaturatedDarcyFlow
fluid_component = 0
variable = pp
gravity = '-1 -0.1 0'
[../]
[./flux1]
type = PorousFlowFullySaturatedDarcyFlow
fluid_component = 1
variable = massfrac0
gravity = '-1 -0.1 0'
[../]
[./flux2]
type = PorousFlowFullySaturatedDarcyFlow
fluid_component = 2
variable = massfrac1
gravity = '-1 -0.1 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp massfrac0 massfrac1'
number_fluid_phases = 1
number_fluid_components = 3
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.5
density0 = 1
thermal_expansion = 0
viscosity = 1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseFullySaturated
porepressure = pp
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac0 massfrac1'
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1 0 0 0 2 0 0 0 3'
[../]
[]
[Preconditioning]
active = check
[./check]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 1
[]
[Outputs]
exodus = false
[]
modules/phase_field/test/tests/free_energy_material/RegularSolutionFreeEnergy.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmax = 1
ymax = 500
elem_type = QUAD4
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./myT]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = y
[../]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = c
[../]
[./diff2]
type = Diffusion
variable = myT
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = c
boundary = left
function = x
[../]
[./bottom]
type = FunctionDirichletBC
variable = myT
boundary = bottom
function = y
[../]
[./right]
type = FunctionDirichletBC
variable = c
boundary = right
function = x
[../]
[./top]
type = FunctionDirichletBC
variable = myT
boundary = top
function = y
[../]
[]
[Materials]
[./free_energy]
type = RegularSolutionFreeEnergy
f_name = F
c = c
T = myT
outputs = out
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
l_max_its = 1
nl_max_its = 1
nl_abs_tol = 1
[]
[Outputs]
execute_on = 'timestep_end'
[./out]
type = Exodus
execute_on = timestep_end
[../]
[]
test/tests/time_steppers/timesequence_stepper/csvtimesequence.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
end_time = 10
[./TimeStepper]
type = CSVTimeSequenceStepper
file_name = timesequence.csv
column_name = time1
[../]
[]
[Outputs]
exodus = true
[]
modules/chemical_reactions/test/tests/aqueous_equilibrium/2species_without_action.i
# Simple equilibrium reaction example to illustrate the use of the AqueousEquilibriumReactions
# action.
# In this example, two primary species a and b are transported by diffusion and convection
# from the left of the porous medium, reacting to form two equilibrium species pa2 and pab
# according to the equilibrium reaction specified in the AqueousEquilibriumReactions block as:
#
# reactions = '2a = pa2 2
# a + b = pab -2'
#
# where the 2 is the weight of the equilibrium species, the 2 on the RHS of the first reaction
# refers to the equilibrium constant (log10(Keq) = 2), and the -2 on the RHS of the second
# reaction equates to log10(Keq) = -2.
#
# This example is identical to 2species.i, except that it explicitly includes all AuxKernels
# and Kernels that are set up by the action in 2species.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
[]
[Variables]
[./a]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[./b]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[]
[AuxVariables]
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[./pa2]
[../]
[./pab]
[../]
[]
[AuxKernels]
[./pa2eq]
type = AqueousEquilibriumRxnAux
variable = pa2
v = a
sto_v = 2
log_k = 2
[../]
[./pabeq]
type = AqueousEquilibriumRxnAux
variable = pab
v = 'a b'
sto_v = '1 1'
log_k = -2
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[Kernels]
[./a_ie]
type = PrimaryTimeDerivative
variable = a
[../]
[./a_diff]
type = PrimaryDiffusion
variable = a
[../]
[./a_conv]
type = PrimaryConvection
variable = a
p = pressure
[../]
[./b_ie]
type = PrimaryTimeDerivative
variable = b
[../]
[./b_diff]
type = PrimaryDiffusion
variable = b
[../]
[./b_conv]
type = PrimaryConvection
variable = b
p = pressure
[../]
[./a1eq]
type = CoupledBEEquilibriumSub
variable = a
log_k = 2
weight = 2
sto_u = 2
[../]
[./a1diff]
type = CoupledDiffusionReactionSub
variable = a
log_k = 2
weight = 2
sto_u = 2
[../]
[./a1conv]
type = CoupledConvectionReactionSub
variable = a
log_k = 2
weight = 2
sto_u = 2
p = pressure
[../]
[./a2eq]
type = CoupledBEEquilibriumSub
variable = a
v = b
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./a2diff]
type = CoupledDiffusionReactionSub
variable = a
v = b
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./a2conv]
type = CoupledConvectionReactionSub
variable = a
v = b
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
p = pressure
[../]
[./b2eq]
type = CoupledBEEquilibriumSub
variable = b
v = a
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./b2diff]
type = CoupledDiffusionReactionSub
variable = b
v = a
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
[../]
[./b2conv]
type = CoupledConvectionReactionSub
variable = b
v = a
log_k = -2
weight = 1
sto_v = 1
sto_u = 1
p = pressure
[../]
[]
[BCs]
[./a_left]
type = DirichletBC
variable = a
boundary = left
value = 1.0e-2
[../]
[./a_right]
type = ChemicalOutFlowBC
variable = a
boundary = right
[../]
[./b_left]
type = DirichletBC
variable = b
boundary = left
value = 1.0e-2
[../]
[./b_right]
type = ChemicalOutFlowBC
variable = b
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-4 1e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
nl_abs_tol = 1e-12
start_time = 0.0
end_time = 100
dt = 10.0
[]
[Outputs]
file_base = 2species_out
exodus = true
perf_graph = true
print_linear_residuals = true
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
modules/combined/test/tests/GBDependentTensors/gb_property.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.1*v'
[../]
[../]
[./mu]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./mobility_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./mobility_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./diffusivity_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./diffusivity_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./aniso_tensor_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./aniso_tensor_yy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = mu_prop
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./mobility_xx]
type = MaterialRealTensorValueAux
variable = mobility_xx
property = mobility_prop
row = 0
column = 0
[../]
[./mobility_yy]
type = MaterialRealTensorValueAux
variable = mobility_yy
property = mobility_prop
row = 1
column = 1
[../]
[./diffusivity_xx]
type = MaterialRealTensorValueAux
variable = diffusivity_xx
property = diffusivity
row = 0
column = 0
[../]
[./diffusivity_yy]
type = MaterialRealTensorValueAux
variable = diffusivity_yy
property = diffusivity
row = 1
column = 1
[../]
[./aniso_tensor_xx]
type = MaterialRealTensorValueAux
variable = aniso_tensor_xx
property = aniso_tensor
row = 0
column = 0
[../]
[./aniso_tensor_yy]
type = MaterialRealTensorValueAux
variable = aniso_tensor_yy
property = aniso_tensor
row = 1
column = 1
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 20
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_tol = 1e-3
l_max_its = 20
nl_max_its = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/excav/ex02.i
###########################################
# #
# THIS EXAMPLE CONTAINS AN EXCAVATION #
# #
###########################################
# Easiest way of figuring out what's happening:
# Run this example, load into paraview, take
# a slice through (0,0,0) with normal (0,0,1),
# colour by pressure and play the animation.
# This mesh has an interior sideset called excav_bdy
[Mesh]
type = FileMesh
file = ex01_input.e
[]
# This is a boundary condition acting on excav_bdy
# All it does is to set the pressure to p_excav=0
# at places on excav_bdy wherever excav_fcn tells it to.
[BCs]
[./excav_bdy]
type = RichardsExcav
boundary = excav_bdy
p_excav = 0.0
variable = pressure
excav_geom_function = excav_fcn
[../]
[]
[Functions]
# excav_fcn controls where to set pressure=p_excav
# You supply start and end positions and times and
# by a linear interpolation these define the position
# of the coal face at all times
[./excav_fcn]
type = RichardsExcavGeom
start_posn = '0 -500 0'
start_time = 0
end_posn = '0 500 0'
end_time = 3E7
active_length = 1E4
[../]
# mass_bal_fcn calculates the mass balance
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-fout-mf)/2/(mi+mf))
vars = 'mi mf fout'
vals = 'mass_init mass_final flux_out'
[../]
# initial pressure - unimportant in this example
[./initial_pressure]
type = ParsedFunction
value = -10000*(z-100)
[../]
[]
# following is needed by postprocessors, kernels, etc
# unimportant in this example
[GlobalParams]
richardsVarNames_UO = PPNames
[]
# following does the calculation of relevant
# masses and mass-flux to the excavation
[Postprocessors]
# note that this is calculated at beginning of timestep
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
# note this is calculated at end of timestep
[./mass_final]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
# this is what calculates the mass flux to the excavation
# it is calculating it for boundary=excav_bdy, and the
# excavation time-dependence is set through the excav_fcn
[./flux_out]
type = RichardsExcavFlow
boundary = excav_bdy
variable = pressure
excav_geom_function = excav_fcn
[../]
# mass_bal just outputs the result to screen
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
######################################
# #
# THE FOLLOWING STUFF IS STANDARD #
# #
######################################
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E+2
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = '1 2 3 4'
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-15'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 -10'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 3E7
dt = 1E6
solve_type = NEWTON
[]
[Outputs]
execute_on = 'timestep_end'
file_base = ex02
exodus = true
[]
test/tests/functions/solution_function/solution_function_scale_mult.i
# checking scale_multiplier
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
nx = 3
ymin = -1
ymax = 1
ny = 3
[]
[UserObjects]
[./solution_uo]
type = SolutionUserObject
mesh = square_with_u_equals_x.e
timestep = 1
system_variables = u
scale_multiplier = '2 2 0'
transformation_order = scale_multiplier
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = solution_fcn
[../]
[]
[Functions]
[./solution_fcn]
type = SolutionFunction
from_variable = u
solution = solution_uo
[../]
[]
[Kernels]
[./diff]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
l_max_its = 800
nl_rel_tol = 1e-10
num_steps = 1
end_time = 1
dt = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = solution_function_scale_mult
exodus = true
[]
test/tests/misc/check_error/function_file_test11.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_columns_more_data.csv #Will generate error because data has more than two columns
format = columns
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/porous_flow/test/tests/capillary_pressure/brooks_corey2.i
# Test Brooks-Corey capillary pressure curve by varying saturation over the mesh
# lambda = 2, sat_lr = 0.1, log_extension = true
[Mesh]
type = GeneratedMesh
dim = 1
nx = 500
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./p0]
type = PorousFlowPropertyAux
property = pressure
phase = 0
variable = p0aux
[../]
[./p1]
type = PorousFlowPropertyAux
property = pressure
phase = 1
variable = p1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureBC
lambda = 2
log_extension = true
pe = 1e5
sat_lr = 0.1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityVG
phase = 0
m = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux p0aux p1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 500
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-6
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/ics/hermite_ic/hermite_ic.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
order = THIRD
family = HERMITE
[../]
[]
[Functions]
[./afunc]
type = ParsedFunction
value = x^2
[../]
[]
[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
[]
[ICs]
[./func_ic]
function = afunc
variable = u
type = FunctionIC
[../]
[]
test/tests/misc/check_error/function_file_test7.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
x = '1'
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/functions/constant_function/constant_function_test.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 4
ny = 4
elem_type = QUAD4
[]
[Functions]
[./bc_fn]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[./icfn]
type = ConstantFunction
value = 1
[../]
[./ffn]
type = ConstantFunction
value = -4
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = icfn
[../]
[../]
[]
[Kernels]
# Coupling of nonlinear to Aux
[./diff]
type = Diffusion
variable = u
[../]
[./force]
type = BodyForce
variable = u
function = ffn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = bc_fn
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/surface_tension_KKS/surface_tension_KKS.i
#
# KKS coupled with elasticity. Physical parameters for matrix and precipitate phases
# are gamma and gamma-prime phases, respectively, in the Ni-Al system.
# Parameterization is as described in L.K. Aagesen et al., Computational Materials
# Science, 140, 10-21 (2017), with isotropic elastic properties in both phases
# and without eigenstrain.
#
[Mesh]
type = GeneratedMesh
dim = 1
nx = 200
xmax = 200
[]
[Problem]
coord_type = RSPHERICAL
[]
[GlobalParams]
displacements = 'disp_x'
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# solute concentration
[./c]
order = FIRST
family = LAGRANGE
[../]
# chemical potential
[./w]
order = FIRST
family = LAGRANGE
[../]
# solute phase concentration (matrix)
[./cm]
order = FIRST
family = LAGRANGE
initial_condition = 0.13
[../]
# solute phase concentration (precipitate)
[./cp]
order = FIRST
family = LAGRANGE
initial_condition = 0.235
[../]
[]
[AuxVariables]
[./energy_density]
family = MONOMIAL
[../]
[./extra_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./extra_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./extra_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[]
[ICs]
[./eta_ic]
variable = eta
type = FunctionIC
function = ic_func_eta
[../]
[./c_ic]
variable = c
type = FunctionIC
function = ic_func_c
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2);0.5*(1.0-tanh((r-r0)/delta_eta/sqrt(2.0)))'
vars = 'delta_eta r0'
vals = '6.431 100'
[../]
[./ic_func_c]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2);eta_an:=0.5*(1.0-tanh((r-r0)/delta/sqrt(2.0)));0.235*eta_an^3*(6*eta_an^2-15*eta_an+10)+0.13*(1-eta_an^3*(6*eta_an^2-15*eta_an+10))'
vars = 'delta r0'
vals = '6.431 100'
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
generate_output = 'hydrostatic_stress stress_xx stress_yy stress_zz'
[../]
[]
[Kernels]
# enforce c = (1-h(eta))*cm + h(eta)*cp
[./PhaseConc]
type = KKSPhaseConcentration
ca = cm
variable = cp
c = c
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotVacancies]
type = KKSPhaseChemicalPotential
variable = cm
cb = cp
fa_name = f_total_matrix
fb_name = f_total_ppt
[../]
#
# Cahn-Hilliard Equation
#
[./CHBulk]
type = KKSSplitCHCRes
variable = c
ca = cm
fa_name = f_total_matrix
w = w
[../]
[./dcdt]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./ckernel]
type = SplitCHWRes
mob_name = M
variable = w
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = f_total_matrix
fb_name = f_total_ppt
w = 0.0033
args = 'cp cm'
[../]
[./ACBulkC]
type = KKSACBulkC
variable = eta
ca = cm
cb = cp
fa_name = f_total_matrix
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = kappa
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[AuxKernels]
[./extra_xx]
type = RankTwoAux
rank_two_tensor = extra_stress
index_i = 0
index_j = 0
variable = extra_xx
[../]
[./extra_yy]
type = RankTwoAux
rank_two_tensor = extra_stress
index_i = 1
index_j = 1
variable = extra_yy
[../]
[./extra_zz]
type = RankTwoAux
rank_two_tensor = extra_stress
index_i = 2
index_j = 2
variable = extra_zz
[../]
[./strain_xx]
type = RankTwoAux
rank_two_tensor = mechanical_strain
index_i = 0
index_j = 0
variable = strain_xx
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = mechanical_strain
index_i = 1
index_j = 1
variable = strain_yy
[../]
[./strain_zz]
type = RankTwoAux
rank_two_tensor = mechanical_strain
index_i = 2
index_j = 2
variable = strain_zz
[../]
[]
[Materials]
# Chemical free energy of the matrix
[./fm]
type = DerivativeParsedMaterial
f_name = fm
args = 'cm'
function = '6.55*(cm-0.13)^2'
[../]
# Elastic energy of the matrix
[./elastic_free_energy_m]
type = ElasticEnergyMaterial
base_name = matrix
f_name = fe_m
args = ' '
[../]
# Total free energy of the matrix
[./Total_energy_matrix]
type = DerivativeSumMaterial
f_name = f_total_matrix
sum_materials = 'fm fe_m'
args = 'cm'
[../]
# Free energy of the precipitate phase
[./fp]
type = DerivativeParsedMaterial
f_name = fp
args = 'cp'
function = '6.55*(cp-0.235)^2'
[../]
# Elastic energy of the precipitate
[./elastic_free_energy_p]
type = ElasticEnergyMaterial
base_name = ppt
f_name = fe_p
args = ' '
[../]
# Total free energy of the precipitate
[./Total_energy_ppt]
type = DerivativeSumMaterial
f_name = f_total_ppt
sum_materials = 'fp fe_p'
args = 'cp'
[../]
# Total elastic energy
[./Total_elastic_energy]
type = DerivativeTwoPhaseMaterial
eta = eta
f_name = f_el_mat
fa_name = fe_m
fb_name = fe_p
outputs = exodus
W = 0
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
outputs = exodus
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L kappa'
prop_values = '0.7 0.7 0.1365'
[../]
#Mechanical properties
[./Stiffness_matrix]
type = ComputeElasticityTensor
C_ijkl = '74.25 14.525'
base_name = matrix
fill_method = symmetric_isotropic
[../]
[./Stiffness_ppt]
type = ComputeElasticityTensor
C_ijkl = '74.25 14.525'
base_name = ppt
fill_method = symmetric_isotropic
[../]
[./strain_matrix]
type = ComputeRSphericalSmallStrain
base_name = matrix
[../]
[./strain_ppt]
type = ComputeRSphericalSmallStrain
base_name = ppt
[../]
[./stress_matrix]
type = ComputeLinearElasticStress
base_name = matrix
[../]
[./stress_ppt]
type = ComputeLinearElasticStress
base_name = ppt
[../]
[./global_stress]
type = TwoPhaseStressMaterial
base_A = matrix
base_B = ppt
[../]
[./interface_stress]
type = ComputeSurfaceTensionKKS
v = eta
kappa_name = kappa
w = 0.0033
[../]
[]
[BCs]
[./left_r]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[]
#
# Precondition using handcoded off-diagonal terms
#
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm lu nonzero'
l_max_its = 30
nl_max_its = 10
l_tol = 1.0e-4
nl_rel_tol = 1.0e-9
nl_abs_tol = 1.0e-10
num_steps = 2
dt = 0.5
[]
[Outputs]
exodus = true
[./csv]
type = CSV
execute_on = 'final'
[../]
[]
test/tests/functions/solution_function/solution_function_grad_p1.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
parallel_type = replicated
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./test_variable]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_cond_func
[../]
[../]
[]
[Functions]
[./initial_cond_func]
type = ParsedFunction
value = 2*x+4*y
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
nl_rel_tol = 1e-10
[]
[Outputs]
file_base = solution_function_grad_p1
exodus = true
[]
modules/phase_field/test/tests/misc/interface_flux.i
#
# This test demonstrates an InterfaceKernel (InterfaceDiffusionFlux) that can
# replace a pair of integrated DiffusionFluxBC boundary conditions.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./box1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
input = gen
[../]
[./box2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
input = box1
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[]
[Variables]
[./u2]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v2]
block = 2
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.7)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[]
[Kernels]
[./u2_diff]
type = Diffusion
variable = u2
block = 1
[../]
[./u2_dt]
type = TimeDerivative
variable = u2
block = 1
[../]
[./v2_diff]
type = Diffusion
variable = v2
block = 2
[../]
[./v2_dt]
type = TimeDerivative
variable = v2
block = 2
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u2
neighbor_var = v2
[../]
[]
[Executioner]
type = Transient
dt = 0.002
num_steps = 6
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
test/tests/time_integrators/multi_stage_time_integrator/unconverged_1st_stage.i
# This test is designed to check that a time step solve should stop if *any*
# time integrator solve stage fails, not just the *last* stage. If a time
# integrator does not check convergence per stage, then a time step proceeds
# past intermediate stages without checking nonlinear convergence. This test
# is designed to check that the 2nd stage is never even entered by making it
# impossible for the first stage to converge.
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 5
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./time]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./body]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
variable = u
function = ic
[../]
[]
[BCs]
[./bcs]
type = FunctionDirichletBC
variable = u
boundary = '0 1'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
[./TimeIntegrator]
type = LStableDirk2
[../]
num_steps = 1
abort_on_solve_fail = true
solve_type = NEWTON
nl_max_its = 0
[]
modules/porous_flow/test/tests/basic_advection/except1.i
# phase number is too high in PorousFlowBasicAdvection
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./P]
[../]
[]
[ICs]
[./P]
type = FunctionIC
variable = P
function = '2*(1-x)'
[../]
[./u]
type = FunctionIC
variable = u
function = 'if(x<0.1,1,0)'
[../]
[]
[Kernels]
[./u_dot]
type = TimeDerivative
variable = u
[../]
[./u_advection]
type = PorousFlowBasicAdvection
variable = u
phase = 1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = ''
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 4
thermal_expansion = 0
viscosity = 150.0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = P
capillary_pressure = pc
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '5 0 0 0 5 0 0 0 5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 0
phase = 0
[../]
[./darcy_velocity]
type = PorousFlowDarcyVelocityMaterial
gravity = '0.25 0 0'
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = left
value = 1
variable = u
[../]
[./right]
type = DirichletBC
boundary = right
value = 0
variable = u
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
petsc_options_iname = '-pc_type -snes_rtol'
petsc_options_value = ' lu 1E-10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 5
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
modules/porous_flow/test/tests/basic_advection/1phase.i
# Basic advection of u in a 1-phase situation
#
# grad(P) = -2
# density * gravity = 4 * 0.25
# grad(P) - density * gravity = -3
# permeability = 5
# viscosity = 150
# so Darcy velocity = 0.1
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./P]
[../]
[]
[ICs]
[./P]
type = FunctionIC
variable = P
function = '2*(1-x)'
[../]
[./u]
type = FunctionIC
variable = u
function = 'if(x<0.1,1,0)'
[../]
[]
[Kernels]
[./u_dot]
type = TimeDerivative
variable = u
[../]
[./u_advection]
type = PorousFlowBasicAdvection
variable = u
phase = 0
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = ''
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 4
thermal_expansion = 0
viscosity = 150.0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = P
capillary_pressure = pc
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '5 0 0 0 5 0 0 0 5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 0
phase = 0
[../]
[./darcy_velocity]
type = PorousFlowDarcyVelocityMaterial
gravity = '0.25 0 0'
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = left
value = 1
variable = u
[../]
[./right]
type = DirichletBC
boundary = right
value = 0
variable = u
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
petsc_options_iname = '-pc_type -snes_rtol'
petsc_options_value = ' lu 1E-10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1
end_time = 5
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
modules/richards/test/tests/user_objects/uo3.i
# Seff User objects give the correct value
# Sat User objects give the correct value
#
# If you want to add another test for another UserObject
# then add the UserObject, add a Function defining the expected result,
# add an AuxVariable and AuxKernel that will record the UserObjects value
# and finally add a NodalL2Error that compares this with the Function
#
# Here pressure is x where x runs between -5E6 and 5E6
[UserObjects]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-6
[../]
[./Seff1BWsmall]
type = RichardsSeff1BWsmall
Sn = 0.0
Ss = 1.0
C = 1.01
las = 1E5
[../]
[./Seff1RSC]
type = RichardsSeff1RSC
oil_viscosity = 4.0
scale_ratio = 1E6
shift = -2E6
[../]
[./Seff1VGcut]
type = RichardsSeff1VGcut
m = 0.8
al = 1E-6
p_cut = -1E6
[../]
# following are unimportant in this test
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.10101
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.054321
sum_s_res = 0.054321
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E5
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = x
[../]
[./answer_Seff1VG]
type = ParsedFunction
value = (1+max((-x)*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '1E-6 0.8'
[../]
[./answer_dSeff1VG]
type = GradParsedFunction
direction = '1 0 0'
value = (1+max((-x)*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '1E-6 0.8'
[../]
[./answer_d2Seff1VG]
type = Grad2ParsedFunction
direction = '1 0 0'
value = (1+max((-x)*al,0)^(1/(1-m)))^(-m)
vars = 'al m'
vals = '1E-6 0.8'
[../]
[./answer_Seff1BW]
type = PiecewiseLinear
format = columns
data_file = satBW.csv
axis = x
[../]
[./answer_Seff1BWprime]
type = PiecewiseLinear
format = columns
data_file = satBWprime.csv
axis = x
[../]
[./answer_Seff1BW2prime]
type = PiecewiseLinear
format = columns
data_file = satBW2prime.csv
axis = x
[../]
[./answer_Seff1RSC]
type = ParsedFunction
value = (1+exp((-x-shift)/scale))^(-0.5)
vars = 'shift scale'
vals = '-2E6 1E6'
[../]
[./answer_dSeff1RSC]
type = GradParsedFunction
direction = '1 0 0'
value = (1+exp((-x-shift)/scale))^(-0.5)
vars = 'shift scale'
vals = '-2E6 1E6'
[../]
[./answer_d2Seff1RSC]
type = Grad2ParsedFunction
direction = '1 0 0'
value = (1+exp((-x-shift)/scale))^(-0.5)
vars = 'shift scale'
vals = '-2E6 1E6'
[../]
[./answer_Seff1VGcut]
type = ParsedFunction
value = if(x<pcut,scut+dscut*(x-pcut),(1+max((-x)*al,0)^(1/(1-m)))^(-m))
vars = 'al m pcut scut dscut'
vals = '1E-6 0.8 -1E6 0.574349177498517 1.14869835499703e-06'
[../]
[./answer_dSeff1VGcut]
type = GradParsedFunction
direction = '1 0 0'
value = if(x<pcut,scut+dscut*(x-pcut),(1+max((-x)*al,0)^(1/(1-m)))^(-m))
vars = 'al m pcut scut dscut'
vals = '1E-6 0.8 -1E6 0.574349177498517 1.14869835499703e-06'
[../]
[./answer_d2Seff1VGcut]
type = Grad2ParsedFunction
direction = '1 0 0'
value = if(x<pcut,scut+dscut*(x-pcut),(1+max((-x)*al,0)^(1/(1-m)))^(-m))
vars = 'al m pcut scut dscut'
vals = '1E-6 0.8 -1E6 0.574349177498517 1.14869835499703e-06'
[../]
[./answer_Sat]
type = ParsedFunction
value = sres+((1-sumsres)*((1+max((-x)*al,0)^(1/(1-m)))^(-m)))
vars = 'al m sres sumsres'
vals = '1E-6 0.8 0.054321 0.054321'
[../]
[./answer_dSat]
type = ParsedFunction
value = 1-sumsres
vars = 'sumsres'
vals = '0.054321'
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[./dSeff1VG_Aux]
[../]
[./d2Seff1VG_Aux]
[../]
[./Seff1BWsmall_Aux]
[../]
[./dSeff1BWsmall_Aux]
[../]
[./d2Seff1BWsmall_Aux]
[../]
[./Seff1RSC_Aux]
[../]
[./dSeff1RSC_Aux]
[../]
[./d2Seff1RSC_Aux]
[../]
[./Seff1VGcut_Aux]
[../]
[./dSeff1VGcut_Aux]
[../]
[./d2Seff1VGcut_Aux]
[../]
[./Sat_Aux]
[../]
[./dSat_Aux]
[../]
[./check_Aux]
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[./dSeff1VG_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
wrtnum = 0
[../]
[./d2Seff1VG_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
wrtnum1 = 0
wrtnum2 = 0
[../]
[./Seff1BWsmall_AuxK]
type = RichardsSeffAux
variable = Seff1BWsmall_Aux
seff_UO = Seff1BWsmall
pressure_vars = pressure
[../]
[./dSeff1BWsmall_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff1BWsmall_Aux
seff_UO = Seff1BWsmall
pressure_vars = pressure
wrtnum = 0
[../]
[./d2Seff1BWsmall_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff1BWsmall_Aux
seff_UO = Seff1BWsmall
pressure_vars = pressure
wrtnum1 = 0
wrtnum2 = 0
[../]
[./Seff1RSC_AuxK]
type = RichardsSeffAux
variable = Seff1RSC_Aux
seff_UO = Seff1RSC
pressure_vars = pressure
[../]
[./dSeff1RSC_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff1RSC_Aux
seff_UO = Seff1RSC
pressure_vars = pressure
wrtnum = 0
[../]
[./d2Seff1RSC_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff1RSC_Aux
seff_UO = Seff1RSC
pressure_vars = pressure
wrtnum1 = 0
wrtnum2 = 0
[../]
[./Seff1VGcut_AuxK]
type = RichardsSeffAux
variable = Seff1VGcut_Aux
seff_UO = Seff1VGcut
pressure_vars = pressure
[../]
[./dSeff1VGcut_AuxK]
type = RichardsSeffPrimeAux
variable = dSeff1VGcut_Aux
seff_UO = Seff1VGcut
pressure_vars = pressure
wrtnum = 0
[../]
[./d2Seff1VGcut_AuxK]
type = RichardsSeffPrimePrimeAux
variable = d2Seff1VGcut_Aux
seff_UO = Seff1VGcut
pressure_vars = pressure
wrtnum1 = 0
wrtnum2 = 0
[../]
[./Sat_AuxK]
type = RichardsSatAux
sat_UO = Saturation
seff_var = Seff1VG_Aux
variable = Sat_Aux
[../]
[./dSat_AuxK]
type = RichardsSatPrimeAux
sat_UO = Saturation
seff_var = Seff1VG_Aux
variable = dSat_Aux
[../]
[./check_AuxK]
type = FunctionAux
variable = check_Aux
function = answer_Seff1VGcut
[../]
[]
[Postprocessors]
[./cf_Seff1VG]
type = NodalL2Error
function = answer_Seff1VG
variable = Seff1VG_Aux
[../]
[./cf_dSeff1VG]
type = NodalL2Error
function = answer_dSeff1VG
variable = dSeff1VG_Aux
[../]
[./cf_d2Seff1VG]
type = NodalL2Error
function = answer_d2Seff1VG
variable = d2Seff1VG_Aux
[../]
[./cf_Seff1BW]
type = NodalL2Error
function = answer_Seff1BW
variable = Seff1BWsmall_Aux
[../]
[./cf_Seff1BWprime]
type = NodalL2Error
function = answer_Seff1BWprime
variable = dSeff1BWsmall_Aux
[../]
[./cf_Seff1BW2prime]
type = NodalL2Error
function = answer_Seff1BW2prime
variable = d2Seff1BWsmall_Aux
[../]
[./cf_Seff1RSC]
type = NodalL2Error
function = answer_Seff1RSC
variable = Seff1RSC_Aux
[../]
[./cf_dSeff1RSC]
type = NodalL2Error
function = answer_dSeff1RSC
variable = dSeff1RSC_Aux
[../]
[./cf_d2Seff1RSC]
type = NodalL2Error
function = answer_d2Seff1RSC
variable = d2Seff1RSC_Aux
[../]
[./cf_Seff1VGcut]
type = NodalL2Error
function = answer_Seff1VGcut
variable = Seff1VGcut_Aux
[../]
[./cf_dSeff1VGcut]
type = NodalL2Error
function = answer_dSeff1VGcut
variable = dSeff1VGcut_Aux
[../]
[./cf_d2Seff1VGcut]
type = NodalL2Error
function = answer_d2Seff1VGcut
variable = d2Seff1VGcut_Aux
[../]
[./cf_Sat]
type = NodalL2Error
function = answer_Sat
variable = Sat_Aux
[../]
[./cf_dSat]
type = NodalL2Error
function = answer_dSat
variable = dSat_Aux
[../]
[]
#############################################################################
#
# Following is largely unimportant as we are not running an actual similation
#
#############################################################################
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = -5E6
xmax = 5E6
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
richardsVarNames_UO = PPNames
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
richardsVarNames_UO = PPNames
variable = pressure
[../]
[]
[Materials]
[./unimportant_material]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-20 0 0 0 1E-20 0 0 0 1E-20'
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
viscosity = 1E-3
gravity = '0 0 -10'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./does_nothing]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E50 1E50 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 1
dt = 1E-100
[]
[Outputs]
execute_on = 'timestep_end'
active = 'csv'
file_base = uo3
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
hide = pressure
[../]
[]
modules/porous_flow/test/tests/newton_cooling/nc06.i
# Newton cooling from a bar. 1-phase and heat, steady
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0
xmax = 100
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pressure temp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.8
alpha = 1e-5
[../]
[]
[Variables]
[./pressure]
[../]
[./temp]
[../]
[]
[ICs]
# have to start these reasonably close to their steady-state values
[./pressure]
type = FunctionIC
variable = pressure
function = '(2-x/100)*1E6'
[../]
[./temperature]
type = FunctionIC
variable = temp
function = 100+0.1*x
[../]
[]
[Kernels]
[./flux]
type = PorousFlowAdvectiveFlux
fluid_component = 0
gravity = '0 0 0'
variable = pressure
[../]
[./heat_advection]
type = PorousFlowHeatAdvection
gravity = '0 0 0'
variable = temp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e6
density0 = 1000
thermal_expansion = 0
viscosity = 1e-3
cv = 1e6
porepressure_coefficient = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-15'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey # irrelevant in this fully-saturated situation
n = 2
phase = 0
[../]
[]
[BCs]
[./leftp]
type = DirichletBC
variable = pressure
boundary = left
value = 2E6
[../]
[./leftt]
type = DirichletBC
variable = temp
boundary = left
value = 100
[../]
[./newtonp]
type = PorousFlowPiecewiseLinearSink
variable = pressure
boundary = right
pt_vals = '0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000 1100000 1200000 1300000 1400000 1500000 1600000 1700000 1800000 1900000 2000000'
multipliers = '0. 5.6677197748570516e-6 0.000011931518841831313 0.00001885408740732065 0.000026504708864284114 0.000034959953203725676 0.000044304443352900224 0.00005463170211001232 0.00006604508815181467 0.00007865883048198513 0.00009259917167338928 0.00010800563134618119 0.00012503240252705603 0.00014384989486488752 0.00016464644014777016 0.00018763017719085535 0.0002130311349595711 0.00024110353477682344 0.00027212833465544285 0.00030641604122040985 0.00034430981736352295'
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1
[../]
[./newton]
type = PorousFlowPiecewiseLinearSink
variable = temp
boundary = right
pt_vals = '0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000 1100000 1200000 1300000 1400000 1500000 1600000 1700000 1800000 1900000 2000000'
multipliers = '0. 5.6677197748570516e-6 0.000011931518841831313 0.00001885408740732065 0.000026504708864284114 0.000034959953203725676 0.000044304443352900224 0.00005463170211001232 0.00006604508815181467 0.00007865883048198513 0.00009259917167338928 0.00010800563134618119 0.00012503240252705603 0.00014384989486488752 0.00016464644014777016 0.00018763017719085535 0.0002130311349595711 0.00024110353477682344 0.00027212833465544285 0.00030641604122040985 0.00034430981736352295'
use_mobility = false
use_relperm = false
use_internal_energy = true
fluid_phase = 0
flux_function = 1
[../]
[]
[VectorPostprocessors]
[./porepressure]
type = LineValueSampler
variable = pressure
start_point = '0 0.5 0'
end_point = '100 0.5 0'
sort_by = x
num_points = 11
execute_on = timestep_end
[../]
[./temperature]
type = LineValueSampler
variable = temp
start_point = '0 0.5 0'
end_point = '100 0.5 0'
sort_by = x
num_points = 11
execute_on = timestep_end
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol '
petsc_options_value = 'gmres asm lu 100 NONZERO 2 1E-8 1E-15'
[../]
[]
[Executioner]
type = Steady
solve_type = Newton
[]
[Outputs]
file_base = nc06
execute_on = timestep_end
exodus = true
[./along_line]
type = CSV
execute_vector_postprocessors_on = timestep_end
[../]
[]
test/tests/kernels/conservative_advection/full_upwinding_2D.i
# 2D test of advection with full upwinding
# Note there are no overshoots or undershoots
# but there is numerical diffusion.
# The center of the blob advects with the correct velocity
[Mesh]
type = GeneratedMesh
dim = 2
nx = 40
ny = 40
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u_blob]
type = FunctionIC
variable = u
function = 'if(x<0.2,if(y<0.2,1,0),0)'
[../]
[]
[Kernels]
[./udot]
type = MassLumpedTimeDerivative
variable = u
[../]
[./advection]
type = ConservativeAdvection
variable = u
upwinding_type = full
velocity = '2 1 0'
[../]
[]
[Executioner]
type = Transient
solve_type = LINEAR
dt = 0.01
end_time = 0.1
l_tol = 1E-14
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_1D.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek, with antidiffusion from superbee flux limiting
# 1D version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[Variables]
[./tracer]
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
[../]
[./flux]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo
[../]
[]
[UserObjects]
[./fluo]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
[../]
[]
[BCs]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_tracer]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = right
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
nl_max_its = 500
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/time_integrators/explicit-euler/ee-1d-quadratic-neumann.i
[GlobalParams]
implicit = false
[]
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 10
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t+t*x*x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[./left_bc_fn]
type = ParsedFunction
value = -t*2*x
[../]
[./right_bc_fn]
type = ParsedFunction
value = t*2*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./abs]
type = Reaction
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./left]
type = FunctionNeumannBC
variable = u
boundary = '0'
function = left_bc_fn
[../]
[./right]
type = FunctionNeumannBC
variable = u
boundary = '1'
function = right_bc_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
l_tol = 1e-12
start_time = 0.0
num_steps = 10
dt = 0.001
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/richards/test/tests/dirac/bh07.i
[Mesh]
type = FileMesh
file = bh07_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1000 10000'
x = '100 1000'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[BCs]
[./fix_outer]
type = DirichletBC
boundary = perimeter
variable = pressure
value = 1E7
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh07.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
re_constant = 0.1594
character = 2
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
execute_on = 'initial timestep_end'
[../]
[./fluid_mass]
type = RichardsMass
variable = pressure
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-11 0 0 0 1E-11 0 0 0 1E-11'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1000
solve_type = NEWTON
[./TimeStepper]
# get only marginally better results for smaller time steps
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh07
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[]
test/tests/multiapps/grid-sequencing/vi-coarse.i
l=10
nx=40
num_steps=2
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[bounds][]
[]
[Bounds]
[bounds]
type = BoundsAux
variable = bounds
bounded_variable = u
upper = ${l}
lower = 0
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options = '-snes_vi_monitor'
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type -snes_type'
petsc_options_value = '0 30 asm 16 basic vinewtonrsls'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
active = 'upper_violations lower_violations'
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
[MultiApps]
[./coarser]
type = TransientMultiApp
app_type = MooseTestApp
execute_on = timestep_begin
positions = '0 0 0'
input_files = vi-coarser.i
[../]
[]
[Transfers]
[./mesh_function_begin]
type = MultiAppMeshFunctionTransfer
direction = from_multiapp
multi_app = coarser
source_variable = u
variable = u
execute_on = timestep_begin
[../]
[]
modules/richards/test/tests/jacobian_2/jn_fu_17.i
# two phase
# water saturated
# gravity = true
# supg = true
# transient = true
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0 # notice small quantity, so the PETSc constant state works
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5 # notice small quantity, so the PETSc constant state works
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1 # notice small quantity, so the PETSc constant state works
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1 # notice small quantity, so the PETSc constant state works
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.2
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.1
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.15
[../]
[./SatGas]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.15
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 0.01
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
block = 0
function = init_p
[../]
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
block = 0
function = init_p
[../]
[../]
[]
[Functions]
[./init_p]
type = ParsedFunction
value = x+0.6*y+0.3*z
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFullyUpwindFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFullyUpwindFlux
variable = pgas
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
viscosity = '1E-3 0.5E-3'
gravity = '1 2 3'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-5
[]
[Outputs]
execute_on = 'timestep_end'
file_base = jn17
exodus = false
[]
modules/heat_conduction/test/tests/verify_against_analytical/1D_transient.i
# This test solves a 1D transient heat equation
# The error is caclulated by comparing to the analytical solution
# The problem setup and analytical solution are taken from "Advanced Engineering
# Mathematics, 10th edition" by Erwin Kreyszig.
# http://www.amazon.com/Advanced-Engineering-Mathematics-Erwin-Kreyszig/dp/0470458364
# It is Example 1 in section 12.6 on page 561
[Mesh]
type = GeneratedMesh
dim = 1
nx = 160
xmax = 80
[]
[Variables]
[./T]
[../]
[]
[ICs]
[./T_IC]
type = FunctionIC
variable = T
function = '100*sin(pi*x/80)'
[../]
[]
[Kernels]
[./HeatDiff]
type = HeatConduction
variable = T
[../]
[./HeatTdot]
type = HeatConductionTimeDerivative
variable = T
[../]
[]
[BCs]
[./sides]
type = DirichletBC
variable = T
boundary = 'left right'
value = 0
[../]
[]
[Materials]
[./k]
type = GenericConstantMaterial
prop_names = 'thermal_conductivity'
prop_values = '0.95' #copper in cal/(cm sec C)
[../]
[./cp]
type = GenericConstantMaterial
prop_names = 'specific_heat'
prop_values = '0.092' #copper in cal/(g C)
[../]
[./rho]
type = GenericConstantMaterial
prop_names = 'density'
prop_values = '8.92' #copper in g/(cm^3)
[../]
[]
[Postprocessors]
[./error]
type = NodalL2Error
function = '100*sin(pi*x/80)*exp(-0.95/(0.092*8.92)*pi^2/80^2*t)'
variable = T
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
l_tol = 1e-6
dt = 2
end_time = 100
[]
[Outputs]
exodus = true
[]
test/tests/kernels/conservative_advection/none_in_none_out.i
# Using ConservativeAdvection with full upwinding
# This demonstrates BCs (no BCs) that allow no mass to
# enter or exit the domain.
# Total mass remains constant and the pulse advects
# with the correct velocity
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 10
nx = 10
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u]
type = FunctionIC
variable = u
function = 'if(x<5,x,10-x)'
[../]
[]
[Kernels]
[./dot]
type = MassLumpedTimeDerivative
variable = u
[../]
[./advection]
type = ConservativeAdvection
variable = u
upwinding_type = full
velocity = '1 0 0'
[../]
[]
[Postprocessors]
[./total_mass]
type = VariableInnerProduct
variable = u
second_variable = 1
[../]
[]
[Executioner]
type = Transient
solve_type = Linear
dt = 1
end_time = 10
l_tol = 1E-14
[]
[Outputs]
csv = true
[]
tutorials/darcy_thermo_mech/step04_velocity_aux/tests/auxkernels/velocity_aux/velocity_aux.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
[]
[Variables]
[pressure]
[]
[]
[AuxVariables]
[velocity_x]
order = CONSTANT
family = MONOMIAL
[]
[velocity]
order = CONSTANT
family = MONOMIAL_VEC
[]
[]
[AuxKernels]
[velocity]
type = DarcyVelocity
variable = velocity
execute_on = timestep_end
pressure = pressure
[]
[velocity_x]
type = VectorVariableComponentAux
variable = velocity_x
component = x
execute_on = timestep_end
vector_variable = velocity
[]
[]
[Functions]
[pressure_ic_func]
type = ParsedFunction
value = 2000*x*y*x*y
[]
[]
[ICs]
[pressure_ic]
type = FunctionIC
variable = pressure
function = pressure_ic_func
[]
[]
[Problem]
type = FEProblem
coord_type = RZ
rz_coord_axis = X
solve = false
[]
[Materials]
[pressure]
type = GenericConstantMaterial
prop_values = '0.8451e-9 7.98e-4'
prop_names = 'permeability viscosity'
[]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/ics/function_ic/spline_function.i
#
# Test the gradient calculation in spline function and the gradient pass-through in FunctionIC
#
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 3
ymin = 0
ymax = 1
nx = 10
ny = 2
[]
[Variables]
[./u]
order = THIRD
family = HERMITE
[../]
[]
[Functions]
[./spline_function]
type = SplineFunction
x = '0 1 2 3'
y = '0 1 0 1'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
variable = 'u'
function = spline_function
[../]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
file_base = spline
[./OverSampling]
type = Exodus
refinements = 3
[../]
[]
modules/rdg/test/tests/advection_1d/1d_aefv_square_wave.i
############################################################
[GlobalParams]
order = CONSTANT
family = MONOMIAL
u = u
slope_limiting = lslope
implicit = false
[]
############################################################
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 1
nx = 100
[]
############################################################
[Functions]
[./ic_u]
type = PiecewiseConstant
axis = x
direction = right
xy_data = '0.1 0.5
0.6 1.0
1.0 0.5'
[../]
[]
############################################################
[UserObjects]
[./lslope]
type = AEFVSlopeLimitingOneD
execute_on = 'linear'
scheme = 'none' #none | minmod | mc | superbee
[../]
[./internal_side_flux]
type = AEFVUpwindInternalSideFlux
execute_on = 'linear'
[../]
[./free_outflow_bc]
type = AEFVFreeOutflowBoundaryFlux
execute_on = 'linear'
[../]
[]
############################################################
[Variables]
[./u]
[../]
[]
############################################################
[ICs]
[./u_ic]
type = FunctionIC
variable = 'u'
function = ic_u
[../]
[]
############################################################
[Kernels]
[./time_u]
implicit = true
type = TimeDerivative
variable = u
[../]
[]
############################################################
[DGKernels]
[./concentration]
type = AEFVKernel
variable = u
component = 'concentration'
flux = internal_side_flux
[../]
[]
############################################################
[BCs]
[./concentration]
type = AEFVBC
boundary = 'left right'
variable = u
component = 'concentration'
flux = free_outflow_bc
[../]
[]
############################################################
[Materials]
[./aefv]
type = AEFVMaterial
block = 0
[../]
[]
############################################################
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitMidpoint
[../]
solve_type = 'LINEAR'
l_tol = 1e-4
nl_rel_tol = 1e-20
nl_abs_tol = 1e-8
nl_max_its = 60
start_time = 0.0
num_steps = 4 # 4 | 400 for complete run
dt = 5e-4
dtmin = 1e-6
[]
[Outputs]
[./Exodus]
type = Exodus
file_base = 1d_aefv_square_wave_none_out
interval = 2
[../]
perf_graph = true
[]
modules/phase_field/test/tests/MultiPhase/crosstermbarrierfunction.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 200
xmin = 0
xmax = 9
[]
[Functions]
[./func1]
type = ParsedFunction
value = 'il:=x-7; ir:=2-x; if(x<1, 1,
if(x<2, 0.5-0.5*cos(ir*pi),
if(x<7, 0,
if(x<8, 0.5-0.5*cos(il*pi),
1))))'
[../]
[./func2]
type = ParsedFunction
value = 'il:=x-1; ir:=5-x; if(x<1, 0,
if(x<2, 0.5-0.5*cos(il*pi),
if(x<4, 1,
if(x<5, 0.5-0.5*cos(ir*pi),
0))))'
[../]
[./func3]
type = ParsedFunction
value = 'il:=x-4; ir:=8-x; if(x<4, 0,
if(x<5, 0.5-0.5*cos(il*pi),
if(x<7, 1,
if(x<8, 0.5-0.5*cos(ir*pi),
0))))'
[../]
[]
[AuxVariables]
[./eta1]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = func1
[../]
[../]
[./eta2]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = func2
[../]
[../]
[./eta3]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = func3
[../]
[../]
[]
[Materials]
[./crosstermbarrier_simple]
type = CrossTermBarrierFunctionMaterial
etas = 'eta1 eta2 eta3'
W_ij = '0 1 2.2
1 0 3.1
2.2 3.1 0'
function_name = gsimple
g_order = SIMPLE
outputs = exodus
[../]
[./crosstermbarrier_low]
type = CrossTermBarrierFunctionMaterial
etas = 'eta1 eta2 eta3'
W_ij = '0 1 2.2
1 0 3.1
2.2 3.1 0'
function_name = glow
g_order = LOW
outputs = exodus
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
num_steps = 1
[]
[Problem]
solve = false
kernel_coverage_check = false
[]
[Outputs]
exodus = true
execute_on = final
[]
modules/chemical_reactions/test/tests/aqueous_equilibrium/2species.i
# Simple equilibrium reaction example to illustrate the use of the AqueousEquilibriumReactions
# action.
# In this example, two primary species a and b are transported by diffusion and convection
# from the left of the porous medium, reacting to form two equilibrium species pa2 and pab
# according to the equilibrium reaction specified in the AqueousEquilibriumReactions block as:
#
# reactions = '2a = pa2 2
# a + b = pab -2'
#
# where the 2 is the weight of the equilibrium species, the 2 on the RHS of the first reaction
# refers to the equilibrium constant (log10(Keq) = 2), and the -2 on the RHS of the second
# reaction equates to log10(Keq) = -2.
#
# The AqueousEquilibriumReactions action creates all the required kernels and auxkernels
# to compute the reaction given by the above equilibrium reaction equation.
#
# Specifically, it adds to following:
# * An AuxVariable named 'pa2' (given in the reactions equations)
# * An AuxVariable named 'pab' (given in the reactions equations)
# * A AqueousEquilibriumRxnAux AuxKernel for each AuxVariable with all parameters
# * A CoupledBEEquilibriumSub Kernel for each primary species with all parameters
# * A CoupledDiffusionReactionSub Kernel for each primary species with all parameters
# * A CoupledConvectionReactionSub Kernel for each primary species with all parameters if
# pressure is a coupled variable
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
[]
[Variables]
[./a]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[./b]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[]
[AuxVariables]
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[ReactionNetwork]
[./AqueousEquilibriumReactions]
primary_species = 'a b'
reactions = '2a = pa2 2,
a + b = pab -2'
secondary_species = 'pa2 pab'
pressure = pressure
[../]
[]
[Kernels]
[./a_ie]
type = PrimaryTimeDerivative
variable = a
[../]
[./a_diff]
type = PrimaryDiffusion
variable = a
[../]
[./a_conv]
type = PrimaryConvection
variable = a
p = pressure
[../]
[./b_ie]
type = PrimaryTimeDerivative
variable = b
[../]
[./b_diff]
type = PrimaryDiffusion
variable = b
[../]
[./b_conv]
type = PrimaryConvection
variable = b
p = pressure
[../]
[]
[BCs]
[./a_left]
type = DirichletBC
variable = a
boundary = left
value = 1.0e-2
[../]
[./a_right]
type = ChemicalOutFlowBC
variable = a
boundary = right
[../]
[./b_left]
type = DirichletBC
variable = b
boundary = left
value = 1.0e-2
[../]
[./b_right]
type = ChemicalOutFlowBC
variable = b
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-4 1e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
nl_abs_tol = 1e-12
start_time = 0.0
end_time = 100
dt = 10.0
[]
[Outputs]
file_base = 2species_out
exodus = true
perf_graph = true
print_linear_residuals = true
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
modules/richards/test/tests/theis/th_lumped_01.i
# fully-saturated
# production
# lumped
[Mesh]
type = FileMesh
file = th01_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.5 1 2 10'
x = '0 1 10 100'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsLumpedMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsPolyLineSink
pressures = '-1E9 1E9'
fluxes = '200 200'
point_file = th01.points
SumQuantityUO = total_outflow_mass
variable = pressure
[../]
[]
[Postprocessors]
[./flow_report]
type = RichardsPlotQuantity
uo = total_outflow_mass
[../]
[./p50]
type = PointValue
variable = pressure
point = '50 0 0'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E5
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-6 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 100
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
execute_on = 'timestep_end'
file_base = th_lumped_01
csv = true
[]
modules/richards/test/tests/buckley_leverett/bl01_lumped_fu.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2.0E6
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-4
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[AuxKernels]
active = 'calculate_seff'
[./calculate_seff]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffVG
pressure_vars = pressure
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[BCs]
active = 'left'
[./left]
type = DirichletBC
variable = pressure
boundary = left
value = 980000
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsLumpedMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFullyUpwindFlux
variable = pressure
[../]
[]
[Functions]
active = 'initial_pressure'
[./initial_pressure]
type = ParsedFunction
value = max((1000000-x/5*1000000)-20000,-20000)
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 20'
[../]
[]
[Executioner]
type = Transient
end_time = 50
dt = 2
[]
[Outputs]
file_base = bl01_lumped_fu
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[]
modules/richards/test/tests/theis/th02.i
# fully-saturated
# production
[Mesh]
type = FileMesh
file = th02_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1 2 4 20'
x = '0 1 10 100'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsPolyLineSink
pressures = '-1E9 1E9'
fluxes = '200 200'
point_file = th01.points
SumQuantityUO = total_outflow_mass
variable = pressure
[../]
[]
[Postprocessors]
[./flow_report]
type = RichardsPlotQuantity
uo = total_outflow_mass
[../]
[./p50]
type = PointValue
variable = pressure
point = '50 0 0'
execute_on = 'initial timestep_end'
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E5
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-6 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 100
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = th02
csv = true
[]
test/tests/bcs/periodic/no_add_scalar.i
# Test to make sure that periodic boundaries
# are not applied to scalar variables.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./scalar]
family = SCALAR
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = x
[../]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = c
[../]
[./diff]
type = Diffusion
variable = c
[../]
[]
[ScalarKernels]
[./scalar]
type = ODETimeDerivative
variable = scalar
[../]
[]
[Executioner]
type = Transient
dt = 0.1
num_steps = 3
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/phase_field_kernels/ADAllenCahnVariableL.i
#
# Test the forward automatic differentiation Allen-Cahn Bulk kernel with a
# spatially varying mobility
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmax = 12
ymax = 12
elem_type = QUAD4
[]
[AuxVariables]
[./chi]
[./InitialCondition]
type = FunctionIC
function = 'x/24+0.5'
[../]
[../]
[]
[Variables]
[./eta]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = SmoothCircleIC
x1 = 0.0
y1 = 0.0
radius = 6.0
invalue = 0.9
outvalue = 0.1
int_width = 3.0
[../]
[../]
[]
[Kernels]
[./detadt]
type = ADTimeDerivative
variable = eta
[../]
[./ACBulk]
type = ADAllenCahn
variable = eta
f_name = F
[../]
[./ACInterface]
type = ADACInterface
variable = eta
kappa_name = 1
variable_L = true
args = chi
[../]
[]
[Materials]
[./L]
type = ADTestDerivativeFunction
function = F2
f_name = L
op = 'eta chi'
[../]
[./free_energy]
type = ADTestDerivativeFunction
function = F1
f_name = F
op = 'eta'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
num_steps = 2
dt = 1
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/interface_stress/multi.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
ny = 10
nz = 10
xmax = 1
ymax = 1
zmax = 1
xmin = -1
ymin = -1
zmin = -1
[]
[GlobalParams]
order = CONSTANT
family = MONOMIAL
rank_two_tensor = extra_stress
[]
[Functions]
[./sphere1]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2); if(r>1,0,1-3*r^2+2*r^3)'
[../]
[./sphere2]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2); 0.5-0.5*if(r>1,0,1-3*r^2+2*r^3)'
[../]
[]
[Variables]
[./dummy]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = dummy
[../]
[]
[AuxVariables]
[./eta1]
[./InitialCondition]
type = FunctionIC
function = sphere1
[../]
order = FIRST
family = LAGRANGE
[../]
[./eta2]
[./InitialCondition]
type = FunctionIC
function = sphere2
[../]
order = FIRST
family = LAGRANGE
[../]
[./s00]
[../]
[./s01]
[../]
[./s02]
[../]
[./s10]
[../]
[./s11]
[../]
[./s12]
[../]
[./s20]
[../]
[./s21]
[../]
[./s22]
[../]
[]
[AuxKernels]
[./s00]
type = RankTwoAux
variable = s00
index_i = 0
index_j = 0
[../]
[./s01]
type = RankTwoAux
variable = s01
index_i = 0
index_j = 1
[../]
[./s02]
type = RankTwoAux
variable = s02
index_i = 0
index_j = 2
[../]
[./s10]
type = RankTwoAux
variable = s10
index_i = 1
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
index_i = 1
index_j = 1
[../]
[./s12]
type = RankTwoAux
variable = s12
index_i = 1
index_j = 2
[../]
[./s20]
type = RankTwoAux
variable = s20
index_i = 2
index_j = 0
[../]
[./s21]
type = RankTwoAux
variable = s21
index_i = 2
index_j = 1
[../]
[./s22]
type = RankTwoAux
variable = s22
index_i = 2
index_j = 2
[../]
[]
[Materials]
[./interface]
type = ComputeInterfaceStress
v = 'eta1 eta2'
stress = '1.0 2.0'
op_range = '1.0 0.5'
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
file_base = test_out
execute_on = timestep_end
hide = 'dummy eta1 eta2'
[]
modules/porous_flow/test/tests/dispersion/disp01_heavy.i
# Test dispersive part of PorousFlowDispersiveFlux kernel by setting diffusion
# coefficients to zero. A pressure gradient is applied over the mesh to give a
# uniform velocity. Gravity is set to zero.
# Mass fraction is set to 1 on the left hand side and 0 on the right hand side.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 200
xmax = 10
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
compute_enthalpy = false
compute_internal_energy = false
[]
[Variables]
[./pp]
[../]
[./massfrac0]
[../]
[]
[AuxVariables]
[./velocity]
family = MONOMIAL
order = FIRST
[../]
[]
[AuxKernels]
[./velocity]
type = PorousFlowDarcyVelocityComponent
variable = velocity
component = x
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = pic
[../]
[./massfrac0]
type = ConstantIC
variable = massfrac0
value = 0
[../]
[]
[Functions]
[./pic]
type = ParsedFunction
value = 1.1e5-x*1e3
[../]
[]
[BCs]
[./xleft]
type = DirichletBC
value = 1
variable = massfrac0
boundary = left
[../]
[./xright]
type = DirichletBC
value = 0
variable = massfrac0
boundary = right
[../]
[./pright]
type = DirichletBC
variable = pp
boundary = right
value = 1e5
[../]
[./pleft]
type = DirichletBC
variable = pp
boundary = left
value = 1.1e5
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./adv0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
[../]
[./diff0]
type = PorousFlowDispersiveFlux
variable = pp
disp_trans = 0
disp_long = 0.2
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = massfrac0
[../]
[./adv1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = massfrac0
[../]
[./diff1]
type = PorousFlowDispersiveFlux
fluid_component = 1
variable = massfrac0
disp_trans = 0
disp_long = 0.2
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp massfrac0'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e9
density0 = 1000
viscosity = 0.001
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseFullySaturated
porepressure = pp
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = massfrac0
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./poro]
type = PorousFlowPorosityConst
porosity = 0.3
[../]
[./diff]
type = PorousFlowDiffusivityConst
diffusion_coeff = '0 0'
tortuosity = 0.1
[../]
[./relp]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-9 0 0 0 1e-9 0 0 0 1e-9'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu NONZERO 2 '
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1e3
dtmax = 10
[./TimeStepper]
type = IterationAdaptiveDT
growth_factor = 1.5
cutback_factor = 0.5
dt = 1
[../]
[]
[VectorPostprocessors]
[./xmass]
type = NodalValueSampler
sort_by = id
variable = massfrac0
[../]
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_2D.i
# Using flux-limited TVD advection ala Kuzmin and Turek, employing PorousFlow Kernels and UserObjects, with superbee flux-limiter
# 3D version
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
xmin = 0
xmax = 1
ny = 4
ymin = 0
ymax = 0.5
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0.5 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
test/tests/transfers/multiapp_userobject_transfer/two_pipe_sub.i
[Mesh]
type = FileMesh
file = two_pipe.e
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[./var]
order = CONSTANT
family = MONOMIAL
block = p1
[../]
[]
[ICs]
[./var]
type = FunctionIC
variable = var
function = setvar
block = p1
[../]
[]
[Functions]
[./setvar]
type = ParsedFunction
value = '1 + z * z'
[../]
[]
[UserObjects]
[./sub_app_uo]
type = LayeredAverage
direction = z
variable = var
num_layers = 10
execute_on = TIMESTEP_END
block = p1
[../]
[]
[Executioner]
type = Transient
[]
test/tests/time_integrators/explicit-euler/ee-2d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD9
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = ((x*x)+(y*y))-(4*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*((x*x)+(y*y))
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
l_tol = 1e-13
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/porous_flow/test/tests/sinks/s06.i
# apply a half-cubic sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = x*(y+1)
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[]
[Functions]
[./mass10]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p10 1.3 1.1 0.5'
[../]
[./rate10]
type = ParsedFunction
value = 'fcn*if(pp>center,m,if(pp<themin,0,m/c/c/c*(2*(pp-center)+c)*((pp-center)-c)*((pp-center)-c)))'
vars = 'm fcn pp center sd themin c'
vals = '2 3 p10 0.9 0.5 0.1 -0.8'
[../]
[./mass10_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm10_prev m10_rate 0.5 2E-3'
[../]
[./mass11]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p11 1.3 1.1 0.5'
[../]
[./rate11]
type = ParsedFunction
value = 'fcn*if(pp>center,m,if(pp<themin,0,m/c/c/c*(2*(pp-center)+c)*((pp-center)-c)*((pp-center)-c)))'
vars = 'm fcn pp center sd themin c'
vals = '2 3 p11 0.9 0.5 0.1 -0.8'
[../]
[./mass11_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm11_prev m11_rate 0.5 2E-3'
[../]
[]
[Postprocessors]
[./flux00]
type = PointValue
variable = flux_out
point = '0 0 0'
[../]
[./flux01]
type = PointValue
variable = flux_out
point = '0 1 0'
[../]
[./flux10]
type = PointValue
variable = flux_out
point = '1 0 0'
[../]
[./flux11]
type = PointValue
variable = flux_out
point = '1 1 0'
[../]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m10]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'initial timestep_end'
[../]
[./m10_prev]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m10_rate]
type = FunctionValuePostprocessor
function = rate10
execute_on = 'timestep_end'
[../]
[./m10_expect]
type = FunctionValuePostprocessor
function = mass10_expect
execute_on = 'timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m11]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'initial timestep_end'
[../]
[./m11_prev]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m11_rate]
type = FunctionValuePostprocessor
function = rate11
execute_on = 'timestep_end'
[../]
[./m11_expect]
type = FunctionValuePostprocessor
function = mass11_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowHalfCubicSink
boundary = 'left right'
max = 2
cutoff = -0.8
center = 0.9
variable = pp
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 3
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 6E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s06
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 5
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 3
[../]
[]
modules/chemical_reactions/test/tests/aqueous_equilibrium/2species_eqaux.i
# In this example, two primary species a and b are transported by diffusion and convection
# from the left of the porous medium, reacting to form two equilibrium species pa2 and pab
# according to the equilibrium reaction specified in the AqueousEquilibriumReactions block as:
#
# reactions = '2a = pa2 2
# a + b = pab -2'
#
# where the 2 is the weight of the equilibrium species, the 2 on the RHS of the first reaction
# refers to the equilibrium constant (log10(Keq) = 2), and the -2 on the RHS of the second
# reaction equates to log10(Keq) = -2.
#
# This example is identical to 2species.i, except that it explicitly includes all AuxKernels
# and Kernels that are set up by the action in 2species.i, and that the equilbrium constants
# are provided by AuxVariables
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
[]
[Variables]
[./a]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[./b]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[]
[AuxVariables]
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[./pa2]
[../]
[./pab]
[../]
[./pa2_logk]
initial_condition = 2
[../]
[./pab_logk]
initial_condition = -2
[../]
[]
[AuxKernels]
[./pa2eq]
type = AqueousEquilibriumRxnAux
variable = pa2
v = a
sto_v = 2
log_k = pa2_logk
[../]
[./pabeq]
type = AqueousEquilibriumRxnAux
variable = pab
v = 'a b'
sto_v = '1 1'
log_k = pab_logk
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[Kernels]
[./a_ie]
type = PrimaryTimeDerivative
variable = a
[../]
[./a_diff]
type = PrimaryDiffusion
variable = a
[../]
[./a_conv]
type = PrimaryConvection
variable = a
p = pressure
[../]
[./b_ie]
type = PrimaryTimeDerivative
variable = b
[../]
[./b_diff]
type = PrimaryDiffusion
variable = b
[../]
[./b_conv]
type = PrimaryConvection
variable = b
p = pressure
[../]
[./a1eq]
type = CoupledBEEquilibriumSub
variable = a
log_k = pa2_logk
weight = 2
sto_u = 2
[../]
[./a1diff]
type = CoupledDiffusionReactionSub
variable = a
log_k = pa2_logk
weight = 2
sto_u = 2
[../]
[./a1conv]
type = CoupledConvectionReactionSub
variable = a
log_k = pa2_logk
weight = 2
sto_u = 2
p = pressure
[../]
[./a2eq]
type = CoupledBEEquilibriumSub
variable = a
v = b
log_k = pab_logk
weight = 1
sto_v = 1
sto_u = 1
[../]
[./a2diff]
type = CoupledDiffusionReactionSub
variable = a
v = b
log_k = pab_logk
weight = 1
sto_v = 1
sto_u = 1
[../]
[./a2conv]
type = CoupledConvectionReactionSub
variable = a
v = b
log_k = pab_logk
weight = 1
sto_v = 1
sto_u = 1
p = pressure
[../]
[./b2eq]
type = CoupledBEEquilibriumSub
variable = b
v = a
log_k = pab_logk
weight = 1
sto_v = 1
sto_u = 1
[../]
[./b2diff]
type = CoupledDiffusionReactionSub
variable = b
v = a
log_k = pab_logk
weight = 1
sto_v = 1
sto_u = 1
[../]
[./b2conv]
type = CoupledConvectionReactionSub
variable = b
v = a
log_k = pab_logk
weight = 1
sto_v = 1
sto_u = 1
p = pressure
[../]
[]
[BCs]
[./a_left]
type = DirichletBC
variable = a
boundary = left
value = 1.0e-2
[../]
[./a_right]
type = ChemicalOutFlowBC
variable = a
boundary = right
[../]
[./b_left]
type = DirichletBC
variable = b
boundary = left
value = 1.0e-2
[../]
[./b_right]
type = ChemicalOutFlowBC
variable = b
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-4 1e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
nl_abs_tol = 1e-12
start_time = 0.0
end_time = 100
dt = 10.0
[]
[Outputs]
file_base = 2species_out
exodus = true
perf_graph = true
print_linear_residuals = true
hide = 'pa2_logk pab_logk'
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
modules/heat_conduction/test/tests/verify_against_analytical/ad_1D_transient.i
# This test solves a 1D transient heat equation
# The error is caclulated by comparing to the analytical solution
# The problem setup and analytical solution are taken from "Advanced Engineering
# Mathematics, 10th edition" by Erwin Kreyszig.
# http://www.amazon.com/Advanced-Engineering-Mathematics-Erwin-Kreyszig/dp/0470458364
# It is Example 1 in section 12.6 on page 561
[Mesh]
type = GeneratedMesh
dim = 1
nx = 160
xmax = 80
[]
[Variables]
[./T]
[../]
[]
[ICs]
[./T_IC]
type = FunctionIC
variable = T
function = '100*sin(pi*x/80)'
[../]
[]
[Kernels]
[./HeatDiff]
type = ADHeatConduction
variable = T
[../]
[./HeatTdot]
type = ADHeatConductionTimeDerivative
variable = T
[../]
[]
[BCs]
[./sides]
type = DirichletBC
variable = T
boundary = 'left right'
value = 0
[../]
[]
[Materials]
[./k]
type = GenericConstantMaterial
prop_names = 'thermal_conductivity'
prop_values = '0.95' #copper in cal/(cm sec C)
[../]
[./cp]
type = GenericConstantMaterial
prop_names = 'specific_heat'
prop_values = '0.092' #copper in cal/(g C)
[../]
[./rho]
type = GenericConstantMaterial
prop_names = 'density'
prop_values = '8.92' #copper in g/(cm^3)
[../]
[]
[Postprocessors]
[./error]
type = NodalL2Error
function = '100*sin(pi*x/80)*exp(-0.95/(0.092*8.92)*pi^2/80^2*t)'
variable = T
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
l_tol = 1e-6
dt = 2
end_time = 100
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/newton_cooling/nc02.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1000
ny = 1
xmin = 0
xmax = 100
ymin = 0
ymax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 1.0E6
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGnone]
type = RichardsSUPGnone
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Functions]
active = 'initial_pressure'
[./initial_pressure]
type = ParsedFunction
value = 2000000-x*1000000/100
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = pressure
boundary = left
value = 2E6
[../]
[./newton]
type = RichardsPiecewiseLinearSink
variable = pressure
boundary = right
pressures = '0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000 1100000 1200000 1300000 1400000 1500000 1600000 1700000 1800000 1900000 2000000'
bare_fluxes = '0. 5.6677197748570516e-6 0.000011931518841831313 0.00001885408740732065 0.000026504708864284114 0.000034959953203725676 0.000044304443352900224 0.00005463170211001232 0.00006604508815181467 0.00007865883048198513 0.00009259917167338928 0.00010800563134618119 0.00012503240252705603 0.00014384989486488752 0.00016464644014777016 0.00018763017719085535 0.0002130311349595711 0.00024110353477682344 0.00027212833465544285 0.00030641604122040985 0.00034430981736352295'
use_mobility = false
use_relperm = false
[../]
[]
[Kernels]
active = 'richardsf'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-15'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGnone
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-15 10000'
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
execute_on = 'timestep_end'
file_base = nc02
exodus = true
[]
test/tests/mesh_modifiers/mesh_side_set/test.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 4
ny = 4
nz = 4
elem_type = TET4
[]
[MeshModifiers]
[./left_block]
type = SubdomainBoundingBox
block_id = 1
block_name = left_block
bottom_left = '0 0 0'
top_right = '0.5 1 1'
[../]
[./right_block]
type = SubdomainBoundingBox
block_id = 2
block_name = right_block
bottom_left = '0.5 0 0'
top_right = '1 1 1'
[../]
[./center_side_set]
type = SideSetsBetweenSubdomains
master_block = left_block
paired_block = right_block
new_boundary = center_side_set
depends_on = 'left_block right_block'
[../]
[./center_mesh]
type = MeshSideSet
boundaries = center_side_set
block_id = 10
block_name = center_mesh
depends_on = 'center_side_set'
[../]
[]
[Variables]
[./c_volume]
[./InitialCondition]
type = FunctionIC
function = '1-(x-0.5)^2+(y-0.5)^2+(z-0.5)^2'
[../]
[../]
[./c_plane]
block = 'center_mesh'
[../]
[]
[Kernels]
[./volume_diff]
type = Diffusion
variable = c_volume
block = 'left_block right_block'
[../]
[./volume_dt]
type = TimeDerivative
variable = c_volume
block = 'left_block right_block'
[../]
# couple the lower dimensional variable to the volume variable
[./plane_reaction]
type = Reaction
variable = c_plane
block = 'center_mesh'
[../]
[./plane_coupled]
type = CoupledForce
variable = c_plane
v = c_volume
block = 'center_mesh'
[../]
[]
[Executioner]
type = Transient
dt = 0.01
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/chemical_reactions/test/tests/aqueous_equilibrium/1species.i
# Simple equilibrium reaction example to illustrate the use of the AqueousEquilibriumReactions
# action.
# In this example, a single primary species a is transported by diffusion and convection
# from the left of the porous medium, reacting to form an equilibrium species pa2 according to
# the equilibrium reaction specified in the AqueousEquilibriumReactions block as:
#
# reactions = '2a = pa2 1'
#
# where the 2 is the weight of the equilibrium species, and the 1 refers to the equilibrium
# constant (log10(Keq) = 1).
#
# The AqueousEquilibriumReactions action creates all the required kernels and auxkernels
# to compute the reaction given by the above equilibrium reaction equation.
#
# Specifically, it adds to following:
# * An AuxVariable named 'pa2' (given in the reactions equations)
# * A AqueousEquilibriumRxnAux AuxKernel for this AuxVariable with all parameters
# * A CoupledBEEquilibriumSub Kernel for each primary species with all parameters
# * A CoupledDiffusionReactionSub Kernel for each primary species with all parameters
# * A CoupledConvectionReactionSub Kernel for each primary species with all parameters if
# pressure is a coupled variable
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
[]
[Variables]
[./a]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1e-2
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
variable = a
[../]
[../]
[]
[AuxVariables]
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[ReactionNetwork]
[./AqueousEquilibriumReactions]
primary_species = a
reactions = '2a = pa2 1'
secondary_species = pa2
pressure = pressure
[../]
[]
[Kernels]
[./a_ie]
type = PrimaryTimeDerivative
variable = a
[../]
[./a_diff]
type = PrimaryDiffusion
variable = a
[../]
[./a_conv]
type = PrimaryConvection
variable = a
p = pressure
[../]
[]
[BCs]
[./a_right]
type = ChemicalOutFlowBC
variable = a
boundary = right
[../]
[]
[Materials]
[./porous]
type = GenericConstantMaterial
prop_names = 'diffusivity conductivity porosity'
prop_values = '1e-4 1e-4 0.2'
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
nl_abs_tol = 1e-12
start_time = 0.0
end_time = 100
dt = 10.0
[]
[Outputs]
file_base = 1species_out
exodus = true
perf_graph = true
print_linear_residuals = true
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
test/tests/kernels/ad_mat_diffusion/ad_1D_transient.i
# This test solves a 1D transient heat equation
# The error is caclulated by comparing to the analytical solution
# The problem setup and analytical solution are taken from "Advanced Engineering
# Mathematics, 10th edition" by Erwin Kreyszig.
# http://www.amazon.com/Advanced-Engineering-Mathematics-Erwin-Kreyszig/dp/0470458364
# It is Example 1 in section 12.6 on page 561
[Mesh]
type = GeneratedMesh
dim = 1
nx = 160
xmax = 80
[]
[Variables]
[./T]
[../]
[]
[ICs]
[./T_IC]
type = FunctionIC
variable = T
function = '100*sin(pi*x/80)'
[../]
[]
[Kernels]
[./diff]
type = ADMatDiffusion
variable = T
diffusivity = diffusivity
[../]
[./dt]
type = CoefTimeDerivative
variable = T
Coefficient = 0.82064
[../]
[]
[BCs]
[./sides]
type = DirichletBC
variable = T
boundary = 'left right'
value = 0
[../]
[]
[Materials]
[./k]
type = GenericConstantMaterial
prop_names = 'diffusivity'
prop_values = '0.95'
[../]
[]
[Executioner]
type = Transient
dt = 1e-2
end_time = 1
[]
[Postprocessors]
[./error]
type = NodalL2Error
function = '100*sin(pi*x/80)*exp(-0.95/(0.092*8.92)*pi^2/80^2*t)'
variable = T
outputs = console
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/multiphase_mechanics/multiphasestress.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
xmin = 0
xmax = 2
ymin = 0
ymax = 2
elem_type = QUAD4
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./eta1]
[./InitialCondition]
type = FunctionIC
function = 'x/2'
[../]
[../]
[./eta2]
[./InitialCondition]
type = FunctionIC
function = 'y/2'
[../]
[../]
[./eta3]
[./InitialCondition]
type = FunctionIC
function = '(2^0.5-(y-1)^2=(y-1)^2)/2'
[../]
[../]
[./e11_aux]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./matl_e11]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = e11_aux
[../]
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[Materials]
[./elasticity_tensor_A]
type = ComputeElasticityTensor
base_name = A
fill_method = symmetric9
C_ijkl = '1e6 1e5 1e5 1e6 0 1e6 .4e6 .2e6 .5e6'
[../]
[./strain_A]
type = ComputeSmallStrain
base_name = A
eigenstrain_names = eigenstrain
[../]
[./stress_A]
type = ComputeLinearElasticStress
base_name = A
[../]
[./eigenstrain_A]
type = ComputeEigenstrain
base_name = A
eigen_base = '0.1 0.05 0 0 0 0.01'
prefactor = -1
eigenstrain_name = eigenstrain
[../]
[./elasticity_tensor_B]
type = ComputeElasticityTensor
base_name = B
fill_method = symmetric9
C_ijkl = '1e6 0 0 1e6 0 1e6 .5e6 .5e6 .5e6'
[../]
[./strain_B]
type = ComputeSmallStrain
base_name = B
eigenstrain_names = 'B_eigenstrain'
[../]
[./stress_B]
type = ComputeLinearElasticStress
base_name = B
[../]
[./eigenstrain_B]
type = ComputeEigenstrain
base_name = B
eigen_base = '0.1 0.05 0 0 0 0.01'
prefactor = -1
eigenstrain_name = 'B_eigenstrain'
[../]
[./elasticity_tensor_C]
type = ComputeElasticityTensor
base_name = C
fill_method = symmetric9
C_ijkl = '1.1e6 1e5 0 1e6 0 1e6 .5e6 .2e6 .5e6'
[../]
[./strain_C]
type = ComputeSmallStrain
base_name = C
eigenstrain_names = 'C_eigenstrain'
[../]
[./stress_C]
type = ComputeLinearElasticStress
base_name = C
[../]
[./eigenstrain_C]
type = ComputeEigenstrain
base_name = C
eigen_base = '0.1 0.05 0 0 0 0.01'
prefactor = -1
eigenstrain_name = 'C_eigenstrain'
[../]
[./switching_A]
type = SwitchingFunctionMaterial
function_name = h1
eta = eta1
[../]
[./switching_B]
type = SwitchingFunctionMaterial
function_name = h2
eta = eta2
[../]
[./switching_C]
type = SwitchingFunctionMaterial
function_name = h3
eta = eta3
[../]
[./combined]
type = MultiPhaseStressMaterial
phase_base = 'A B C'
h = 'h1 h2 h3'
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = 'bottom'
value = 0
[../]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 'left'
value = 0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
modules/porous_flow/test/tests/capillary_pressure/vangenuchten1.i
# Test van Genuchten relative permeability curve by varying saturation over the mesh
# van Genuchten exponent m = 0.5 for both phases
# No residual saturation in either phase
[Mesh]
type = GeneratedMesh
dim = 1
nx = 500
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./p0]
type = PorousFlowPropertyAux
property = pressure
phase = 0
variable = p0aux
[../]
[./p1]
type = PorousFlowPropertyAux
property = pressure
phase = 1
variable = p1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
alpha = 1e-5
m = 0.5
sat_lr = 0.1
log_extension = false
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityVG
phase = 0
m = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux p0aux p1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 500
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-6
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/executioners/nullspace/singular_contaminated.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 10
nx = 8
[]
[Problem]
null_space_dimension = 1
transpose_null_space_dimension = 1
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./eig]
type = MassEigenKernel
variable = u
eigen_postprocessor = 1.0002920196258376e+01
eigen = false
[../]
[./force]
type = CoupledForce
variable = u
v = aux_v
[../]
[]
[AuxVariables]
[./aux_v]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = eigen_mode
[../]
[../]
[]
[AuxKernels]
[./set_source]
type = FunctionAux
variable = aux_v
function = contaminated_second_harmonic
execute_on = timestep_begin
[../]
[]
[Functions]
[./eigen_mode]
type = ParsedFunction
value = 'sqrt(2.0 / L) * sin(mode * pi * x / L)'
vars = 'L mode'
vals = '10 1'
[../]
[./contaminated_second_harmonic]
type = ParsedFunction
value = 'sqrt(2.0 / L) * sin(mode * pi * x / L) + a * sqrt(2.0 / L) * sin(pi * x / L)'
vars = 'L mode a'
vals = '10 2 1'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1'
value = 0
[../]
[]
[VectorPostprocessors]
[./sample_solution]
type = LineValueSampler
variable = u
start_point = '0 0 0'
end_point = '10 0 0'
sort_by = x
num_points = 9
execute_on = timestep_end
[../]
[]
[Preconditioning]
[./prec]
type = SMP
full = true
[../]
[]
[Executioner]
type = SteadyWithNull
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_pc_side -snes_type -ksp_norm_type'
petsc_options_value = 'hypre boomeramg left ksponly preconditioned'
nl_rel_tol = 1.0e-14
nl_abs_tol = 1.0e-14
[]
[Outputs]
execute_on = 'timestep_end'
csv = true
[]
modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv_action.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 5
xmax = 10
ymax = 10
[]
[GlobalParams]
displacements = 'disp_x disp_y'
displacement_gradients = 'gxx gxy gyx gyy'
[]
[Modules]
[./PhaseField]
[./DisplacementGradients]
[../]
[../]
[]
[AuxVariables]
[./disp_x]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(2*x/10*3.14159265359)'
[../]
[../]
[./disp_y]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(1*y/10*3.14159265359)'
[../]
[../]
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
initial_condition = 0
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = c
[../]
[./bulk]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./int]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa_c
[../]
[]
[BCs]
[./Periodic]
[./All]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1 0.1'
[../]
[./elasticity_tensor]
type = ComputeConcentrationDependentElasticityTensor
c = c
C0_ijkl = '1.0 1.0'
C1_ijkl = '3.0 3.0'
fill_method0 = symmetric_isotropic
fill_method1 = symmetric_isotropic
[../]
[./smallstrain]
type = ComputeSmallStrain
[../]
[./linearelastic_a]
type = ComputeLinearElasticStress
[../]
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = F
args = 'c'
derivative_order = 3
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = NEWTON
l_max_its = 30
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-7
nl_abs_tol = 1.0e-10
num_steps = 2
dt = 1
[]
[Outputs]
perf_graph = true
file_base = nonsplit_gradderiv_out
exodus = true
[]
modules/porous_flow/test/tests/relperm/brooks_corey2.i
# Test Brooks-Corey relative permeability curve by varying saturation over the mesh
# Exponent lambda = 2 for both phases
# Residual saturation of phase 0: s0r = 0.2
# Residual saturation of phase 1: s1r = 0.3
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityBC
phase = 0
lambda = 2
s_res = 0.2
sum_s_res = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityBC
phase = 1
lambda = 2
nw_phase = true
s_res = 0.3
sum_s_res = 0.5
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-8
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/dirackernels/pls03.i
# Test that the upwinding works correctly.
#
# A poly-line sink sits at the centre of the element.
# It has length=4 and weight=0.5, and extracts fluid
# at a constant rate of
# (1 * relative_permeability) kg.m^-1.s^-1
# Since it sits at the centre of the element, it extracts
# equally from each node, so the rate of extraction from
# each node is
# (0.5 * relative_permeability) kg.s^-1
# including the length and weight effects.
#
# There is no fluid flow.
#
# The initial conditions are such that all nodes have
# relative_permeability=0, except for one which has
# relative_permeaility = 1. Therefore, all nodes should
# remain at their initial porepressure, except the one.
#
# The porosity is 0.1, and the elemental volume is 2,
# so the fluid mass at the node in question = 0.2 * density / 4,
# where the 4 is the number of nodes in the element.
# In this simulation density = dens0 * exp(P / bulk), with
# dens0 = 100, and bulk = 20 MPa.
# The initial porepressure P0 = 10 MPa, so the final (after
# 1 second of simulation) is
# P(t=1) = 8.748592 MPa
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 2
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
#function = if((x<1)&(y<0.5),1E7,-1E7)
function = if((x<1)&(y>0.5),1E7,-1E7)
#function = if((x>1)&(y<0.5),1E7,-1E7)
#function = if((x>1)&(y>0.5),1E7,-1E7)
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pls_total_outflow_mass]
type = PorousFlowSumQuantity
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1e-7
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e7
density0 = 100
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./relperm]
type = PorousFlowRelativePermeabilityFLAC
phase = 0
m = 2
s_res = 0.99
sum_s_res = 0.99
[../]
[]
[DiracKernels]
[./pls]
type = PorousFlowPolyLineSink
fluid_phase = 0
point_file = pls03.bh
use_relative_permeability = true
line_length = 4
SumQuantityUO = pls_total_outflow_mass
variable = pp
p_or_t_vals = '0 1E7'
fluxes = '1 1'
[../]
[]
[Postprocessors]
[./pls_report]
type = PorousFlowPlotQuantity
uo = pls_total_outflow_mass
[../]
[./fluid_mass0]
type = PorousFlowFluidMass
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = PorousFlowFluidMass
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p00]
type = PointValue
variable = pp
point = '0 0 0'
execute_on = timestep_end
[../]
[./p01]
type = PointValue
variable = pp
point = '0 1 0'
execute_on = timestep_end
[../]
[./p20]
type = PointValue
variable = pp
point = '2 0 0'
execute_on = timestep_end
[../]
[./p21]
type = PointValue
variable = pp
point = '2 1 0'
execute_on = timestep_end
[../]
[]
[Functions]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 pls_report'
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 1
dt = 1
solve_type = NEWTON
[]
[Outputs]
file_base = pls03
exodus = false
csv = true
execute_on = timestep_end
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-linear.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 200
elem_type = EDGE2
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
num_steps = 20
dt = 0.00005
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/porous_flow/test/tests/sinks/s04.i
# apply a piecewise-linear sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[./pt_shift]
initial_condition = 0.3
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass10]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p10 1.3'
[../]
[./rate10]
type = ParsedFunction
value = 'fcn*if(pp>0.8,1,if(pp<0.3,0.5,0.2+pp))'
vars = 'fcn pp'
vals = '8 p10'
[../]
[./mass10_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm10_prev m10_rate 0.5 1E-3'
[../]
[./mass11]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p11 1.3'
[../]
[./rate11]
type = ParsedFunction
value = 'fcn*if(pp>0.8,1,if(pp<0.3,0.5,0.2+pp))'
vars = 'fcn pp'
vals = '8 p11'
[../]
[./mass11_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm11_prev m11_rate 0.5 1E-3'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m10]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'initial timestep_end'
[../]
[./m10_prev]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m10_rate]
type = FunctionValuePostprocessor
function = rate10
execute_on = 'timestep_end'
[../]
[./m10_expect]
type = FunctionValuePostprocessor
function = mass10_expect
execute_on = 'timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m11]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'initial timestep_end'
[../]
[./m11_prev]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m11_rate]
type = FunctionValuePostprocessor
function = rate11
execute_on = 'timestep_end'
[../]
[./m11_expect]
type = FunctionValuePostprocessor
function = mass11_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
PT_shift = pt_shift
pt_vals = '0.0 0.5'
multipliers = '0.5 1'
variable = pp
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 8
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 1E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s04
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
[../]
[]
modules/rdg/test/tests/advection_1d/rdgP0.i
# This test demonstrates the advection of a tracer in 1D using the RDG module.
# There is no slope limiting. Changing the SlopeLimiting scheme to minmod, mc,
# or superbee means that a linear reconstruction is performed, and the slope
# limited according to the scheme chosen. Doing this produces RDG(P0P1) and
# substantially reduces numerical diffusion
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[Variables]
[./tracer]
order = CONSTANT
family = MONOMIAL
[../]
[]
[ICs]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[UserObjects]
[./lslope]
type = AEFVSlopeLimitingOneD
execute_on = 'linear'
scheme = 'none' #none | minmod | mc | superbee
u = tracer
[../]
[./internal_side_flux]
type = AEFVUpwindInternalSideFlux
execute_on = 'linear'
velocity = 0.1
[../]
[./free_outflow_bc]
type = AEFVFreeOutflowBoundaryFlux
execute_on = 'linear'
velocity = 0.1
[../]
[]
[Kernels]
[./dot]
type = TimeDerivative
variable = tracer
[../]
[]
[DGKernels]
[./concentration]
type = AEFVKernel
variable = tracer
component = 'concentration'
flux = internal_side_flux
u = tracer
[../]
[]
[BCs]
[./concentration]
type = AEFVBC
boundary = 'left right'
variable = tracer
component = 'concentration'
flux = free_outflow_bc
u = tracer
[../]
[]
[Materials]
[./aefv]
type = AEFVMaterial
slope_limiting = lslope
u = tracer
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
end_time = 6
dt = 6E-1
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
#exodus = true
csv = true
execute_on = final
[]
modules/combined/test/tests/DiffuseCreep/stress.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 50
ny = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);0.1+0.1*v'
[../]
[../]
[./mu]
[../]
[./jx]
[../]
[./jy]
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./gb]
family = LAGRANGE
order = FIRST
[../]
[./creep_strain_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./creep_strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./creep_strain_xy]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_xx]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_xy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./conc]
type = CHSplitConcentration
variable = c
mobility = mobility_prop
chemical_potential_var = mu
[../]
[./chempot]
type = CHSplitChemicalPotential
variable = mu
chemical_potential_prop = mu_prop
c = c
[../]
[./flux_x]
type = CHSplitFlux
variable = jx
component = 0
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./flux_y]
type = CHSplitFlux
variable = jy
component = 1
mobility_name = mobility_prop
mu = mu
c = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[./TensorMechanics]
displacements = 'disp_x disp_y'
[../]
[]
[AuxKernels]
[./gb]
type = FunctionAux
variable = gb
function = 'x0:=5.0;thk:=0.5;m:=2;r:=abs(x-x0);v:=exp(-(r/thk)^m);v'
[../]
[./creep_strain_xx]
type = RankTwoAux
variable = creep_strain_xx
rank_two_tensor = creep_strain
index_i = 0
index_j = 0
[../]
[./creep_strain_yy]
type = RankTwoAux
variable = creep_strain_yy
rank_two_tensor = creep_strain
index_i = 1
index_j = 1
[../]
[./creep_strain_xy]
type = RankTwoAux
variable = creep_strain_xy
rank_two_tensor = creep_strain
index_i = 0
index_j = 1
[../]
[./stress_xx]
type = RankTwoAux
variable = stress_xx
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
variable = stress_yy
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./stress_xy]
type = RankTwoAux
variable = stress_xy
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[]
[Materials]
[./chemical_potential]
type = DerivativeParsedMaterial
block = 0
f_name = mu_prop
args = c
function = 'c'
derivative_order = 1
[../]
[./var_dependence]
type = DerivativeParsedMaterial
block = 0
function = 'c*(1.0-c)'
args = c
f_name = var_dep
derivative_order = 1
[../]
[./mobility]
type = CompositeMobilityTensor
block = 0
M_name = mobility_prop
tensors = diffusivity
weights = var_dep
args = c
[../]
[./phase_normal]
type = PhaseNormalTensor
phase = gb
normal_tensor_name = gb_normal
[../]
[./aniso_tensor]
type = GBDependentAnisotropicTensor
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = aniso_tensor
[../]
[./diffusivity]
type = GBDependentDiffusivity
gb = gb
bulk_parameter = 0.1
gb_parameter = 1
gb_normal_tensor_name = gb_normal
gb_tensor_prop_name = diffusivity
[../]
[./diffuse_strain_increment]
type = FluxBasedStrainIncrement
xflux = jx
yflux = jy
gb = gb
property_name = diffuse
[../]
[./diffuse_creep_strain]
type = SumTensorIncrements
tensor_name = creep_strain
coupled_tensor_increment_names = diffuse
[../]
[./strain]
type = ComputeIncrementalSmallStrain
displacements = 'disp_x disp_y'
[../]
[./stress]
type = ComputeStrainIncrementBasedStress
inelastic_strain_names = creep_strain
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[]
[BCs]
[./Periodic]
[./cbc]
auto_direction = 'x y'
variable = c
[../]
[../]
[./fix_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[./fix_y]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_grmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-10
nl_max_its = 5
l_tol = 1e-4
l_max_its = 20
dt = 1
num_steps = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/jacobian/basic_advection1.i
# Basic advection with no PorousFlow variables
[Mesh]
type = GeneratedMesh
dim = 1
nx = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./P]
[../]
[]
[ICs]
[./P]
type = FunctionIC
variable = P
function = '2*(1-x)'
[../]
[./u]
type = RandomIC
variable = u
[../]
[]
[Kernels]
[./u_advection]
type = PorousFlowBasicAdvection
variable = u
phase = 0
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = ''
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 4
thermal_expansion = 0
viscosity = 150.0
[../]
[../]
[]
[Materials]
[./temperature_qp]
type = PorousFlowTemperature
[../]
[./ppss_qp]
type = PorousFlow1PhaseP
porepressure = P
capillary_pressure = pc
[../]
[./simple_fluid_qp]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '5 0 0 0 5 0 0 0 5'
[../]
[./relperm_qp]
type = PorousFlowRelativePermeabilityCorey
n = 0
phase = 0
[../]
[./darcy_velocity_qp]
type = PorousFlowDarcyVelocityMaterial
gravity = '0.25 0 0'
[../]
[]
[Preconditioning]
[./check]
type = SMP
full = true
#petsc_options = '-snes_test_display'
petsc_options_iname = '-snes_type'
petsc_options_value = ' test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1
[]
test/tests/functions/image_function/image_2d_elemental.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
# file range is parsed as a vector of unsigned. If it only has 1
# entry, only a single file is read.
file_range = '0'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/dirac/bh_fu_05.i
# unsaturated
# injection
# fullyupwind
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '500 500 1E1'
x = '4000 5000 6500'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh03.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = -1
fully_upwind = true
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = -2E5
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 6500
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh_fu_05
exodus = false
csv = true
execute_on = timestep_end
[]
test/tests/nodalkernels/constraint_enforcement/vi-bounding.i
l=10
nx=100
num_steps=10
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[bounds][]
[]
[Bounds]
[bounds]
type = BoundsAux
variable = bounds
bounded_variable = u
upper = ${l}
lower = 0
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type -snes_type'
petsc_options_value = '0 30 asm 16 basic vinewtonrsls'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
test/tests/ics/function_ic/parsed_function.i
#
# Test the automatically generated gradients in ParsedFunction and the gradient pass-through in FunctionIC
# OLD MOOSE behavior was for parsed_function to behave the sam eas parsed_zerograd_function
# NEW MOOSE behavior is for parsed_function to behave the same as parsed_grad_function
#
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 3.141
ymin = 0
ymax = 3.141
nx = 10
ny = 10
[]
[Variables]
[./u]
order = THIRD
family = HERMITE
[../]
[]
[Functions]
[./parsed_function]
type = ParsedFunction
value = 'sin(x)-cos(y/2)'
[../]
[./parsed_grad_function]
type =ParsedGradFunction
value = 'sin(x)-cos(y/2)'
grad_x = 'cos(x)'
grad_y = 'sin(y/2)/2'
[../]
[./parsed_zerograd_function]
type = ParsedGradFunction
value = 'sin(x)-cos(y/2)'
grad_x = '0'
grad_y = '0'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
variable = 'u'
function = parsed_function
[../]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
file_base = parsed
[./OverSampling]
type = Exodus
refinements = 3
[../]
[]
modules/porous_flow/test/tests/sinks/s08.i
# apply a sink flux on just one component of a 3-component, 2-phase system and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pwater frac_ph0_c0 pgas'
number_fluid_phases = 2
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pwater]
[../]
[./frac_ph0_c0]
initial_condition = 0.3
[../]
[./pgas]
[../]
[]
[ICs]
[./pwater]
type = FunctionIC
variable = pwater
function = y
[../]
[./pgas]
type = FunctionIC
variable = pgas
function = y+3
[../]
[]
[Kernels]
[./mass_c0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac_ph0_c0
[../]
[./mass_c1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = pwater
[../]
[./mass_c2]
type = PorousFlowMassTimeDerivative
fluid_component = 2
variable = pgas
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 2.3
density0 = 1.5
thermal_expansion = 0
viscosity = 2.1
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePP
phase0_porepressure = pwater
phase1_porepressure = pgas
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'frac_ph0_c0 frac_ph0_c1 frac_ph1_c0 frac_ph1_c1'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 1
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 1
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./frac_ph0_c1]
initial_condition = 0.35
[../]
[./frac_ph1_c0]
initial_condition = 0.1
[../]
[./frac_ph1_c1]
initial_condition = 0.8
[../]
[]
[Functions]
[./mass1_00]
type = ParsedFunction
value = 'fgas*vol*por*dens0gas*exp(pgas/bulkgas)*(1-pow(1+pow(al*(pgas-pwater),1.0/(1-m)),-m))+fwater*vol*por*dens0water*exp(pwater/bulkwater)*(pow(1+pow(al*(pgas-pwater),1.0/(1-m)),-m))'
vars = 'vol por dens0gas pgas pwater bulkgas al m dens0water bulkwater fgas fwater'
vals = '0.25 0.1 1.1 pgas_00 pwater_00 1.3 1.1 0.5 1.5 2.3 frac_ph1_c1_00 frac_ph0_c1_00'
[../]
[./expected_mass_change1_00]
type = ParsedFunction
value = 'frac*fcn*area*dt*pow(1-pow(1+pow(al*(pgas-pwater),1.0/(1-m)),-m), 2)'
vars = 'frac fcn area dt pgas pwater al m'
vals = 'frac_ph1_c1_00 100 0.5 1E-3 pgas_00 pwater_00 1.1 0.5'
[../]
[./mass1_00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm1_00_prev del_m1_00'
[../]
[]
[Postprocessors]
[./total_mass_comp0]
type = PorousFlowFluidMass
fluid_component = 0
[../]
[./total_mass_comp1]
type = PorousFlowFluidMass
fluid_component = 1
[../]
[./total_mass_comp2]
type = PorousFlowFluidMass
fluid_component = 2
[../]
[./frac_ph1_c1_00]
type = PointValue
point = '0 0 0'
variable = frac_ph1_c1
execute_on = 'initial timestep_end'
[../]
[./frac_ph0_c1_00]
type = PointValue
point = '0 0 0'
variable = frac_ph0_c1
execute_on = 'initial timestep_end'
[../]
[./flux_00]
type = PointValue
point = '0 0 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./pgas_00]
type = PointValue
point = '0 0 0'
variable = pgas
execute_on = 'initial timestep_end'
[../]
[./pwater_00]
type = PointValue
point = '0 0 0'
variable = pwater
execute_on = 'initial timestep_end'
[../]
[./m1_00]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'initial timestep_end'
[../]
[./m1_00_prev]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m1_00]
type = FunctionValuePostprocessor
function = expected_mass_change1_00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m1_00_expect]
type = FunctionValuePostprocessor
function = mass1_00_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux_ph1_c1]
type = PorousFlowSink
boundary = 'left'
variable = pwater # sink applied to the mass_c1 Kernel
use_mobility = false
use_relperm = true
mass_fraction_component = 1
fluid_phase = 1
flux_function = 100
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 100 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.01
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s08
exodus = true
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
[../]
[]
modules/richards/test/tests/dirac/bh03.i
# fully-saturated
# injection
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 1E7
point_file = bh03.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = -1
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 0
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 0.5
dt = 1E-2
solve_type = NEWTON
[]
[Outputs]
file_base = bh03
exodus = false
csv = true
execute_on = timestep_end
[]
modules/porous_flow/examples/tidal/atm_tides_open_hole.i
# A 100m x 10m "slab" of height 100m is subjected to cyclic pressure at its top
# Assumptions:
# the boundaries are impermeable, except the top boundary
# only vertical displacement is allowed
# the atmospheric pressure sets the total stress at the top of the model
# at the slab left-hand side there is a borehole that taps into the base of the slab.
[Mesh]
[./the_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 1
nz = 10
xmin = 0
xmax = 100
ymin = -5
ymax = 5
zmin = -100
zmax = 0
[../]
[./bh_back]
type = ExtraNodesetGenerator
coord = '0 -5 -100'
input = the_mesh
new_boundary = 11
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
PorousFlowDictator = dictator
block = 0
biot_coefficient = 0.6
multiply_by_density = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./porepressure]
scaling = 1E11
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '-10000*z' # this is only approximately correct
[../]
[]
[Functions]
[./ini_stress_zz]
type = ParsedFunction
value = '(25000 - 0.6*10000)*z' # remember this is effective stress
[../]
[./cyclic_porepressure]
type = ParsedFunction
value = 'if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[./cyclic_porepressure_at_depth]
type = ParsedFunction
value = '-10000*z + if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[./neg_cyclic_porepressure]
type = ParsedFunction
value = '-if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[]
[BCs]
# zmin is called 'back'
# zmax is called 'front'
# ymin is called 'bottom'
# ymax is called 'top'
# xmin is called 'left'
# xmax is called 'right'
[./no_x_disp]
type = DirichletBC
variable = disp_x
value = 0
boundary = 'bottom top' # because of 1-element meshing, this fixes u_x=0 everywhere
[../]
[./no_y_disp]
type = DirichletBC
variable = disp_y
value = 0
boundary = 'bottom top' # because of 1-element meshing, this fixes u_y=0 everywhere
[../]
[./no_z_disp_at_bottom]
type = DirichletBC
variable = disp_z
value = 0
boundary = back
[../]
[./pp]
type = FunctionDirichletBC
variable = porepressure
function = cyclic_porepressure
boundary = front
[../]
[./pp_downhole]
type = FunctionDirichletBC
variable = porepressure
function = cyclic_porepressure_at_depth
boundary = 11
[../]
[./total_stress_at_top]
type = FunctionNeumannBC
variable = disp_z
function = neg_cyclic_porepressure
boundary = front
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
thermal_expansion = 0.0
bulk_modulus = 2E9
viscosity = 1E-3
density0 = 1000.0
[../]
[../]
[]
[PorousFlowBasicTHM]
coupling_type = HydroMechanical
displacements = 'disp_x disp_y disp_z'
porepressure = porepressure
gravity = '0 0 -10'
fp = the_simple_fluid
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
bulk_modulus = 10.0E9 # drained bulk modulus
poissons_ratio = 0.25
[../]
[./strain]
type = ComputeSmallStrain
eigenstrain_names = ini_stress
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '0 0 0 0 0 0 0 0 ini_stress_zz'
eigenstrain_name = ini_stress
[../]
[./porosity]
type = PorousFlowPorosityConst # only the initial value of this is ever used
porosity = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
solid_bulk_compliance = 1E-10
fluid_bulk_modulus = 2E9
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-14 0 0 0 1E-14 0 0 0 1E-14'
[../]
[./density]
type = GenericConstantMaterial
prop_names = density
prop_values = 2500.0
[../]
[]
[Postprocessors]
[./p0_0]
type = PointValue
outputs = csv
point = '0 0 0'
variable = porepressure
[../]
[./p100_0]
type = PointValue
outputs = csv
point = '100 0 0'
variable = porepressure
[../]
[./p0_100]
type = PointValue
outputs = csv
point = '0 0 -100'
variable = porepressure
[../]
[./p100_100]
type = PointValue
outputs = csv
point = '100 0 -100'
variable = porepressure
[../]
[./uz0]
type = PointValue
outputs = csv
point = '0 0 0'
variable = disp_z
[../]
[./uz100]
type = PointValue
outputs = csv
point = '100 0 0'
variable = disp_z
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
start_time = -3600
dt = 3600
end_time = 172800
nl_rel_tol = 1E-10
nl_abs_tol = 1E-5
[]
[Outputs]
print_linear_residuals = false
csv = true
[]
modules/richards/test/tests/sinks/s03.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.5
al = 1
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.2
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 0.1
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[AuxVariables]
[./seff]
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 2
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-lfout-rfout-mf)/2/(mi+mf))
vars = 'mi mf lfout rfout'
vals = 'mass_init mass_fin left_flux_out right_flux_out'
[../]
[]
[Postprocessors]
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./mass_fin]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./left_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = left
variable = pressure
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
use_mobility = true
use_relperm = true
[../]
[./right_flux_out]
type = RichardsPiecewiseLinearSinkFlux
boundary = right
variable = pressure
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
use_mobility = true
use_relperm = true
[../]
[./p0]
type = PointValue
point = '0 0 0'
variable = pressure
[../]
[./s0]
type = PointValue
point = '0 0 0'
variable = seff
[../]
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
[BCs]
[./left_flux]
type = RichardsPiecewiseLinearSink
boundary = left
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
variable = pressure
use_mobility = true
use_relperm = true
[../]
[./right_flux]
type = RichardsPiecewiseLinearSink
boundary = right
pressures = '-1 1'
bare_fluxes = '1E2 2E2'
variable = pressure
use_mobility = true
use_relperm = true
[../]
[]
[Kernels]
active = 'richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[]
[AuxKernels]
[./seff_auxk]
type = RichardsSeffAux
variable = seff
seff_UO = SeffVG
pressure_vars = 'pressure'
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 2.1E-5 2.2E-5 2.1E-5 0.1E-5 3.3E-5 2.2E-5 3.3E-5 2E-5'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 0.2
[]
[Outputs]
file_base = s03
csv = true
execute_on = timestep_end
[]
modules/combined/doc/richards/user/excav/ex01.i
###########################################
# #
# THIS EXAMPLE CONTAINS AN EXCAVATION #
# #
###########################################
# Easiest way of figuring out what's happening:
# Run this example, load into paraview, take
# a slice through (0,0,0) with normal (0,0,1),
# colour by pressure and play the animation.
# This mesh has an interior sideset called excav_bdy
[Mesh]
type = FileMesh
file = ex01_input.e
[]
# This is a boundary condition acting on excav_bdy
# All it does is to set the pressure to p_excav=0
# at places on excav_bdy wherever excav_fcn tells it to.
[BCs]
[./excav_bdy]
type = RichardsExcav
boundary = excav_bdy
p_excav = 0.0
variable = pressure
excav_geom_function = excav_fcn
[../]
[]
[Functions]
# excav_fcn controls where to set pressure=p_excav
# You supply start and end positions and times and
# by a linear interpolation these define the position
# of the coal face at all times
[./excav_fcn]
type = RichardsExcavGeom
start_posn = '0 -500 0'
start_time = 0
end_posn = '0 500 0'
end_time = 3E7
[../]
# mass_bal_fcn calculates the mass balance
[./mass_bal_fcn]
type = ParsedFunction
value = abs((mi-fout-mf)/2/(mi+mf))
vars = 'mi mf fout'
vals = 'mass_init mass_final flux_out'
[../]
# initial pressure - unimportant in this example
[./initial_pressure]
type = ParsedFunction
value = -10000*(z-100)
[../]
[]
# following is needed by postprocessors, kernels, etc
# unimportant in this example
[GlobalParams]
porepressureNames_UO = PPNames
[]
# following does the calculation of relevant
# masses and mass-flux to the excavation
[Postprocessors]
# note that this is calculated at beginning of timestep
[./mass_init]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
# note this is calculated at end of timestep
[./mass_final]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
# this is what calculates the mass flux to the excavation
# it is calculating it for boundary=excav_bdy, and the
# excavation time-dependence is set through the excav_fcn
[./flux_out]
type = RichardsExcavFlow
boundary = excav_bdy
variable = pressure
excav_geom_function = excav_fcn
[../]
# mass_bal just outputs the result to screen
[./mass_bal]
type = FunctionValuePostprocessor
function = mass_bal_fcn
[../]
[]
######################################
# #
# THE FOLLOWING STUFF IS STANDARD #
# #
######################################
[UserObjects]
[./PPNames]
type = RichardsPorepressureNames
porepressure_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E+2
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = '1 2 3 4'
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-15'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 -10'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 6E6
dt = 3E6
solve_type = NEWTON
[]
[Outputs]
execute_on = 'timestep_end'
file_base = ex01
exodus = true
csv = true
[]
modules/tensor_mechanics/test/tests/elasticitytensor/composite.i
# This input file is designed to test the RankTwoAux and RankFourAux
# auxkernels, which report values out of the Tensors used in materials
# properties.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
xmax = 1
[]
[AuxVariables]
[./c]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./C1111_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./C1122_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./C1133_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./C3313_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./dC1111_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./dC1122_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./dC1133_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./dC3313_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./d2C1111_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./d2C1122_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./d2C1133_aux]
order = CONSTANT
family = MONOMIAL
[../]
[./d2C3313_aux]
order = CONSTANT
family = MONOMIAL
[../]
[]
#[Kernels]
# [./diff]
# type = Diffusion
# variable = diffused
# [../]
#[]
[AuxKernels]
[./matl_C1111]
type = RankFourAux
rank_four_tensor = elasticity_tensor
index_i = 0
index_j = 0
index_k = 0
index_l = 0
variable = C1111_aux
execute_on = initial
[../]
[./matl_C1122]
type = RankFourAux
rank_four_tensor = elasticity_tensor
index_i = 0
index_j = 0
index_k = 1
index_l = 1
variable = C1122_aux
execute_on = initial
[../]
[./matl_C1133]
type = RankFourAux
rank_four_tensor = elasticity_tensor
index_i = 0
index_j = 0
index_k = 2
index_l = 2
variable = C1133_aux
execute_on = initial
[../]
[./matl_C3313]
type = RankFourAux
rank_four_tensor = elasticity_tensor
index_i = 2
index_j = 2
index_k = 0
index_l = 2
variable = C3313_aux
execute_on = initial
[../]
[./matl_dC1111]
type = RankFourAux
rank_four_tensor = delasticity_tensor/dc
index_i = 0
index_j = 0
index_k = 0
index_l = 0
variable = dC1111_aux
execute_on = initial
[../]
[./matl_dC1122]
type = RankFourAux
rank_four_tensor = delasticity_tensor/dc
index_i = 0
index_j = 0
index_k = 1
index_l = 1
variable = dC1122_aux
execute_on = initial
[../]
[./matl_dC1133]
type = RankFourAux
rank_four_tensor = delasticity_tensor/dc
index_i = 0
index_j = 0
index_k = 2
index_l = 2
variable = dC1133_aux
execute_on = initial
[../]
[./matl_dC3313]
type = RankFourAux
rank_four_tensor = delasticity_tensor/dc
index_i = 2
index_j = 2
index_k = 0
index_l = 2
variable = dC3313_aux
execute_on = initial
[../]
[./matl_d2C1111]
type = RankFourAux
rank_four_tensor = d^2elasticity_tensor/dc^2
index_i = 0
index_j = 0
index_k = 0
index_l = 0
variable = d2C1111_aux
execute_on = initial
[../]
[./matl_d2C1122]
type = RankFourAux
rank_four_tensor = d^2elasticity_tensor/dc^2
index_i = 0
index_j = 0
index_k = 1
index_l = 1
variable = d2C1122_aux
execute_on = initial
[../]
[./matl_d2C1133]
type = RankFourAux
rank_four_tensor = d^2elasticity_tensor/dc^2
index_i = 0
index_j = 0
index_k = 2
index_l = 2
variable = d2C1133_aux
execute_on = initial
[../]
[./matl_d2C3313]
type = RankFourAux
rank_four_tensor = d^2elasticity_tensor/dc^2
index_i = 2
index_j = 2
index_k = 0
index_l = 2
variable = d2C3313_aux
execute_on = initial
[../]
[]
[Materials]
[./Ca]
type = ComputeElasticityTensor
base_name = Ca
block = 0
fill_method = symmetric21
C_ijkl ='1111 .1122 1133 1123 1113 1112 2222 2233 2223 2213 2212 3333 3323 3313 3312 2323 2313 2312 1313 1312 1212'
[../]
[./Cb]
type = ComputeElasticityTensor
base_name = Cb
block = 0
fill_method = symmetric21
C_ijkl ='.1111 1122 .1133 .1123 .1113 .1112 .2222 .2233 .2223 .2213 .2212 .3333 .3323 .3313 .3312 .2323 .2313 .2312 .1313 .1312 .1212'
[../]
[./Fa]
type = DerivativeParsedMaterial
block = 0
f_name = Fa
function = c^2
args = c
[../]
[./Fb]
type = DerivativeParsedMaterial
block = 0
f_name = Fb
function = (1-c)^3
args = c
[../]
[./C]
type = CompositeElasticityTensor
block = 0
args = c
tensors = 'Ca Cb'
weights = 'Fa Fb'
[../]
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/capillary_pressure/brooks_corey1.i
# Test Brooks-Corey capillary pressure curve by varying saturation over the mesh
# lambda = 2, sat_lr = 0.1, log_extension = false
[Mesh]
type = GeneratedMesh
dim = 1
nx = 500
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./p0]
type = PorousFlowPropertyAux
property = pressure
phase = 0
variable = p0aux
[../]
[./p1]
type = PorousFlowPropertyAux
property = pressure
phase = 1
variable = p1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureBC
lambda = 2
log_extension = false
pe = 1e5
sat_lr = 0.1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityVG
phase = 0
m = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux p0aux p1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 500
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-6
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/newton_cooling/nc08.i
# Newton cooling from a bar. 1-phase ideal fluid and heat, steady
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 1
xmin = 0
xmax = 100
ymin = 0
ymax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pressure temp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.8
alpha = 1e-5
[../]
[]
[Variables]
[./pressure]
[../]
[./temp]
[../]
[]
[ICs]
# have to start these reasonably close to their steady-state values
[./pressure]
type = FunctionIC
variable = pressure
function = '200-0.5*x'
[../]
[./temperature]
type = FunctionIC
variable = temp
function = 180+0.1*x
[../]
[]
[Kernels]
[./flux]
type = PorousFlowAdvectiveFlux
fluid_component = 0
gravity = '0 0 0'
variable = pressure
[../]
[./heat_advection]
type = PorousFlowHeatAdvection
gravity = '0 0 0'
variable = temp
[../]
[]
[Modules]
[./FluidProperties]
[./idealgas]
type = IdealGasFluidProperties
molar_mass = 1.4
gamma = 1.2
mu = 1.2
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temp
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./dens0]
type = PorousFlowSingleComponentFluid
fp = idealgas
phase = 0
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 1.1 0 0 0 1.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey # irrelevant in this fully-saturated situation
n = 2
phase = 0
[../]
[]
[BCs]
[./leftp]
type = DirichletBC
variable = pressure
boundary = left
value = 200
[../]
[./leftt]
type = DirichletBC
variable = temp
boundary = left
value = 180
[../]
[./newtonp]
type = PorousFlowPiecewiseLinearSink
variable = pressure
boundary = right
pt_vals = '-200 0 200'
multipliers = '-200 0 200'
use_mobility = true
use_relperm = true
fluid_phase = 0
flux_function = 0.005 # 1/2/L
[../]
[./newtont]
type = PorousFlowPiecewiseLinearSink
variable = temp
boundary = right
pt_vals = '-200 0 200'
multipliers = '-200 0 200'
use_mobility = true
use_relperm = true
use_enthalpy = true
fluid_phase = 0
flux_function = 0.005 # 1/2/L
[../]
[]
[VectorPostprocessors]
[./porepressure]
type = LineValueSampler
variable = pressure
start_point = '0 0.5 0'
end_point = '100 0.5 0'
sort_by = x
num_points = 11
execute_on = timestep_end
[../]
[./temperature]
type = LineValueSampler
variable = temp
start_point = '0 0.5 0'
end_point = '100 0.5 0'
sort_by = x
num_points = 11
execute_on = timestep_end
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = Newton
nl_rel_tol = 1E-10
nl_abs_tol = 1E-15
[]
[Outputs]
file_base = nc08
execute_on = timestep_end
exodus = true
[./along_line]
type = CSV
execute_vector_postprocessors_on = timestep_end
[../]
[]
modules/phase_field/examples/kim-kim-suzuki/kks_example_dirichlet.i
#
# KKS simple example in the split form
#
[Mesh]
type = GeneratedMesh
dim = 2
elem_type = QUAD4
nx = 50
ny = 2
nz = 0
xmin = 0
xmax = 20
ymin = 0
ymax = 0.4
zmin = 0
zmax = 0
[]
[AuxVariables]
[./Fglobal]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# hydrogen concentration
[./c]
order = FIRST
family = LAGRANGE
[../]
# chemical potential
[./w]
order = FIRST
family = LAGRANGE
[../]
# Liquid phase solute concentration
[./cl]
order = FIRST
family = LAGRANGE
initial_condition = 0.1
[../]
# Solid phase solute concentration
[./cs]
order = FIRST
family = LAGRANGE
initial_condition = 0.9
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = 0.5*(1.0-tanh((x)/sqrt(2.0)))
[../]
[./ic_func_c]
type = ParsedFunction
value = '0.9*(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10)+0.1*(1-(0.5*(1.0-tanh(x/sqrt(2.0))))^3*(6*(0.5*(1.0-tanh(x/sqrt(2.0))))^2-15*(0.5*(1.0-tanh(x/sqrt(2.0))))+10))'
[../]
[]
[ICs]
[./eta]
variable = eta
type = FunctionIC
function = ic_func_eta
[../]
[./c]
variable = c
type = FunctionIC
function = ic_func_c
[../]
[]
[BCs]
[./left_c]
type = DirichletBC
variable = 'c'
boundary = 'left'
value = 0.5
[../]
[./left_eta]
type = DirichletBC
variable = 'eta'
boundary = 'left'
value = 0.5
[../]
[]
[Materials]
# Free energy of the liquid
[./fl]
type = DerivativeParsedMaterial
f_name = fl
args = 'cl'
function = '(0.1-cl)^2'
[../]
# Free energy of the solid
[./fs]
type = DerivativeParsedMaterial
f_name = fs
args = 'cs'
function = '(0.9-cs)^2'
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L eps_sq'
prop_values = '0.7 0.7 1.0 '
[../]
[]
[Kernels]
# enforce c = (1-h(eta))*cl + h(eta)*cs
[./PhaseConc]
type = KKSPhaseConcentration
ca = cl
variable = cs
c = c
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotSolute]
type = KKSPhaseChemicalPotential
variable = cl
cb = cs
fa_name = fl
fb_name = fs
[../]
#
# Cahn-Hilliard Equation
#
[./CHBulk]
type = KKSSplitCHCRes
variable = c
ca = cl
fa_name = fl
w = w
[../]
[./dcdt]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./ckernel]
type = SplitCHWRes
mob_name = M
variable = w
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = fl
fb_name = fs
w = 1.0
args = 'cl cs'
[../]
[./ACBulkC]
type = KKSACBulkC
variable = eta
ca = cl
cb = cs
fa_name = fl
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = eps_sq
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[AuxKernels]
[./GlobalFreeEnergy]
variable = Fglobal
type = KKSGlobalFreeEnergy
fa_name = fl
fb_name = fs
w = 1.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm ilu nonzero'
l_max_its = 100
nl_max_its = 100
nl_abs_tol = 1e-10
end_time = 800
dt = 4.0
[]
#
# Precondition using handcoded off-diagonal terms
#
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Postprocessors]
[./dofs]
type = NumDOFs
[../]
[./integral]
type = ElementL2Error
variable = eta
function = ic_func_eta
[../]
[]
[Outputs]
exodus = true
console = true
gnuplot = true
[]
test/tests/functions/image_function/image_mesh_2d.i
[Mesh]
type = ImageMesh
dim = 2
file = stack/test_00.png
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
# ImageFunction gets its file range parameters from ImageMesh,
# when it is present. This prevents duplicating information in
# input files.
type = ImageFunction
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
test/tests/postprocessors/displaced_mesh/elemental.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
displacements = 'ux uy'
[]
[AuxVariables]
[./ux]
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./uy]
[./InitialCondition]
type = FunctionIC
function = y
[../]
[../]
[./c]
initial_condition = 1
[../]
[]
[Variables]
[./a]
[../]
[]
[Kernels]
[./a]
type = Diffusion
variable = a
[../]
[]
[Postprocessors]
[./without]
type = ElementIntegralVariablePostprocessor
variable = c
execute_on = initial
[../]
[./with]
type = ElementIntegralVariablePostprocessor
variable = c
use_displaced_mesh = true
execute_on = initial
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 0
[]
[Outputs]
[./out]
type = Exodus
[../]
[]
modules/porous_flow/test/tests/relperm/vangenuchten2.i
# Test van Genuchten relative permeability curve by varying saturation over the mesh
# van Genuchten exponent m = 0.4 for both phases
# Phase 0 residual saturation s0r = 0.1
# Phase 1 residual saturation s1r = 0.2
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityVG
phase = 0
m = 0.4
s_res = 0.1
sum_s_res = 0.3
[../]
[./kr1]
type = PorousFlowRelativePermeabilityVG
phase = 1
m = 0.4
s_res = 0.2
sum_s_res = 0.3
wetting = false
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-7
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/functions/image_function/threshold_adapt_parallel.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
parallel_type = distributed
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
threshold = 2.7e4
upper_value = 1
lower_value = -1
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Adaptivity]
max_h_level = 5
initial_steps = 5
initial_marker = marker
[./Indicators]
[./indicator]
type = GradientJumpIndicator
variable = u
[../]
[../]
[./Markers]
[./marker]
type = ErrorFractionMarker
indicator = indicator
refine = 0.9
[../]
[../]
[]
[Outputs]
[]
modules/porous_flow/test/tests/relperm/unity.i
# Test perfectly mobile relative permeability curve by varying saturation over the mesh
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./kr1]
type = PorousFlowRelativePermeabilityConst
phase = 1
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-8
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/nodalkernels/constraint_enforcement/lower-bound.i
l=10
nx=100
num_steps=10
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[lm]
[]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = '${l} - x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = '-1'
[]
[]
[NodalKernels]
[positive_constraint]
type = LowerBoundNodalKernel
variable = lm
v = u
exclude_boundaries = 'left right'
[]
[forces]
type = CoupledForceNodalKernel
variable = u
v = lm
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = ${l}
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = 0
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type'
petsc_options_value = '0 30 asm 16 basic'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
[active_lm]
type = GreaterThanLessThanPostprocessor
variable = lm
execute_on = 'nonlinear timestep_end'
value = 1e-8
[]
[violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[]
test/tests/postprocessors/displaced_mesh/side.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
displacements = 'ux uy'
[]
[AuxVariables]
[./ux]
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./uy]
[./InitialCondition]
type = FunctionIC
function = y
[../]
[../]
[./c]
initial_condition = 1
[../]
[]
[Variables]
[./a]
[../]
[]
[Kernels]
[./a]
type = Diffusion
variable = a
[../]
[]
[Postprocessors]
[./without]
type = SideIntegralVariablePostprocessor
variable = c
execute_on = initial
boundary = left
[../]
[./with]
type = SideIntegralVariablePostprocessor
variable = c
use_displaced_mesh = true
execute_on = initial
boundary = left
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 0
[]
[Outputs]
[./out]
type = Exodus
[../]
[]
modules/richards/test/tests/uo_egs/relperm.i
# Outputs a relative permeability curve into an exodus file
# and into a CSV file.
# In the exodus file, the relperm will be a function of "x", and
# this "x" is actually effective saturation.
# In the CSV file you will find the relperm at the "x" point
# specified by you below.
#
# You may specify:
# - the "type" of relative permeability in the UserObjects block
# - the parameters of this relative permeability curve in the UserObjects block
# - the "x" point (which is effective saturation) that you want to extract
# the relative permeability at, if you want a value at a particular point
[UserObjects]
[./relperm]
type = RichardsRelPermPower
simm = 0.1
n = 3
[../]
[]
[Postprocessors]
[./point_val]
type = PointValue
execute_on = timestep_begin
point = '0.5 0 0'
variable = relperm
[../]
[]
############################
# You should not need to change any of the stuff below
############################
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = x
[../]
[]
[AuxVariables]
[./relperm]
[../]
[]
[AuxKernels]
[./relperm_AuxK]
type = RichardsRelPermAux
variable = relperm
relperm_UO = relperm
execute_on = timestep_begin
seff_var = u
[../]
[]
[Kernels]
[./dummy]
type = Diffusion
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 0
[]
[Outputs]
file_base = relperm
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
hide = u
[../]
[]
test/tests/time_integrators/explicit-euler/ee-1d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 20
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
# lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
l_tol = 1e-12
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/richards/test/tests/dirac/bh02.i
# fully-saturated
# production
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh02.bh
SumQuantityUO = borehole_total_outflow_mass
variable = pressure
unit_weight = '0 0 0'
character = 1
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '1 1 1'
execute_on = timestep_end
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 bh_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 0.5
dt = 1E-2
solve_type = NEWTON
[]
[Outputs]
file_base = bh02
exodus = false
csv = true
execute_on = timestep_end
[]
modules/porous_flow/test/tests/relperm/brooks_corey1.i
# Test Brooks-Corey relative permeability curve by varying saturation over the mesh
# Exponent lambda = 2 for both phases
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityBC
phase = 0
lambda = 2
[../]
[./kr1]
type = PorousFlowRelativePermeabilityBC
phase = 1
lambda = 2
nw_phase = true
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-8
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/kernels/ad_mat_diffusion/1D_transient.i
# This test solves a 1D transient heat equation
# The error is calculated by comparing to the analytical solution
# The problem setup and analytical solution are taken from "Advanced Engineering
# Mathematics, 10th edition" by Erwin Kreyszig.
# http://www.amazon.com/Advanced-Engineering-Mathematics-Erwin-Kreyszig/dp/0470458364
# It is Example 1 in section 12.6 on page 561
[Mesh]
type = GeneratedMesh
dim = 1
nx = 160
xmax = 80
[]
[Variables]
[./T]
[../]
[]
[ICs]
[./T_IC]
type = FunctionIC
variable = T
function = '100*sin(pi*x/80)'
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = T
diffusivity = 0.95
[../]
[./dt]
type = CoefTimeDerivative
variable = T
Coefficient = 0.82064
[../]
[]
[BCs]
[./sides]
type = DirichletBC
variable = T
boundary = 'left right'
value = 0
[../]
[]
[Executioner]
type = Transient
dt = 1e-2
end_time = 1
[]
[Postprocessors]
[./error]
type = NodalL2Error
function = '100*sin(pi*x/80)*exp(-0.95/(0.092*8.92)*pi^2/80^2*t)'
variable = T
outputs = console
[../]
[]
[Outputs]
exodus = true
[]
test/tests/time_steppers/function_dt/function_dt_min.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[./dts]
type = PiecewiseLinear
x = '0 0.85 2'
y = '0.2 0.2 0.2'
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0
num_steps = 10
[./TimeStepper]
type = FunctionDT
function = dts
min_dt = 0.1
[../]
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/dirac/st01.i
# fully-saturated
# production
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./Seff1VG]
type = RichardsSeff1VG
m = 0.8
al = 1E-5
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0
sum_s_res = 0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E8
[../]
[./stream_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
active = 'pressure'
[./pressure]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
variable = pressure
function = initial_pressure
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[DiracKernels]
[./stream]
type = RichardsPolyLineSink
pressures = '0.2E7 0.8E7'
fluxes = '1 2'
point_file = st01.stream
SumQuantityUO = stream_total_outflow_mass
variable = pressure
[../]
[]
[Postprocessors]
[./stream_report]
type = RichardsPlotQuantity
uo = stream_total_outflow_mass
[../]
[./fluid_mass0]
type = RichardsMass
variable = pressure
execute_on = timestep_begin
[../]
[./fluid_mass1]
type = RichardsMass
variable = pressure
execute_on = timestep_end
[../]
[./zmass_error]
type = FunctionValuePostprocessor
function = mass_bal_fcn
execute_on = timestep_end
[../]
[./p0]
type = PointValue
variable = pressure
point = '0 0 0'
execute_on = timestep_end
[../]
[]
[Functions]
active = 'mass_bal_fcn initial_pressure'
[./initial_pressure]
type = ParsedFunction
value = 1E7
[../]
[./mass_bal_fcn]
type = ParsedFunction
value = abs((a-c+d)/2/(a+c))
vars = 'a c d'
vals = 'fluid_mass1 fluid_mass0 stream_report'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 0
viscosity = 1E-3
mat_porosity = 0.1
mat_permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = Seff1VG
SUPG_UO = SUPGstandard
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = Seff1VG
pressure_vars = pressure
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10000 30'
[../]
[]
[Executioner]
type = Transient
end_time = 2.5
dt = 0.1
solve_type = NEWTON
[]
[Outputs]
file_base = st01
exodus = false
csv = true
execute_on = timestep_end
[]
test/tests/restart/restart_subapp_not_master/two_step_solve_sub.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD9
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t*t*(x*x+y*y)
[../]
[./forcing_fn]
type = ParsedFunction
value = 2*t*(x*x+y*y)-4*t*t
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = SECOND
[../]
[]
[ICs]
[./u_var]
type = FunctionIC
variable = u
function = exact_fn
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right top bottom'
function = exact_fn
[../]
[]
[Postprocessors]
[./average]
type = ElementAverageValue
variable = u
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = 2.0
dt = 1.0
[]
[Outputs]
[./checkpoint]
type = Checkpoint
num_files = 3
[../]
[]
test/tests/misc/check_error/function_file_test17.i
# Test for usage of missing function
[Mesh]
file = square.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic_function
[../]
[../]
[]
[Functions]
[./ic_function]
type = PiecewiseLinear
data_file = piecewise_linear_rows_more_data.csv
xy_in_file_only = false
x_index_in_file = 0
y_index_in_file = 0 # will generate an error because x and y index are equal
scale_factor = 1.0
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
exodus = true
[]
modules/porous_flow/test/tests/flux_limited_TVD_pflow/pffltvd_1D_adaptivity.i
# Using flux-limited TVD advection ala Kuzmin and Turek, mploying PorousFlow Kernels and UserObjects, with superbee flux-limiter
# 1D version with adaptivity
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[Adaptivity]
initial_steps = 1
initial_marker = tracer_marker
marker = tracer_marker
max_h_level = 1
[./Markers]
[./tracer_marker]
type = ValueRangeMarker
variable = tracer
lower_bound = 0.02
upper_bound = 0.98
[../]
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = tracer
[../]
[./flux0]
type = PorousFlowFluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = advective_flux_calculator_0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = porepressure
[../]
[./flux1]
type = PorousFlowFluxLimitedTVDAdvection
variable = porepressure
advective_flux_calculator = advective_flux_calculator_1
[../]
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure tracer'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[./advective_flux_calculator_0]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 0
[../]
[./advective_flux_calculator_1]
type = PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent
flux_limiter_type = superbee
fluid_component = 1
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = tracer
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = the_simple_fluid
phase = 0
[../]
[./relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
[./out]
type = CSV
execute_on = final
[../]
[]
modules/richards/test/tests/buckley_leverett/bl01.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2.0E6
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-4
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[AuxKernels]
active = 'calculate_seff'
[./calculate_seff]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffVG
pressure_vars = pressure
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[BCs]
active = 'left'
[./left]
type = DirichletBC
variable = pressure
boundary = left
value = 980000
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Functions]
active = 'initial_pressure'
[./initial_pressure]
type = ParsedFunction
value = max((1000000-x/5*1000000)-20000,-20000)
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 20'
[../]
[]
[Executioner]
type = Transient
end_time = 50
dt = 2
[]
[Outputs]
file_base = bl01
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[]
modules/porous_flow/examples/lava_lamp/2phase_convection.i
# Two phase density-driven convection of dissolved CO2 in brine
#
# Initially, the model has a gas phase at the top with a saturation of 0.29
# (which corresponds to an initial value of zi = 0.2).
# Diffusion of the dissolved CO2
# component from the saturated liquid to the unsaturated liquid below reduces the
# amount of CO2 in the gas phase. As the density of the CO2-saturated brine is greater
# than the unsaturated brine, a gravitational instability arises and density-driven
# convection of CO2-rich fingers descend into the unsaturated brine.
#
# The instability is seeded by a random perturbation to the porosity field.
# Mesh adaptivity is used to refine the mesh as the fingers form.
[GlobalParams]
PorousFlowDictator = 'dictator'
gravity = '0 -9.81 0'
[]
[Adaptivity]
max_h_level = 2
marker = marker
initial_marker = initial
initial_steps = 2
[./Indicators]
[./indicator]
type = GradientJumpIndicator
variable = zi
[../]
[../]
[./Markers]
[./marker]
type = ErrorFractionMarker
indicator = indicator
refine = 0.8
[../]
[./initial]
type = BoxMarker
bottom_left = '0 1.95 0'
top_right = '2 2 0'
inside = REFINE
outside = DO_NOTHING
[../]
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
ymax = 2
xmax = 2
ny = 40
nx = 40
bias_y = 0.95
[]
[AuxVariables]
[./xnacl]
initial_condition = 0.01
[../]
[./saturation_gas]
order = FIRST
family = MONOMIAL
[../]
[./xco2l]
order = FIRST
family = MONOMIAL
[../]
[./density_liquid]
order = FIRST
family = MONOMIAL
[../]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = 'timestep_end'
[../]
[./xco2l]
type = PorousFlowPropertyAux
variable = xco2l
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = 'timestep_end'
[../]
[./density_liquid]
type = PorousFlowPropertyAux
variable = density_liquid
property = density
phase = 0
execute_on = 'timestep_end'
[../]
[]
[Variables]
[./pgas]
[../]
[./zi]
scaling = 1e4
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
function = 10e6-9.81*1000*y
variable = pgas
[../]
[./zi]
type = BoundingBoxIC
variable = zi
x1 = 0
x2 = 2
y1 = 1.95
y2 = 2
inside = 0.2
outside = 0
[../]
[./porosity]
type = RandomIC
variable = porosity
min = 0.25
max = 0.275
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pgas
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pgas
[../]
[./diff0]
type = PorousFlowDispersiveFlux
fluid_component = 0
variable = pgas
disp_long = '0 0'
disp_trans = '0 0'
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = zi
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = zi
[../]
[./diff1]
type = PorousFlowDispersiveFlux
fluid_component = 1
variable = zi
disp_long = '0 0'
disp_trans = '0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas zi'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowBrineCO2
brine_fp = brine
co2_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2sw]
type = CO2FluidProperties
[../]
[./co2]
type = TabulatedFluidProperties
fp = co2sw
[../]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = '45'
[../]
[./brineco2]
type = PorousFlowFluidState
gas_porepressure = 'pgas'
z = 'zi'
temperature_unit = Celsius
xnacl = 'xnacl'
capillary_pressure = pc
fluid_state = fs
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = porosity
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-11 0 0 0 1e-11 0 0 0 1e-11'
[../]
[./relperm_water]
type = PorousFlowRelativePermeabilityCorey
phase = 0
n = 2
s_res = 0.1
sum_s_res = 0.2
[../]
[./relperm_gas]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
s_res = 0.1
sum_s_res = 0.2
[../]
[./diffusivity]
type = PorousFlowDiffusivityConst
diffusion_coeff = '2e-9 2e-9 2e-9 2e-9'
tortuosity = '1 1'
[../]
[]
[Preconditioning]
active = basic
[./mumps_is_best_for_parallel_jobs]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[./basic]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu NONZERO 2 '
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1e6
nl_max_its = 25
l_max_its = 100
dtmax = 1e4
nl_abs_tol = 1e-6
[./TimeStepper]
type = IterationAdaptiveDT
dt = 10
growth_factor = 2
cutback_factor = 0.5
[../]
[]
[Functions]
[./flux]
type = ParsedFunction
vals = 'delta_xco2 dt'
vars = 'dx dt'
value = 'dx/dt'
[../]
[]
[Postprocessors]
[./total_co2_in_gas]
type = PorousFlowFluidMass
phase = 1
fluid_component = 1
[../]
[./total_co2_in_liquid]
type = PorousFlowFluidMass
phase = 0
fluid_component = 1
[../]
[./numdofs]
type = NumDOFs
[../]
[./delta_xco2]
type = ChangeOverTimePostprocessor
postprocessor = total_co2_in_liquid
[../]
[./dt]
type = TimestepSize
[../]
[./flux]
type = FunctionValuePostprocessor
function = flux
[../]
[]
[Outputs]
print_linear_residuals = false
perf_graph = true
exodus = true
csv = true
[]
modules/porous_flow/examples/coal_mining/coarse_with_fluid.i
# Strata deformation and fluid flow aaround a coal mine - 3D model
#
# A "half model" is used. The mine is 400m deep and
# just the roof is studied (-400<=z<=0). The mining panel
# sits between 0<=x<=150, and 0<=y<=1000, so this simulates
# a coal panel that is 300m wide and 1000m long. The outer boundaries
# are 1km from the excavation boundaries.
#
# The excavation takes 0.5 years.
#
# The boundary conditions for this simulation are:
# - disp_x = 0 at x=0 and x=1150
# - disp_y = 0 at y=-1000 and y=1000
# - disp_z = 0 at z=-400, but there is a time-dependent
# Young modulus that simulates excavation
# - wc_x = 0 at y=-1000 and y=1000
# - wc_y = 0 at x=0 and x=1150
# - no flow at x=0, z=-400 and z=0
# - fixed porepressure at y=-1000, y=1000 and x=1150
# That is, rollers on the sides, free at top,
# and prescribed at bottom in the unexcavated portion.
#
# A single-phase unsaturated fluid is used.
#
# The small strain formulation is used.
#
# All stresses are measured in MPa, and time units are measured in years.
#
# The initial porepressure is hydrostatic with P=0 at z=0, so
# Porepressure ~ - 0.01*z MPa, where the fluid has density 1E3 kg/m^3 and
# gravity = = 10 m.s^-2 = 1E-5 MPa m^2/kg.
# To be more accurate, i use
# Porepressure = -bulk * log(1 + g*rho0*z/bulk)
# where bulk=2E3 MPa and rho0=1Ee kg/m^3.
# The initial stress is consistent with the weight force from undrained
# density 2500 kg/m^3, and fluid porepressure, and a Biot coefficient of 0.7, ie,
# stress_zz^effective = 0.025*z + 0.7 * initial_porepressure
# The maximum and minimum principal horizontal effective stresses are
# assumed to be equal to 0.8*stress_zz.
#
# Material properties:
# Young's modulus = 8 GPa
# Poisson's ratio = 0.25
# Cosserat layer thickness = 1 m
# Cosserat-joint normal stiffness = large
# Cosserat-joint shear stiffness = 1 GPa
# MC cohesion = 2 MPa
# MC friction angle = 35 deg
# MC dilation angle = 8 deg
# MC tensile strength = 1 MPa
# MC compressive strength = 100 MPa
# WeakPlane cohesion = 0.1 MPa
# WeakPlane friction angle = 30 deg
# WeakPlane dilation angle = 10 deg
# WeakPlane tensile strength = 0.1 MPa
# WeakPlane compressive strength = 100 MPa softening to 1 MPa at strain = 1
# Fluid density at zero porepressure = 1E3 kg/m^3
# Fluid bulk modulus = 2E3 MPa
# Fluid viscosity = 1.1E-3 Pa.s = 1.1E-9 MPa.s = 3.5E-17 MPa.year
#
[GlobalParams]
perform_finite_strain_rotations = false
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
PorousFlowDictator = dictator
biot_coefficient = 0.7
[]
[Mesh]
[file]
type = FileMeshGenerator
file = mesh/coarse.e
[]
[./xmin]
type = SideSetsAroundSubdomainGenerator
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
new_boundary = xmin
normal = '-1 0 0'
input = file
[../]
[./xmax]
type = SideSetsAroundSubdomainGenerator
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
new_boundary = xmax
normal = '1 0 0'
input = xmin
[../]
[./ymin]
type = SideSetsAroundSubdomainGenerator
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
new_boundary = ymin
normal = '0 -1 0'
input = xmax
[../]
[./ymax]
type = SideSetsAroundSubdomainGenerator
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
new_boundary = ymax
normal = '0 1 0'
input = ymin
[../]
[./zmax]
type = SideSetsAroundSubdomainGenerator
block = 16
new_boundary = zmax
normal = '0 0 1'
input = ymax
[../]
[./zmin]
type = SideSetsAroundSubdomainGenerator
block = 2
new_boundary = zmin
normal = '0 0 -1'
input = zmax
[../]
[./excav]
type = SubdomainBoundingBoxGenerator
input = zmin
block_id = 1
bottom_left = '0 0 -400'
top_right = '150 1000 -397'
[../]
[./roof]
type = SideSetsBetweenSubdomainsGenerator
master_block = 3
paired_block = 1
input = excav
new_boundary = roof
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[./wc_y]
[../]
[./porepressure]
scaling = 1E-5
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = ini_pp
[../]
[]
[Kernels]
[./cx_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_x
component = 0
[../]
[./cy_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./y_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_y
displacements = 'wc_x wc_y wc_z'
component = 1
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_x
component = 0
[../]
[./y_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_y
component = 1
[../]
[./gravity]
type = Gravity
use_displaced_mesh = false
variable = disp_z
value = -10E-6 # remember this is in MPa
[../]
[./poro_x]
type = PorousFlowEffectiveStressCoupling
use_displaced_mesh = false
variable = disp_x
component = 0
[../]
[./poro_y]
type = PorousFlowEffectiveStressCoupling
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./poro_z]
type = PorousFlowEffectiveStressCoupling
use_displaced_mesh = false
component = 2
variable = disp_z
[../]
[./mass0]
type = PorousFlowMassTimeDerivative
use_displaced_mesh = false
fluid_component = 0
variable = porepressure
[../]
[./flux]
type = PorousFlowAdvectiveFlux
use_displaced_mesh = false
variable = porepressure
gravity = '0 0 -10E-6'
fluid_component = 0
[../]
[./poro_vol_exp]
type = PorousFlowMassVolumetricExpansion
use_displaced_mesh = false
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
variable = porepressure
fluid_component = 0
[../]
[]
[AuxVariables]
[./saturation]
order = CONSTANT
family = MONOMIAL
[../]
[./darcy_x]
order = CONSTANT
family = MONOMIAL
[../]
[./darcy_y]
order = CONSTANT
family = MONOMIAL
[../]
[./darcy_z]
order = CONSTANT
family = MONOMIAL
[../]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[./wc_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_yx]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_zy]
order = CONSTANT
family = MONOMIAL
[../]
[./total_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./perm_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./perm_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./perm_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./saturation_water]
type = PorousFlowPropertyAux
variable = saturation
property = saturation
phase = 0
execute_on = timestep_end
[../]
[./darcy_x]
type = PorousFlowDarcyVelocityComponent
variable = darcy_x
gravity = '0 0 -10E-6'
component = x
[../]
[./darcy_y]
type = PorousFlowDarcyVelocityComponent
variable = darcy_y
gravity = '0 0 -10E-6'
component = y
[../]
[./darcy_z]
type = PorousFlowDarcyVelocityComponent
variable = darcy_z
gravity = '0 0 -10E-6'
component = z
[../]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
execute_on = timestep_end
[../]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_xz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xz
index_i = 0
index_j = 2
execute_on = timestep_end
[../]
[./stress_yx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yx
index_i = 1
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_yz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yz
index_i = 1
index_j = 2
execute_on = timestep_end
[../]
[./stress_zx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zx
index_i = 2
index_j = 0
execute_on = timestep_end
[../]
[./stress_zy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zy
index_i = 2
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./total_strain_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./total_strain_xy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./total_strain_xz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_xz
index_i = 0
index_j = 2
execute_on = timestep_end
[../]
[./total_strain_yx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_yx
index_i = 1
index_j = 0
execute_on = timestep_end
[../]
[./total_strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./total_strain_yz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_yz
index_i = 1
index_j = 2
execute_on = timestep_end
[../]
[./total_strain_zx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_zx
index_i = 2
index_j = 0
execute_on = timestep_end
[../]
[./total_strain_zy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_zy
index_i = 2
index_j = 1
execute_on = timestep_end
[../]
[./total_strain_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = total_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./perm_xx]
type = PorousFlowPropertyAux
property = permeability
variable = perm_xx
row = 0
column = 0
execute_on = timestep_end
[../]
[./perm_yy]
type = PorousFlowPropertyAux
property = permeability
variable = perm_yy
row = 1
column = 1
execute_on = timestep_end
[../]
[./perm_zz]
type = PorousFlowPropertyAux
property = permeability
variable = perm_zz
row = 2
column = 2
execute_on = timestep_end
[../]
[./mc_shear]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_internal_parameter
variable = mc_shear
execute_on = timestep_end
[../]
[./mc_tensile]
type = MaterialStdVectorAux
index = 1
property = mc_plastic_internal_parameter
variable = mc_tensile
execute_on = timestep_end
[../]
[./wp_shear]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_internal_parameter
variable = wp_shear
execute_on = timestep_end
[../]
[./wp_tensile]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_internal_parameter
variable = wp_tensile
execute_on = timestep_end
[../]
[./mc_shear_f]
type = MaterialStdVectorAux
index = 6
property = mc_plastic_yield_function
variable = mc_shear_f
execute_on = timestep_end
[../]
[./mc_tensile_f]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_yield_function
variable = mc_tensile_f
execute_on = timestep_end
[../]
[./wp_shear_f]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_yield_function
variable = wp_shear_f
execute_on = timestep_end
[../]
[./wp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_yield_function
variable = wp_tensile_f
execute_on = timestep_end
[../]
[]
[BCs]
[./no_x]
type = DirichletBC
variable = disp_x
boundary = 'xmin xmax'
value = 0.0
[../]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = 'ymin ymax'
value = 0.0
[../]
[./no_z]
type = DirichletBC
variable = disp_z
boundary = zmin
value = 0.0
[../]
[./no_wc_x]
type = DirichletBC
variable = wc_x
boundary = 'ymin ymax'
value = 0.0
[../]
[./no_wc_y]
type = DirichletBC
variable = wc_y
boundary = 'xmin xmax'
value = 0.0
[../]
[./fix_porepressure]
type = FunctionDirichletBC
variable = porepressure
boundary = 'ymin ymax xmax'
function = ini_pp
[../]
[./roof_porepressure]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
pt_vals = '-1E3 1E3'
multipliers = '-1 1'
fluid_phase = 0
flux_function = roof_conductance
boundary = roof
[../]
[./roof_bcs]
type = StickyBC
variable = disp_z
min_value = -3.0
boundary = roof
[../]
[]
[Functions]
[./ini_pp]
type = ParsedFunction
vars = 'bulk p0 g rho0'
vals = '2E3 0.0 1E-5 1E3'
value = '-bulk*log(exp(-p0/bulk)+g*rho0*z/bulk)'
[../]
[./ini_xx]
type = ParsedFunction
vars = 'bulk p0 g rho0 biot'
vals = '2E3 0.0 1E-5 1E3 0.7'
value = '0.8*(2500*10E-6*z+biot*(-bulk*log(exp(-p0/bulk)+g*rho0*z/bulk)))'
[../]
[./ini_zz]
type = ParsedFunction
vars = 'bulk p0 g rho0 biot'
vals = '2E3 0.0 1E-5 1E3 0.7'
value = '2500*10E-6*z+biot*(-bulk*log(exp(-p0/bulk)+g*rho0*z/bulk))'
[../]
[./excav_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax minval maxval slope'
vals = '0.5 0 1000.0 1E-9 1 60'
# excavation face at ymin+(ymax-ymin)*min(t/end_t,1)
# slope is the distance over which the modulus reduces from maxval to minval
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),minval,if(y<ymin+(ymax-ymin)*min(t/end_t,1)+slope,minval+(maxval-minval)*(y-(ymin+(ymax-ymin)*min(t/end_t,1)))/slope,maxval))'
[../]
[./density_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax minval maxval'
vals = '0.5 0 1000.0 0 2500'
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),minval,maxval)'
[../]
[./roof_conductance]
type = ParsedFunction
vars = 'end_t ymin ymax maxval minval'
vals = '0.5 0 1000.0 1E7 0'
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),maxval,minval)'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure disp_x disp_y disp_z'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1 # MPa^-1
[../]
[./mc_coh_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.99 # MPa
value_residual = 2.01 # MPa
rate = 1.0
[../]
[./mc_fric]
type = TensorMechanicsHardeningConstant
value = 0.61 # 35deg
[../]
[./mc_dil]
type = TensorMechanicsHardeningConstant
value = 0.15 # 8deg
[../]
[./mc_tensile_str_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.0 # MPa
value_residual = 1.0 # MPa
rate = 1.0
[../]
[./mc_compressive_str]
type = TensorMechanicsHardeningCubic
value_0 = 100 # Large!
value_residual = 100
internal_limit = 0.1
[../]
[./wp_coh_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.05
value_residual = 0.05
internal_limit = 10
[../]
[./wp_tan_fric]
type = TensorMechanicsHardeningConstant
value = 0.26 # 15deg
[../]
[./wp_tan_dil]
type = TensorMechanicsHardeningConstant
value = 0.18 # 10deg
[../]
[./wp_tensile_str_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.05
value_residual = 0.05
internal_limit = 10
[../]
[./wp_compressive_str_soften]
type = TensorMechanicsHardeningCubic
value_0 = 100
value_residual = 1
internal_limit = 1.0
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E3
density0 = 1000
thermal_expansion = 0
viscosity = 3.5E-17
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./eff_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./vol_strain]
type = PorousFlowVolumetricStrain
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity_bulk]
type = PorousFlowPorosity
fluid = true
mechanical = true
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
ensure_positive = true
porosity_zero = 0.02
solid_bulk = 5.3333E3
[../]
[./porosity_excav]
type = PorousFlowPorosityConst
block = 1
porosity = 1.0
[../]
[./permeability_bulk]
type = PorousFlowPermeabilityKozenyCarman
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
poroperm_function = kozeny_carman_phi0
k0 = 1E-15
phi0 = 0.02
n = 2
m = 2
[../]
[./permeability_excav]
type = PorousFlowPermeabilityConst
block = 1
permeability = '0 0 0 0 0 0 0 0 0'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 4
s_res = 0.4
sum_s_res = 0.4
phase = 0
[../]
[./elasticity_tensor_0]
type = ComputeLayeredCosseratElasticityTensor
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3 # MPa
[../]
[./elasticity_tensor_1]
type = ComputeLayeredCosseratElasticityTensor
block = 1
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3 # MPa
elasticity_tensor_prefactor = excav_sideways
[../]
[./strain]
type = ComputeCosseratIncrementalSmallStrain
eigenstrain_names = ini_stress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
eigenstrain_name = ini_stress
initial_stress = 'ini_xx 0 0 0 ini_xx 0 0 0 ini_zz'
[../]
[./stress_0]
type = ComputeMultipleInelasticCosseratStress
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
inelastic_models = 'mc wp'
cycle_models = true
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./stress_1]
type = ComputeMultipleInelasticCosseratStress
block = 1
inelastic_models = ''
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./mc]
type = CappedMohrCoulombCosseratStressUpdate
warn_about_precision_loss = false
host_youngs_modulus = 8E3
host_poissons_ratio = 0.25
base_name = mc
tensile_strength = mc_tensile_str_strong_harden
compressive_strength = mc_compressive_str
cohesion = mc_coh_strong_harden
friction_angle = mc_fric
dilation_angle = mc_dil
max_NR_iterations = 100000
smoothing_tol = 0.1 # MPa # Must be linked to cohesion
yield_function_tol = 1E-9 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./wp]
type = CappedWeakPlaneCosseratStressUpdate
warn_about_precision_loss = false
base_name = wp
cohesion = wp_coh_harden
tan_friction_angle = wp_tan_fric
tan_dilation_angle = wp_tan_dil
tensile_strength = wp_tensile_str_harden
compressive_strength = wp_compressive_str_soften
max_NR_iterations = 10000
tip_smoother = 0.05
smoothing_tol = 0.05 # MPa # Note, this must be tied to cohesion, otherwise get no possible return at cone apex
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0E-3
[../]
[./undrained_density_0]
type = GenericConstantMaterial
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
prop_names = density
prop_values = 2500
[../]
[./undrained_density_1]
type = GenericFunctionMaterial
block = 1
prop_names = density
prop_values = density_sideways
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[]
[]
[Postprocessors]
[./min_roof_disp]
type = NodalExtremeValue
boundary = roof
value_type = min
variable = disp_z
[../]
[./min_roof_pp]
type = NodalExtremeValue
boundary = roof
value_type = min
variable = porepressure
[../]
[./min_surface_disp]
type = NodalExtremeValue
boundary = zmax
value_type = min
variable = disp_z
[../]
[./min_surface_pp]
type = NodalExtremeValue
boundary = zmax
value_type = min
variable = porepressure
[../]
[./max_perm_zz]
type = ElementExtremeValue
block = '2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
variable = perm_zz
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
# best overall
# petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
# petsc_options_value = ' lu mumps'
# best if you do not have mumps:
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu superlu_dist'
# best if you do not have mumps or superlu_dist:
#petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
#petsc_options_value = ' asm 2 lu gmres 200'
# very basic:
#petsc_options_iname = '-pc_type -ksp_type -ksp_gmres_restart'
#petsc_options_value = ' bjacobi gmres 200'
line_search = bt
nl_abs_tol = 1e-3
nl_rel_tol = 1e-5
l_max_its = 200
nl_max_its = 30
start_time = 0.0
dt = 0.014706
end_time = 0.014706 #0.5
[]
[Outputs]
interval = 1
print_linear_residuals = true
exodus = true
csv = true
console = true
[]
test/tests/userobjects/shape_element_user_object/shape_side_uo_physics_test.i
u_left = 0.5
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
parallel_type = replicated
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[./pot]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./adv_u]
type = PotentialAdvection
variable = u
potential = pot
[../]
[./diff_pot]
type = Diffusion
variable = pot
[../]
[]
[BCs]
[./left]
boundary = left
type = DirichletBC
value = ${u_left}
variable = u
[../]
[./right]
boundary = right
type = DirichletBC
variable = u
value = 0
[../]
[./left_pot]
boundary = left
type = ExampleShapeSideIntegratedBC
variable = pot
num_user_object = num_user_object
denom_user_object = denom_user_object
v = u
Vb = 1
[../]
[./right_pot]
boundary = right
type = DirichletBC
variable = pot
value = 0
[../]
[]
[UserObjects]
[./num_user_object]
type = NumShapeSideUserObject
u = u
boundary = left
execute_on = 'linear nonlinear'
[../]
[./denom_user_object]
type = DenomShapeSideUserObject
u = u
boundary = left
execute_on = 'linear nonlinear'
[../]
[]
[AuxVariables]
[./u_flux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./u_flux]
type = DriftDiffusionFluxAux
variable = u_flux
u = u
potential = pot
component = 0
[../]
[]
[Problem]
type = FEProblem
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -sub_pc_type -sub_ksp_type'
petsc_options_value = 'asm lu preonly'
[]
[Outputs]
exodus = true
perf_graph = true
[]
[ICs]
[./u]
type = FunctionIC
variable = u
function = ic_u
[../]
[./pot]
type = FunctionIC
variable = pot
function = ic_pot
[../]
[]
[Functions]
[./ic_u]
type = ParsedFunction
value = '${u_left} * (1 - x)'
[../]
[./ic_pot]
type = ParsedFunction
value = '1 - x'
[../]
[]
modules/porous_flow/test/tests/heterogeneous_materials/constant_poroperm2.i
# Assign porosity and permeability variables from constant AuxVariables to create
# a heterogeneous model
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 3
nz = 3
xmin = 1
xmax = 4
ymin = 1
ymax = 4
zmin = 1
zmax = 4
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 -10'
[]
[Variables]
[./ppwater]
initial_condition = 1e6
[../]
[]
[AuxVariables]
[./poro]
family = MONOMIAL
order = CONSTANT
[../]
[./permxx]
family = MONOMIAL
order = CONSTANT
[../]
[./permxy]
family = MONOMIAL
order = CONSTANT
[../]
[./permxz]
family = MONOMIAL
order = CONSTANT
[../]
[./permyx]
family = MONOMIAL
order = CONSTANT
[../]
[./permyy]
family = MONOMIAL
order = CONSTANT
[../]
[./permyz]
family = MONOMIAL
order = CONSTANT
[../]
[./permzx]
family = MONOMIAL
order = CONSTANT
[../]
[./permzy]
family = MONOMIAL
order = CONSTANT
[../]
[./permzz]
family = MONOMIAL
order = CONSTANT
[../]
[./poromat]
family = MONOMIAL
order = CONSTANT
[../]
[./permxxmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permxymat]
family = MONOMIAL
order = CONSTANT
[../]
[./permxzmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permyxmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permyymat]
family = MONOMIAL
order = CONSTANT
[../]
[./permyzmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permzxmat]
family = MONOMIAL
order = CONSTANT
[../]
[./permzymat]
family = MONOMIAL
order = CONSTANT
[../]
[./permzzmat]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./poromat]
type = PorousFlowPropertyAux
property = porosity
variable = poromat
[../]
[./permxxmat]
type = PorousFlowPropertyAux
property = permeability
variable = permxxmat
column = 0
row = 0
[../]
[./permxymat]
type = PorousFlowPropertyAux
property = permeability
variable = permxymat
column = 1
row = 0
[../]
[./permxzmat]
type = PorousFlowPropertyAux
property = permeability
variable = permxzmat
column = 2
row = 0
[../]
[./permyxmat]
type = PorousFlowPropertyAux
property = permeability
variable = permyxmat
column = 0
row = 1
[../]
[./permyymat]
type = PorousFlowPropertyAux
property = permeability
variable = permyymat
column = 1
row = 1
[../]
[./permyzmat]
type = PorousFlowPropertyAux
property = permeability
variable = permyzmat
column = 2
row = 1
[../]
[./permzxmat]
type = PorousFlowPropertyAux
property = permeability
variable = permzxmat
column = 0
row = 2
[../]
[./permzymat]
type = PorousFlowPropertyAux
property = permeability
variable = permzymat
column = 1
row = 2
[../]
[./permzzmat]
type = PorousFlowPropertyAux
property = permeability
variable = permzzmat
column = 2
row = 2
[../]
[]
[ICs]
[./poro]
type = RandomIC
seed = 0
variable = poro
max = 0.5
min = 0.1
[../]
[./permxx]
type = FunctionIC
function = permxx
variable = permxx
[../]
[./permxy]
type = FunctionIC
function = permxy
variable = permxy
[../]
[./permxz]
type = FunctionIC
function = permxz
variable = permxz
[../]
[./permyx]
type = FunctionIC
function = permyx
variable = permyx
[../]
[./permyy]
type = FunctionIC
function = permyy
variable = permyy
[../]
[./permyz]
type = FunctionIC
function = permyz
variable = permyz
[../]
[./permzx]
type = FunctionIC
function = permzx
variable = permzx
[../]
[./permzy]
type = FunctionIC
function = permzy
variable = permzy
[../]
[./permzz]
type = FunctionIC
function = permzz
variable = permzz
[../]
[]
[Functions]
[./permxx]
type = ParsedFunction
value = '(x*x)*1e-11'
[../]
[./permxy]
type = ParsedFunction
value = '(x*y)*1e-11'
[../]
[./permxz]
type = ParsedFunction
value = '(x*z)*1e-11'
[../]
[./permyx]
type = ParsedFunction
value = '(y*x)*1e-11'
[../]
[./permyy]
type = ParsedFunction
value = '(y*y)*1e-11'
[../]
[./permyz]
type = ParsedFunction
value = '(y*z)*1e-11'
[../]
[./permzx]
type = ParsedFunction
value = '(z*x)*1e-11'
[../]
[./permzy]
type = ParsedFunction
value = '(z*y)*1e-11'
[../]
[./permzz]
type = ParsedFunction
value = '(z*z)*1e-11'
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = ppwater
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
variable = ppwater
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'ppwater'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 1000
viscosity = 1e-3
thermal_expansion = 0
cv = 2
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseFullySaturated
porepressure = ppwater
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = poro
[../]
[./permeability]
type = PorousFlowPermeabilityConstFromVar
perm_xx = permxx
perm_xy = permxy
perm_xz = permxz
perm_yx = permyx
perm_yy = permyy
perm_yz = permyz
perm_zx = permzx
perm_zy = permzy
perm_zz = permzz
[../]
[./relperm_water]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[Postprocessors]
[./mass_ph0]
type = PorousFlowFluidMass
fluid_component = 0
execute_on = 'initial timestep_end'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol'
petsc_options_value = 'bcgs bjacobi 1E-12 1E-10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 100
dt = 100
[]
[Outputs]
execute_on = 'initial timestep_end'
exodus = true
perf_graph = true
[]
modules/phase_field/test/tests/MultiPhase/thirdphasesuppressionmaterial.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
nz = 0
xmin = 0
xmax = 1
ymin = 0
ymax = 1
elem_type = QUAD4
[]
[AuxVariables]
[./eta1]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
variable = eta1
function = x
[../]
[../]
[./eta2]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
variable = eta2
function = 1-x
[../]
[../]
[./eta3]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
variable = eta3
function = y
[../]
[../]
[]
[BCs]
[./Periodic]
[./All]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./suppressionbarrier]
type = ThirdPhaseSuppressionMaterial
etas = 'eta1 eta2 eta3'
function_name = g
outputs = exodus
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Problem]
solve = false
[]
[Outputs]
exodus = true
[]
test/tests/functions/image_function/image.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
ny = 10
nz = 10
[]
[Adaptivity]
max_h_level = 5
initial_steps = 5
initial_marker = marker
[./Indicators]
[./indicator]
type = GradientJumpIndicator
variable = u
[../]
[../]
[./Markers]
[./marker]
type = ErrorFractionMarker
indicator = indicator
refine = 0.9
[../]
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file = stack/test_00.png
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[../]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/poroperm/poro_hm.i
# Test that porosity is correctly calculated.
# Porosity = biot + (phi0 - biot) * exp(-vol_strain + (biot - 1) / solid_bulk * (porepressure - ref_pressure))
# The parameters used are:
# biot = 0.7
# phi0 = 0.5
# vol_strain = 0.5
# solid_bulk = 0.3
# porepressure = 2
# ref_pressure = 3
# which yield porosity = 0.370255745860
[Mesh]
type = GeneratedMesh
dim = 3
[]
[GlobalParams]
PorousFlowDictator = dictator
displacements = 'disp_x disp_y disp_z'
biot_coefficient = 0.7
[]
[Variables]
[./porepressure]
initial_condition = 2
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[ICs]
[./disp_x]
type = FunctionIC
function = '0.5 * x'
variable = disp_x
[../]
[]
[Kernels]
[./dummy_p]
type = TimeDerivative
variable = porepressure
[../]
[./dummy_x]
type = TimeDerivative
variable = disp_x
[../]
[./dummy_y]
type = TimeDerivative
variable = disp_y
[../]
[./dummy_z]
type = TimeDerivative
variable = disp_z
[../]
[]
[AuxVariables]
[./porosity]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
[../]
[]
[Postprocessors]
[./porosity]
type = PointValue
variable = porosity
point = '0 0 0'
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'porepressure'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = 3
[../]
[./eff_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./vol_strain]
type = PorousFlowVolumetricStrain
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = porepressure
capillary_pressure = pc
[../]
[./porosity]
type = PorousFlowPorosity
fluid = true
mechanical = true
ensure_positive = false
porosity_zero = 0.5
solid_bulk = 0.3
reference_porepressure = 3
[../]
[]
[Executioner]
solve_type = Newton
type = Transient
num_steps = 1
[]
[Outputs]
csv = true
[]
modules/richards/test/tests/dirac/bh27.i
#2-phase version of bh07 (go to steadystate with borehole)
[Mesh]
type = FileMesh
file = bh07_input.e
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 1E-5'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1000 10000'
x = '100 1000'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.6
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.6
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGnone
[../]
[./SUPGgas]
type = RichardsSUPGnone
[../]
[./borehole_total_outflow_mass]
type = RichardsSumQuantity
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = 1E7
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = 1E7
[../]
[]
[BCs]
[./fix_outer_w]
type = DirichletBC
boundary = perimeter
variable = pwater
value = 1E7
[../]
[./fix_outer_g]
type = DirichletBC
boundary = perimeter
variable = pgas
value = 1E7
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFullyUpwindFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFullyUpwindFlux
variable = pgas
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[DiracKernels]
[./bh]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh07.bh
SumQuantityUO = borehole_total_outflow_mass
fully_upwind = true
variable = pwater
unit_weight = '0 0 0'
re_constant = 0.1594
character = 2 # this is to make the length 1m borehole fill the entire 2m height
[../]
[./bh_gas_dummy]
type = RichardsBorehole
bottom_pressure = 0
point_file = bh07.bh
SumQuantityUO = borehole_total_outflow_mass
fully_upwind = true
variable = pgas
unit_weight = '0 0 0'
re_constant = 0.1594
character = 2 # this is to make the length 1m borehole fill the entire 2m height
[../]
[]
[Postprocessors]
[./bh_report]
type = RichardsPlotQuantity
uo = borehole_total_outflow_mass
execute_on = 'initial timestep_end'
[../]
[./water_mass]
type = RichardsMass
variable = pwater
execute_on = 'initial timestep_end'
[../]
[./gas_mass]
type = RichardsMass
variable = pgas
execute_on = 'initial timestep_end'
[../]
[]
[Materials]
[./all]
type = RichardsMaterial
block = 1
mat_porosity = 0.1
mat_permeability = '1E-11 0 0 0 1E-11 0 0 0 1E-11'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./usual]
type = SMP
full = true
petsc_options = '-snes_converged_reason -ksp_diagonal_scale -ksp_diagonal_scale_fix -ksp_gmres_modifiedgramschmidt'
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap -snes_atol -snes_rtol -snes_max_it -ksp_rtol -ksp_atol'
petsc_options_value = 'gmres asm lu NONZERO 2 1E-10 1E-10 20 1E-10 1E-100'
[../]
[]
[Executioner]
type = Transient
end_time = 1000
solve_type = NEWTON
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bh27
execute_on = 'initial timestep_end final'
interval = 1000000
exodus = true
[]
modules/richards/test/tests/user_objects/uo2.i
# Density User objects give the correct value
#
# If you want to add another test for another UserObject
# then add the UserObject, add a Function defining the expected result,
# add an AuxVariable and AuxKernel that will record the UserObjects value
# and finally add a NodalL2Error that compares this with the Function
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityIdeal]
type = RichardsDensityIdeal
p0 = 33333
slope = 1.1E-2
[../]
[./DensityMethane20degC]
type = RichardsDensityMethane20degC
[../]
[./DensityVDW]
type = RichardsDensityVDW
a = 0.2303
b = 4.31E-4
temperature = 293
molar_mass = 16.04246E-3
infinity_ratio = 10
[../]
[./DensityConstBulkCut]
type = RichardsDensityConstBulkCut
dens0 = 1000
bulk_mod = 2E6
cut_limit = 1E6
zero_point = -1E6
[../]
# following are unimportant in this test
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-6
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.10101
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.054321
sum_s_res = 0.054321
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E5
[../]
[]
[Functions]
[./initial_pressure]
type = ParsedFunction
value = x
[../]
[./answer_DensityConstBulk]
type = ParsedFunction
value = dens0*exp(x/bulk_mod)
vars = 'dens0 bulk_mod'
vals = '1000 2E6'
[../]
[./answer_dDensityConstBulk]
type = GradParsedFunction
direction = '1 0 0'
value = dens0*exp(x/bulk_mod)
vars = 'dens0 bulk_mod'
vals = '1000 2E6'
[../]
[./answer_d2DensityConstBulk]
type = Grad2ParsedFunction
direction = '1 0 0'
value = dens0*exp(x/bulk_mod)
vars = 'dens0 bulk_mod'
vals = '1000 2E6'
[../]
[./answer_DensityIdeal]
type = ParsedFunction
value = slope*(x-p0)
vars = 'p0 slope'
vals = '33333 1.1E-2'
[../]
[./answer_dDensityIdeal]
type = GradParsedFunction
direction = '1 0 0'
value = slope*(x-p0)
vars = 'p0 slope'
vals = '33333 1.1E-2'
[../]
[./answer_d2DensityIdeal]
type = Grad2ParsedFunction
direction = '1 0 0'
value = slope*(x-p0)
vars = 'p0 slope'
vals = '33333 1.1E-2'
[../]
[./answer_DensityMethane20degC]
type = ParsedFunction
value = if(x>0,(0.00654576947608E-3*x+1.04357716547E-13*x^2),0)+if(x<0,0.1*(e^(6.54576947608E-5*x)-1),0)
[../]
[./answer_dDensityMethane20degC]
type = GradParsedFunction
direction = '1 0 0'
value = if(x>0,(0.00654576947608E-3*x+1.04357716547E-13*x^2),0)+if(x<0,0.1*(e^(6.54576947608E-5*x)-1),0)
[../]
[./answer_d2DensityMethane20degC]
type = Grad2ParsedFunction
direction = '1 0 0'
value = if(x>0,(0.00654576947608E-3*x+1.04357716547E-13*x^2),0)+if(x<0,0.1*(e^(6.54576947608E-5*x)-1),0)
[../]
[./answer_DensityVDW]
type = ParsedFunction
value = if(x>0,-(molar_mass*(-2+(2*pow(2,0.3333333333333333)*(a-3*b*(b*x+rt)))/pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*x+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*x-rt),2)-4*pow(a-3*b*(b*x+rt),3)),0.5),0.3333333333333333)+(pow(2,0.6666666666666666)*pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*x+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*x-rt),2)-4*pow(a-3*b*(b*x+rt),3)),0.5),0.3333333333333333))/a))/(6.*b)+(molar_mass*(-2+(2*pow(2,0.3333333333333333)*(a-3*b*(b*0+rt)))/pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*0+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*0-rt),2)-4*pow(a-3*b*(b*0+rt),3)),0.5),0.3333333333333333)+(pow(2,0.6666666666666666)*pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*0+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*0-rt),2)-4*pow(a-3*b*(b*0+rt),3)),0.5),0.3333333333333333))/a))/(6.*b),infinityratio*molar_mass*(e^(slope0*x)-1))
vars = 'a b rt molar_mass infinityratio slope0'
vals = '0.2303 0.000431 2436.1403 0.01604246 10 4.10485e-05'
[../]
[./answer_dDensityVDW]
type = GradParsedFunction
direction = '1 0 0'
value = if(x>0,-(molar_mass*(-2+(2*pow(2,0.3333333333333333)*(a-3*b*(b*x+rt)))/pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*x+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*x-rt),2)-4*pow(a-3*b*(b*x+rt),3)),0.5),0.3333333333333333)+(pow(2,0.6666666666666666)*pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*x+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*x-rt),2)-4*pow(a-3*b*(b*x+rt),3)),0.5),0.3333333333333333))/a))/(6.*b),infinityratio*molar_mass*(e^(slope0*x)-1))
vars = 'a b rt molar_mass infinityratio slope0'
vals = '0.2303 0.000431 2436.1403 0.01604246 10 4.10485e-05'
[../]
[./answer_d2DensityVDW]
type = Grad2ParsedFunction
direction = '1 0 0'
value = if(x>0,-(molar_mass*(-2+(2*pow(2,0.3333333333333333)*(a-3*b*(b*x+rt)))/pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*x+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*x-rt),2)-4*pow(a-3*b*(b*x+rt),3)),0.5),0.3333333333333333)+(pow(2,0.6666666666666666)*pow(-2*pow(a,3)+9*pow(a,2)*b*(-2*b*x+rt)+pow(pow(a,3)*(a*pow(2*a+9*b*(2*b*x-rt),2)-4*pow(a-3*b*(b*x+rt),3)),0.5),0.3333333333333333))/a))/(6.*b),infinityratio*molar_mass*(e^(slope0*x)-1))
vars = 'a b rt molar_mass infinityratio slope0'
vals = '0.2303 0.000431 2436.1403 0.01604246 10 4.10485e-05'
[../]
[./answer_DensityConstBulkCut]
type = ParsedFunction
value = if(x<zero_pt,0,if(x>cut_limit,dens0*exp(x/bulk_mod),(3*cut_limit-2*x-zero_pt)*(x-zero_pt)*(x-zero_pt)*dens0*exp(x/bulk_mod)/(cut_limit-zero_pt)/(cut_limit-zero_pt)/(cut_limit-zero_pt)))
vars = 'dens0 bulk_mod zero_pt cut_limit'
vals = '1000 2E6 -1E6 1E6'
[../]
[./answer_dDensityConstBulkCut]
type = GradParsedFunction
direction = '1 0 0'
value = if(x<zero_pt,0,if(x>cut_limit,dens0*exp(x/bulk_mod),(3*cut_limit-2*x-zero_pt)*(x-zero_pt)*(x-zero_pt)*dens0*exp(x/bulk_mod)/(cut_limit-zero_pt)/(cut_limit-zero_pt)/(cut_limit-zero_pt)))
vars = 'dens0 bulk_mod zero_pt cut_limit'
vals = '1000 2E6 -1E6 1E6'
[../]
[./answer_d2DensityConstBulkCut]
type = Grad2ParsedFunction
direction = '1 0 0'
value = if(x<zero_pt,0,if(x>cut_limit,dens0*exp(x/bulk_mod),(3*cut_limit-2*x-zero_pt)*(x-zero_pt)*(x-zero_pt)*dens0*exp(x/bulk_mod)/(cut_limit-zero_pt)/(cut_limit-zero_pt)/(cut_limit-zero_pt)))
vars = 'dens0 bulk_mod zero_pt cut_limit'
vals = '1000 2E6 -1E6 1E6'
[../]
[]
[AuxVariables]
[./DensityConstBulk_Aux]
[../]
[./dDensityConstBulk_Aux]
[../]
[./d2DensityConstBulk_Aux]
[../]
[./DensityIdeal_Aux]
[../]
[./dDensityIdeal_Aux]
[../]
[./d2DensityIdeal_Aux]
[../]
[./DensityMethane20degC_Aux]
[../]
[./dDensityMethane20degC_Aux]
[../]
[./d2DensityMethane20degC_Aux]
[../]
[./DensityVDW_Aux]
[../]
[./dDensityVDW_Aux]
[../]
[./d2DensityVDW_Aux]
[../]
[./DensityConstBulkCut_Aux]
[../]
[./dDensityConstBulkCut_Aux]
[../]
[./d2DensityConstBulkCut_Aux]
[../]
[./check_Aux]
[../]
[]
[AuxKernels]
[./DensityConstBulk_AuxK]
type = RichardsDensityAux
variable = DensityConstBulk_Aux
density_UO = DensityConstBulk
pressure_var = pressure
[../]
[./dDensityConstBulk_AuxK]
type = RichardsDensityPrimeAux
variable = dDensityConstBulk_Aux
density_UO = DensityConstBulk
pressure_var = pressure
[../]
[./d2DensityConstBulk_AuxK]
type = RichardsDensityPrimePrimeAux
variable = d2DensityConstBulk_Aux
density_UO = DensityConstBulk
pressure_var = pressure
[../]
[./DensityIdeal_AuxK]
type = RichardsDensityAux
variable = DensityIdeal_Aux
density_UO = DensityIdeal
pressure_var = pressure
[../]
[./dDensityIdeal_AuxK]
type = RichardsDensityPrimeAux
variable = dDensityIdeal_Aux
density_UO = DensityIdeal
pressure_var = pressure
[../]
[./d2DensityIdeal_AuxK]
type = RichardsDensityPrimePrimeAux
variable = d2DensityIdeal_Aux
density_UO = DensityIdeal
pressure_var = pressure
[../]
[./DensityMethane20degC_AuxK]
type = RichardsDensityAux
variable = DensityMethane20degC_Aux
density_UO = DensityMethane20degC
pressure_var = pressure
[../]
[./dDensityMethane20degC_AuxK]
type = RichardsDensityPrimeAux
variable = dDensityMethane20degC_Aux
density_UO = DensityMethane20degC
pressure_var = pressure
[../]
[./d2DensityMethane20degC_AuxK]
type = RichardsDensityPrimePrimeAux
variable = d2DensityMethane20degC_Aux
density_UO = DensityMethane20degC
pressure_var = pressure
[../]
[./DensityVDW_AuxK]
type = RichardsDensityAux
variable = DensityVDW_Aux
density_UO = DensityVDW
pressure_var = pressure
[../]
[./dDensityVDW_AuxK]
type = RichardsDensityPrimeAux
variable = dDensityVDW_Aux
density_UO = DensityVDW
pressure_var = pressure
[../]
[./d2DensityVDW_AuxK]
type = RichardsDensityPrimePrimeAux
variable = d2DensityVDW_Aux
density_UO = DensityVDW
pressure_var = pressure
[../]
[./DensityConstBulkCut_AuxK]
type = RichardsDensityAux
variable = DensityConstBulkCut_Aux
density_UO = DensityConstBulkCut
pressure_var = pressure
[../]
[./dDensityConstBulkCut_AuxK]
type = RichardsDensityPrimeAux
variable = dDensityConstBulkCut_Aux
density_UO = DensityConstBulkCut
pressure_var = pressure
[../]
[./d2DensityConstBulkCut_AuxK]
type = RichardsDensityPrimePrimeAux
variable = d2DensityConstBulkCut_Aux
density_UO = DensityConstBulkCut
pressure_var = pressure
[../]
[./check_AuxK]
type = FunctionAux
variable = check_Aux
function = answer_d2DensityConstBulkCut
[../]
[]
[Postprocessors]
[./cf_DensityConstBulk]
type = NodalL2Error
function = answer_DensityConstBulk
variable = DensityConstBulk_Aux
[../]
[./cf_dDensityConstBulk]
type = NodalL2Error
function = answer_dDensityConstBulk
variable = dDensityConstBulk_Aux
[../]
[./cf_d2DensityConstBulk]
type = NodalL2Error
function = answer_d2DensityConstBulk
variable = d2DensityConstBulk_Aux
[../]
[./cf_DensityIdeal]
type = NodalL2Error
function = answer_DensityIdeal
variable = DensityIdeal_Aux
[../]
[./cf_dDensityIdeal]
type = NodalL2Error
function = answer_dDensityIdeal
variable = dDensityIdeal_Aux
[../]
[./cf_d2DensityIdeal]
type = NodalL2Error
function = answer_d2DensityIdeal
variable = d2DensityIdeal_Aux
[../]
[./cf_DensityMethane20degC]
type = NodalL2Error
function = answer_DensityMethane20degC
variable = DensityMethane20degC_Aux
[../]
[./cf_dDensityMethane20degC]
type = NodalL2Error
function = answer_dDensityMethane20degC
variable = dDensityMethane20degC_Aux
[../]
[./cf_d2DensityMethane20degC]
type = NodalL2Error
function = answer_d2DensityMethane20degC
variable = d2DensityMethane20degC_Aux
[../]
[./cf_DensityVDW]
type = NodalL2Error
function = answer_DensityVDW
variable = DensityVDW_Aux
[../]
[./cf_dDensityVDW]
type = NodalL2Error
function = answer_dDensityVDW
variable = dDensityVDW_Aux
[../]
[./cf_d2DensityVDW]
type = NodalL2Error
function = answer_d2DensityVDW
variable = d2DensityVDW_Aux
[../]
[./cf_DensityConstBulkCut]
type = NodalL2Error
function = answer_DensityConstBulkCut
variable = DensityConstBulkCut_Aux
[../]
[./cf_dDensityConstBulkCut]
type = NodalL2Error
function = answer_dDensityConstBulkCut
variable = dDensityConstBulkCut_Aux
[../]
[./cf_d2DensityConstBulkCut]
type = NodalL2Error
function = answer_d2DensityConstBulkCut
variable = d2DensityConstBulkCut_Aux
[../]
[]
#############################################################################
#
# Following is largely unimportant as we are not running an actual similation
#
#############################################################################
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = -5E6
xmax = 5E6
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[Kernels]
active = 'richardst'
[./richardst]
type = RichardsMassChange
richardsVarNames_UO = PPNames
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
richardsVarNames_UO = PPNames
variable = pressure
[../]
[]
[Materials]
[./unimportant_material]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-20 0 0 0 1E-20 0 0 0 1E-20'
richardsVarNames_UO = PPNames
density_UO = DensityConstBulk
relperm_UO = RelPermPower
sat_UO = Saturation
seff_UO = SeffVG
SUPG_UO = SUPGstandard
viscosity = 1E-3
gravity = '0 0 -10'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./does_nothing]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E50 1E50 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 1
dt = 1E-100
[]
[Outputs]
execute_on = 'timestep_end'
active = 'csv'
file_base = uo2
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
hide = pressure
[../]
[]
modules/richards/test/tests/buckley_leverett/bl02.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 150
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2.0E6
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1E-3
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[AuxKernels]
active = 'calculate_seff'
[./calculate_seff]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffVG
pressure_vars = pressure
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = initial_pressure
[../]
[../]
[]
[BCs]
active = 'left'
[./left]
type = DirichletBC
variable = pressure
boundary = left
value = 980000
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[Functions]
active = 'initial_pressure'
[./initial_pressure]
type = ParsedFunction
value = max((1000000-x/5*1000000)-20000,-20000)
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'andy'
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 20'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 50
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.01
[../]
[]
[Outputs]
file_base = bl02
interval = 1000000
exodus = true
[]
modules/porous_flow/test/tests/mass_conservation/mass06.i
# Checking that the mass postprocessor correctly calculates the mass
# of each component in each phase, as well as the total mass of each
# component in all phases. Also tests that optional saturation threshold
# gives the correct mass
# 2phase, 2component, constant porosity
# saturation_threshold set to 0.6 for phase 1
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[./sat]
[../]
[]
[AuxVariables]
[./massfrac_ph0_sp0]
initial_condition = 1
[../]
[./massfrac_ph1_sp0]
initial_condition = 0
[../]
[]
[ICs]
[./pinit]
type = ConstantIC
value = 1
variable = pp
[../]
[./satinit]
type = FunctionIC
function = 1-x
variable = sat
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = sat
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp sat'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 1
thermal_expansion = 0
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1
density0 = 0.1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = pp
phase1_saturation = sat
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'massfrac_ph0_sp0 massfrac_ph1_sp0'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Postprocessors]
[./comp0_phase0_mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = 0
[../]
[./comp0_phase1_mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = 1
[../]
[./comp0_total_mass]
type = PorousFlowFluidMass
fluid_component = 0
[../]
[./comp1_phase0_mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = 0
[../]
[./comp1_phase1_mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = 1
[../]
[./comp1_total_mass]
type = PorousFlowFluidMass
fluid_component = 1
[../]
[./comp1_phase1_threshold_mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = 1
saturation_threshold = 0.6
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
nl_abs_tol = 1e-16
dt = 1
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = mass06
csv = true
[]
modules/porous_flow/test/tests/sinks/s05.i
# apply a half-gaussian sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1.4
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[]
[Functions]
[./mass10]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p10 1.3 1.1 0.5'
[../]
[./rate10]
type = ParsedFunction
value = 'if(pp>center,fcn,fcn*exp(-0.5*(pp-center)*(pp-center)/sd/sd))'
vars = 'fcn pp center sd'
vals = '6 p10 0.9 0.5'
[../]
[./mass10_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm10_prev m10_rate 0.5 2E-3'
[../]
[./mass11]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p11 1.3 1.1 0.5'
[../]
[./rate11]
type = ParsedFunction
value = 'if(pp>center,fcn,fcn*exp(-0.5*(pp-center)*(pp-center)/sd/sd))'
vars = 'fcn pp center sd'
vals = '6 p11 0.9 0.5'
[../]
[./mass11_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm11_prev m11_rate 0.5 2E-3'
[../]
[]
[Postprocessors]
[./flux10]
type = PointValue
variable = flux_out
point = '1 0 0'
[../]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m10]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'initial timestep_end'
[../]
[./m10_prev]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m10_rate]
type = FunctionValuePostprocessor
function = rate10
execute_on = 'timestep_end'
[../]
[./m10_expect]
type = FunctionValuePostprocessor
function = mass10_expect
execute_on = 'timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m11]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'initial timestep_end'
[../]
[./m11_prev]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m11_rate]
type = FunctionValuePostprocessor
function = rate11
execute_on = 'timestep_end'
[../]
[./m11_expect]
type = FunctionValuePostprocessor
function = mass11_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowHalfGaussianSink
boundary = 'right'
max = 6
sd = 0.5
center = 0.9
variable = pp
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 6E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s05
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 5
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 3
[../]
[]
modules/porous_flow/test/tests/relperm/corey2.i
# Test Corey relative permeability curve by varying saturation over the mesh
# Corey exponent n = 2 for both phases
# No residual saturation in either phase
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
family = LAGRANGE
order = FIRST
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./kr1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./kr0]
type = PorousFlowPropertyAux
property = relperm
phase = 0
variable = kr0aux
[../]
[./kr1]
type = PorousFlowPropertyAux
property = relperm
phase = 1
variable = kr1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityCorey
phase = 0
n = 2
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux kr0aux kr1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 20
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-8
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/transfers/multiapp_projection_transfer/high_order_master.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
[]
[Functions]
[./test_function]
type = ParsedFunction
value = '2.5*x^2 + 0.75*y^2 + 0.15*x*y'
[../]
[]
[AuxVariables]
[./from_sub]
family = monomial
order = first
[../]
[./test_var]
family = monomial
order = first
[./InitialCondition]
type = FunctionIC
function = test_function
[../]
[../]
[]
[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
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
[MultiApps]
[./sub]
type = FullSolveMultiApp
app_type = MooseTestApp
execute_on = initial
positions = '0.0 0.0 0.0'
input_files = high_order_sub.i
[../]
[]
[Transfers]
[./from]
type = MultiAppProjectionTransfer
direction = from_multiapp
execute_on = same_as_multiapp
multi_app = sub
source_variable = test_var
variable = from_sub
[../]
[./to]
type = MultiAppProjectionTransfer
direction = to_multiapp
execute_on = same_as_multiapp
multi_app = sub
source_variable = test_var
variable = from_master
[../]
[]
modules/porous_flow/test/tests/chemistry/2species_equilibrium.i
# PorousFlow analogy of chemical_reactions/test/tests/aqueous_equilibrium/2species.i
#
# Simple equilibrium reaction example to illustrate the use of PorousFlowMassFractionAqueousEquilibriumChemistry
#
# In this example, two primary species a and b are transported by diffusion and convection
# from the left of the porous medium, reacting to form two equilibrium species pa2 and pab
# according to the equilibrium reaction:
#
# reactions = '2a = pa2 rate = 10^2
# a + b = pab rate = 10^-2'
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
[]
[Variables]
[./a]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[./b]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = BoundingBoxIC
x1 = 0.0
y1 = 0.0
x2 = 1.0e-10
y2 = 1
inside = 1.0e-2
outside = 1.0e-10
[../]
[../]
[]
[AuxVariables]
[./eqm_k0]
initial_condition = 1E2
[../]
[./eqm_k1]
initial_condition = 1E-2
[../]
[./pressure]
[../]
[./pa2]
family = MONOMIAL
order = CONSTANT
[../]
[./pab]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./pa2]
type = PorousFlowPropertyAux
property = secondary_concentration
secondary_species = 0
variable = pa2
[../]
[./pab]
type = PorousFlowPropertyAux
property = secondary_concentration
secondary_species = 1
variable = pab
[../]
[]
[ICs]
[./pressure]
type = FunctionIC
variable = pressure
function = 2-x
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Kernels]
[./mass_a]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = a
[../]
[./flux_a]
type = PorousFlowFullySaturatedDarcyFlow
variable = a
fluid_component = 0
[../]
[./diff_a]
type = PorousFlowDispersiveFlux
variable = a
fluid_component = 0
disp_trans = 0
disp_long = 0
[../]
[./mass_b]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = b
[../]
[./flux_b]
type = PorousFlowFullySaturatedDarcyFlow
variable = b
fluid_component = 1
[../]
[./diff_b]
type = PorousFlowDispersiveFlux
variable = b
fluid_component = 1
disp_trans = 0
disp_long = 0
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'a b'
number_fluid_phases = 1
number_fluid_components = 3
number_aqueous_equilibrium = 2
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9 # huge, so mimic chemical_reactions
density0 = 1000
thermal_expansion = 0
viscosity = 1e-3
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseFullySaturated
porepressure = pressure
[../]
[./massfrac]
type = PorousFlowMassFractionAqueousEquilibriumChemistry
mass_fraction_vars = 'a b'
num_reactions = 2
equilibrium_constants = 'eqm_k0 eqm_k1'
primary_activity_coefficients = '1 1'
secondary_activity_coefficients = '1 1'
reactions = '2 0
1 1'
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./permeability]
type = PorousFlowPermeabilityConst
# porous_flow permeability / porous_flow viscosity = chemical_reactions conductivity = 1E-4
permeability = '1E-7 0 0 0 1E-7 0 0 0 1E-7'
[../]
[./relp]
type = PorousFlowRelativePermeabilityConst
phase = 0
[../]
[./diff]
type = PorousFlowDiffusivityConst
# porous_flow diffusion_coeff * tortuousity * porosity = chemical_reactions diffusivity = 1E-4
diffusion_coeff = '5E-4 5E-4 5E-4'
tortuosity = 1.0
[../]
[]
[BCs]
[./a_left]
type = DirichletBC
variable = a
boundary = left
value = 1.0e-2
[../]
[./b_left]
type = DirichletBC
variable = b
boundary = left
value = 1.0e-2
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 10
end_time = 100
[]
[Outputs]
print_linear_residuals = true
exodus = true
perf_graph = true
[]
test/tests/misc/jacobian/offdiag.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./s]
[./InitialCondition]
type = FunctionIC
function = sin(10*x+y)
[../]
[../]
[./t]
[./InitialCondition]
type = FunctionIC
function = sin(13*y+x)
[../]
[../]
[]
[Kernels]
[./diffs]
type = WrongJacobianDiffusion
variable = s
coupled = t
[../]
[./difft]
type = WrongJacobianDiffusion
variable = t
coupled = s
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
modules/phase_field/test/tests/ExpressionBuilderCoupledVectorTest/testCoupledVector.i
[Mesh]
type = GeneratedMesh
dim = 2 # Problem dimension
nx = 10
ny = 10
[]
[GlobalParams]
op_num = 2 # Number of grains
var_name_base = gr # Base name of grains
[]
[AuxVariables]
[./gr0]
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./gr1]
[./InitialCondition]
type = FunctionIC
function = y
[../]
[../]
[]
[Materials]
[./Tester]
type = EBCoupledVarTest
outputs = exodus
[../]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[../]
[Outputs]
exodus = true
execute_on = 'INITIAL TIMESTEP_END'
[]
test/tests/functions/image_function/flip_quad.i
[Mesh]
uniform_refine = 1
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 20
xmax = 2
ymax = 2
[]
# Define block IDs for the four quadrants in CCW order:
# 1=top_right
# 2=top_left
# 3=bottom_left
# 4=bottom_right
[./top_right_modifier]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '2 2 0'
bottom_left = '1 1 0'
block_id = 1
[../]
[./top_left_modifier]
input = top_right_modifier
type = SubdomainBoundingBoxGenerator
top_right = '1 2 0'
bottom_left = '0 1 0'
block_id = 2
[../]
[./bottom_left_modifier]
input = top_left_modifier
type = SubdomainBoundingBoxGenerator
top_right = '1 1 0'
bottom_left = '0 0 0'
block_id = 3
[../]
[./bottom_right_modifier]
input = bottom_left_modifier
type = SubdomainBoundingBoxGenerator
top_right = '2 1 0'
bottom_left = '1 0 0'
block_id = 4
[../]
[]
[Variables]
[./u]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Functions]
[./bottom_left_func]
type = ImageFunction
file_base = stack/test
flip_x = true
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
file_suffix = png
origin = '0 0 0'
dimensions = '1 1 0'
[../]
[./top_left_func]
type = ImageFunction
file_base = stack/test
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
file_suffix = png
origin = '0 1 0'
dimensions = '1 1 0'
flip_x = true
flip_y = true
[../]
[./top_right_func]
type = ImageFunction
origin = '1 1 0'
file_base = stack/test
file_suffix = png
flip_y = true
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
dimensions = '1 1 0'
[../]
[./bottom_right_func]
type = ImageFunction
origin = '1 0 0'
file_base = stack/test
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
file_suffix = png
dimensions = '1 1 0'
[../]
[]
[ICs]
# Defined the same way as the MeshGenerators
[./top_right_ic]
function = top_right_func
variable = u
type = FunctionIC
block = 1
[../]
[./top_left_ic]
function = top_left_func
variable = u
type = FunctionIC
block = 2
[../]
[./bottom_left_ic]
function = bottom_left_func
variable = u
type = FunctionIC
block = 3
[../]
[./bottom_right_ic]
function = bottom_right_func
variable = u
type = FunctionIC
block = 4
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/richards/test/tests/uo_egs/density.i
# Outputs a density relationship into an exodus file
# and into a CSV file.
# In the exodus file, the density will be a function of "x", and
# this "x" is actually porepressure
# In the CSV file you will find the density at the "x" point
# specified by you below.
#
# You may specify:
# - the "type" of density in the UserObjects block
# - the parameters of this density function in the UserObjects block
# - the "x" point (which is porepressure) that you want to extract
# the density at, if you want a value at a particular point
# - the range of "x" values (which is porepressure values) may be
# changed in the Mesh block, below
[UserObjects]
[./density]
type = RichardsDensityVDW
a = 0.2303
b = 4.31E-5
molar_mass = 16.04246E-3
temperature = 293
[../]
[]
[Postprocessors]
[./point_val]
type = PointValue
execute_on = timestep_begin
# note this point must lie inside the mesh below
point = '1 0 0'
variable = density
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
# the following specify the range of porepressure
xmin = -1E6
xmax = 1E7
[]
############################
# You should not need to change any of the stuff below
############################
[Variables]
[./u]
[../]
[]
[ICs]
[./u_init]
type = FunctionIC
variable = u
function = x
[../]
[]
[AuxVariables]
[./density]
[../]
[]
[AuxKernels]
[./density_AuxK]
type = RichardsDensityAux
variable = density
density_UO = density
execute_on = timestep_begin
pressure_var = u
[../]
[]
[Kernels]
[./dummy]
type = Diffusion
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 0
[]
[Outputs]
file_base = density
[./csv]
type = CSV
[../]
[./exodus]
type = Exodus
hide = u
[../]
[]
test/tests/time_integrators/rk-2/1d-linear.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 20
elem_type = EDGE2
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitMidpoint
[../]
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 10
dt = 0.001
l_tol = 1e-15
[]
[Outputs]
exodus = true
perf_graph = true
[]
test/tests/vectorpostprocessors/spherical_average/spherical_average.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
ny = 10
nz = 10
xmin = -5
xmax = 5
ymin = -5
ymax = 5
zmin = -5
zmax = 5
[]
[Variables]
[./c]
[./InitialCondition]
type = FunctionIC
function = sin(x*7.4+z*4.1)+cos(y*3.8+x*8.7)+sin(z*9.1+y*2.6)
[../]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[VectorPostprocessors]
[./average]
type = SphericalAverage
variable = c
radius = 5
bin_number = 10
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
solve_type = PJFNK
[]
[Outputs]
execute_on = 'initial timestep_end'
exodus = true
csv = true
[]
modules/phase_field/test/tests/automatic_differentiation/admatreaction.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
[]
[Variables]
[./u]
[./InitialCondition]
type = FunctionIC
function = cos(x*2*pi)
[../]
[../]
[./v]
[./InitialCondition]
type = FunctionIC
function = sin(x*2*pi)
[../]
[../]
[]
[Kernels]
[./dudt]
type = ADTimeDerivative
variable = u
[../]
[./dvdt]
type = ADTimeDerivative
variable = v
[../]
[./u]
type = ADMatReaction
variable = u
#v = v
[../]
[./v]
type = ADMatReaction
variable = v
[../]
[]
[Materials]
[./L]
type = ADTestDerivativeFunction
function = F3
f_name = L
op = 'u v'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Executioner]
type = Transient
solve_type = NEWTON
dt = 0.1
num_steps = 5
[]
[Outputs]
exodus = true
[]
test/tests/time_integrators/dirk/dirk-2d-heat.i
#
# Testing a solution that is second order in space and first order in time.
#
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 20
ny = 20
elem_type = QUAD9
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = exact_fn
[../]
[../]
[]
[Functions]
[./forcing_fn]
type = ParsedFunction
value = ((x*x)+(y*y))-(4*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*((x*x)+(y*y))
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
start_time = 0.0
end_time = 1.0
dt = 1.0
nl_abs_tol=1e-13
nl_rel_tol=1e-13
[./TimeIntegrator]
type = LStableDirk2
[../]
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
modules/porous_flow/test/tests/capillary_pressure/vangenuchten3.i
# Test van Genuchten relative permeability curve by varying saturation over the mesh
# van Genuchten exponent m = 0.5 for both phases
# No residual saturation in either phase
[Mesh]
type = GeneratedMesh
dim = 1
nx = 500
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./p0]
initial_condition = 1e6
[../]
[./s1]
[../]
[]
[AuxVariables]
[./s0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./s1aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p0aux]
family = MONOMIAL
order = CONSTANT
[../]
[./p1aux]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s0]
type = PorousFlowPropertyAux
property = saturation
phase = 0
variable = s0aux
[../]
[./s1]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = s1aux
[../]
[./p0]
type = PorousFlowPropertyAux
property = pressure
phase = 0
variable = p0aux
[../]
[./p1]
type = PorousFlowPropertyAux
property = pressure
phase = 1
variable = p1aux
[../]
[]
[Functions]
[./s1]
type = ParsedFunction
value = x
[../]
[]
[ICs]
[./s1]
type = FunctionIC
variable = s1
function = s1
[../]
[]
[Kernels]
[./p0]
type = Diffusion
variable = p0
[../]
[./s1]
type = Diffusion
variable = s1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 s1'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
alpha = 1e-5
m = 0.5
sat_lr = 0.1
s_scale = 0.8
log_extension = false
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePS
phase0_porepressure = p0
phase1_saturation = s1
capillary_pressure = pc
[../]
[./kr0]
type = PorousFlowRelativePermeabilityVG
phase = 0
m = 0.5
[../]
[./kr1]
type = PorousFlowRelativePermeabilityCorey
phase = 1
n = 2
[../]
[]
[VectorPostprocessors]
[./vpp]
type = LineValueSampler
variable = 's0aux s1aux p0aux p1aux'
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 500
sort_by = id
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
nl_abs_tol = 1e-6
[]
[BCs]
[./sleft]
type = DirichletBC
variable = s1
value = 0
boundary = left
[../]
[./sright]
type = DirichletBC
variable = s1
value = 1
boundary = right
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/functions/image_function/crop.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
uniform_refine = 2
xmin = 0.5
ymin = 0.5
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./image_func]
type = ImageFunction
file_base = stack/test
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
file_suffix = png
origin = '0 0 0'
dimensions = '1 1 0'
[../]
[]
[ICs]
[./u_ic]
type = FunctionIC
function = image_func
variable = u
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/fluid_properties/test/tests/brine/brine_tabulated.i
# Test BrineFluidProperties calculations of density, viscosity and thermal
# conductivity with a TabulatedFluidProperties water.
#
# Experimental density values from Pitzer et al, "Thermodynamic properties
# of aqueous sodium chloride solution", Journal of Physical and Chemical
# Reference Data, 13, 1-102 (1984)
#
# Experimental viscosity values from Phillips et al, "Viscosity of NaCl and
# other solutions up to 350C and 50MPa pressures", LBL-11586 (1980)
#
# Thermal conductivity values from Ozbek and Phillips, "Thermal conductivity of
# aqueous NaCl solutions from 20C to 330C", LBL-9086 (1980)
#
# --------------------------------------------------------------
# Pressure (Mpa) | 20 | 20 | 40
# Temperature (C) | 50 | 200 | 200
# NaCl molality (mol/kg) | 2 | 2 | 5
# NaCl mass fraction (kg/kg) | 0.1047 | 0.1047 | 0.2261
# --------------------------------------------------------------
# Expected values
# --------------------------------------------------------------
# Density (kg/m^3) | 1068.52 | 959.27 | 1065.58
# Viscosity (1e-6Pa.s) | 679.8 | 180.0 | 263.1
# Thermal conductivity (W/m/K) | 0.630 | 0.649 | 0.633
# --------------------------------------------------------------
# Calculated values
# --------------------------------------------------------------
# Density (kg/m^3) | 1067.18 | 958.68 | 1065.46
# Viscosity (1e-6 Pa.s) | 681.1 | 181.98 | 266.1
# Thermal conductivity (W/m/K) | 0.637 | 0.662 | 0.658
# --------------------------------------------------------------
#
# All results are within expected accuracy
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 1
xmax = 3
# This test uses ElementalVariableValue postprocessors on specific
# elements, so element numbering needs to stay unchanged
allow_renumbering = false
[]
[Variables]
[./dummy]
[../]
[]
[AuxVariables]
[./pressure]
family = MONOMIAL
order = CONSTANT
[../]
[./temperature]
family = MONOMIAL
order = CONSTANT
[../]
[./xnacl]
family = MONOMIAL
order = CONSTANT
[../]
[./density]
family = MONOMIAL
order = CONSTANT
[../]
[./enthalpy]
family = MONOMIAL
order = CONSTANT
[../]
[./internal_energy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Functions]
[./pic]
type = ParsedFunction
value = 'if(x<2,20e6, 40e6)'
[../]
[./tic]
type = ParsedFunction
value = 'if(x<1, 323.15, 473.15)'
[../]
[./xic]
type = ParsedFunction
value = 'if(x<2,0.1047, 0.2261)'
[../]
[]
[ICs]
[./p_ic]
type = FunctionIC
function = pic
variable = pressure
[../]
[./t_ic]
type = FunctionIC
function = tic
variable = temperature
[../]
[./x_ic]
type = FunctionIC
function = xic
variable = xnacl
[../]
[]
[AuxKernels]
[./density]
type = MaterialRealAux
variable = density
property = density
[../]
[./enthalpy]
type = MaterialRealAux
variable = enthalpy
property = enthalpy
[../]
[./internal_energy]
type = MaterialRealAux
variable = internal_energy
property = e
[../]
[]
[Modules]
[./FluidProperties]
[./water]
type = Water97FluidProperties
[../]
[./water_tab]
type = TabulatedFluidProperties
fp = water
save_file = false
[../]
[./brine]
type = BrineFluidProperties
water_fp = water_tab
[../]
[../]
[]
[Materials]
[./fp_mat]
type = MultiComponentFluidPropertiesMaterialPT
pressure = pressure
temperature = temperature
xmass = xnacl
fp = brine
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = dummy
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Postprocessors]
[./density0]
type = ElementalVariableValue
variable = density
elementid = 0
[../]
[./density1]
type = ElementalVariableValue
variable = density
elementid = 1
[../]
[./density2]
type = ElementalVariableValue
variable = density
elementid = 2
[../]
[./enthalpy0]
type = ElementalVariableValue
variable = enthalpy
elementid = 0
[../]
[./enthalpy1]
type = ElementalVariableValue
variable = enthalpy
elementid = 1
[../]
[./enthalpy2]
type = ElementalVariableValue
variable = enthalpy
elementid = 2
[../]
[./e0]
type = ElementalVariableValue
variable = internal_energy
elementid = 0
[../]
[./e1]
type = ElementalVariableValue
variable = internal_energy
elementid = 1
[../]
[./e2]
type = ElementalVariableValue
variable = internal_energy
elementid = 2
[../]
[]
[Outputs]
csv = true
file_base = brine_out
[]
test/tests/misc/initial_solution_copy/solutions_equal.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./initial_func]
type = ParsedFunction
value = sin(pi*x)*sin(pi*y)
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[./source]
type = BodyForce
variable = u
value = 1
[../]
[]
[BCs]
active = 'func_bc'
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[./func_bc]
type = FunctionDirichletBC
variable = u
boundary = 'bottom right top left'
function = initial_func
[../]
[]
[Postprocessors]
[./test_pp]
type = TestCopyInitialSolution
execute_on = timestep_begin
[../]
[]
[Executioner]
type = Transient
num_steps = 1
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[ICs]
[./initial]
function = initial_func
variable = u
type = FunctionIC
[../]
[]
modules/richards/test/tests/buckley_leverett/bl20_lumped_fu.i
# two-phase version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 30
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.1 0.5 0.5 1 2 4'
x = '0 0.1 1 5 40 42'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./w_aux_seff]
[../]
[]
[Kernels]
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFullyUpwindFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFullyUpwindFlux
variable = pgas
[../]
[]
[AuxKernels]
[./w_aux_seff_auxk]
type = RichardsSeffAux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
variable = w_aux_seff
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1000
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -300000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-if(x<5,0,300000)
[../]
[./initial_gas]
type = ParsedFunction
value = 1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options_iname = '-snes_type -pc_factor_shift_type'
petsc_options_value = 'vinewtonssls nonzero'
[../]
[./standard]
type = SMP
full = true
petsc_options_iname = '-pc_factor_shift_type'
petsc_options_value = 'nonzero'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
nl_rel_tol = 1.e-9
nl_max_its = 10
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bl20_lumped_fu
execute_on = 'initial timestep_end final'
interval = 100000
exodus = true
hide = pgas
[./console_out]
type = Console
interval = 1
[../]
[]
modules/combined/examples/phase_field-mechanics/interface_stress.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 50
ny = 50
nz = 50
xmax = 10
ymax = 10
zmax = 10
xmin = -10
ymin = -10
zmin = -10
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Functions]
[./sphere]
type = ParsedFunction
value = 'r:=sqrt(x^2+y^2+z^2); R:=(4.0-r)/2.0; if(R>1,1,if(R<0,0,3*R^2-2*R^3))'
[../]
[]
[AuxVariables]
[./eta]
[./InitialCondition]
type = FunctionIC
function = sphere
[../]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
generate_output = 'hydrostatic_stress stress_xx'
[../]
[]
[Materials]
[./ym]
type = DerivativeParsedMaterial
f_name = ym
function = (1-eta)*7+0.5
args = eta
[../]
[./elasticity]
type = ComputeVariableIsotropicElasticityTensor
poissons_ratio = 0.45
youngs_modulus = ym
args = eta
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./interface]
type = ComputeInterfaceStress
v = eta
stress = 1.0
[../]
[]
[VectorPostprocessors]
[./line]
type = SphericalAverage
variable = 'hydrostatic_stress'
radius = 10
bin_number = 40
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
csv = true
[]
modules/porous_flow/test/tests/numerical_diffusion/pffltvd_action.i
# Using flux-limited TVD advection ala Kuzmin and Turek, employing PorousFlow Kernels and UserObjects, with superbee flux-limiter
# Using the PorousFlowFullySaturated Action
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./porepressure]
[../]
[./tracer]
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '1 - x'
[../]
[./tracer]
type = FunctionIC
variable = tracer
function = 'if(x<0.1,0,if(x>0.3,0,1))'
[../]
[]
[PorousFlowFullySaturated]
porepressure = porepressure
coupling_type = Hydro
fp = the_simple_fluid
mass_fraction_vars = tracer
stabilization = KT
flux_limiter_type = superbee
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1
boundary = left
[../]
[./no_tracer_on_left]
type = DirichletBC
variable = tracer
value = 0
boundary = left
[../]
[./remove_component_1]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 1
use_mobility = true
flux_function = 1E3
[../]
[./remove_component_0]
type = PorousFlowPiecewiseLinearSink
variable = tracer
boundary = right
fluid_phase = 0
pt_vals = '0 1E3'
multipliers = '0 1E3'
mass_fraction_component = 0
use_mobility = true
flux_function = 1E3
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2E9
thermal_expansion = 0
viscosity = 1.0
density0 = 1000.0
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-2 0 0 0 1E-2 0 0 0 1E-2'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 101
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
nl_abs_tol = 1E-8
timestep_tolerance = 1E-3
[]
[Outputs]
file_base = pffltvd_out
[./out]
type = CSV
execute_on = final
[../]
[]
modules/combined/test/tests/eigenstrain/composite.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[AuxVariables]
[./c]
[./InitialCondition]
type = FunctionIC
function = x
[../]
[../]
[./s11]
family = MONOMIAL
order = CONSTANT
[../]
[./s22]
family = MONOMIAL
order = CONSTANT
[../]
[./ds11]
family = MONOMIAL
order = CONSTANT
[../]
[./ds22]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = eigenstrain
index_i = 0
index_j = 0
[../]
[./s22]
type = RankTwoAux
variable = s22
rank_two_tensor = eigenstrain
index_i = 1
index_j = 1
[../]
[./ds11]
type = RankTwoAux
variable = ds11
rank_two_tensor = delastic_strain/dc
index_i = 0
index_j = 0
[../]
[./ds22]
type = RankTwoAux
variable = ds22
rank_two_tensor = delastic_strain/dc
index_i = 1
index_j = 1
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./strain]
type = ComputeSmallStrain
displacements = 'disp_x disp_y'
eigenstrain_names = 'eigenstrain'
[../]
[./eigen1]
type = GenericConstantRankTwoTensor
tensor_values = '1 -1 0 0 0 0'
tensor_name = eigen1
[../]
[./eigen2]
type = GenericConstantRankTwoTensor
tensor_values = '-1 1 0 0 0 0'
tensor_name = eigen2
[../]
[./weight1]
type = DerivativeParsedMaterial
function = 0.02*c^2
f_name = weight1
args = c
[../]
[./weight2]
type = DerivativeParsedMaterial
function = 0.02*(1-c)^2
f_name = weight2
args = c
[../]
[./eigenstrain]
type = CompositeEigenstrain
tensors = 'eigen1 eigen2'
weights = 'weight1 weight2'
args = c
eigenstrain_name = eigenstrain
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0
[../]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
exodus = true
execute_on = final
[]