- markHow to mark elements.
C++ Type:MooseEnum
Controllable:No
Description:How to mark elements.
UniformMarker
Uniformly mark all elements for refinement or coarsening.
Example Input Syntax
[Adaptivity]
[./Markers]
[./uniform]
type = UniformMarker
mark = refine
[../]
[../]
[]
(test/tests/markers/uniform_marker/uniform_marker.i)Input Parameters
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
- outputsVector of output names where you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
Advanced Parameters
Input Files
- (test/tests/markers/uniform_marker/uniform_marker.i)
- (modules/porous_flow/test/tests/adaptivity/quad_adaptivity.i)
- (modules/porous_flow/test/tests/adaptivity/tet4_adaptivity.i)
- (test/tests/controls/time_periods/dgkernels/dgkernels.i)
- (test/tests/adaptivity/steady/steady.i)
- (test/tests/userobjects/geometry_snap/block.i)
- (modules/porous_flow/test/tests/adaptivity/hex_adaptivity.i)
- (modules/porous_flow/test/tests/adaptivity/tri3_adaptivity.i)
- (test/tests/adaptivity/dont-p-refine/test.i)
- (test/tests/mortar/continuity-2d-non-conforming/sequencing-stateful-soln-continuity.i)
- (test/tests/variables/fe_hermite_convergence/hermite_converge_dirichlet.i)
- (test/tests/markers/expected_error/displaced_error.i)
- (test/tests/variables/fe_hermite_convergence/hermite_converge_periodic.i)
- (test/tests/userobjects/geometry_snap/geometrysphere.i)
- (test/tests/dirackernels/point_caching/point_caching_uniform_refinement.i)
- (test/tests/markers/block_restricted/marker_block.i)
- (test/tests/geomsearch/nearest_node_locator/adapt.i)
- (test/tests/postprocessors/memory_usage/print_memory_usage.i)
- (modules/solid_mechanics/examples/piston/piston_params.i)
- (test/tests/outputs/dofmap/simple_transient.i)
- (modules/level_set/test/tests/kernels/advection/advection_mms.i)
(test/tests/markers/uniform_marker/uniform_marker.i)
###########################################################
# This is a test of the Mesh Marker System. It marks
# elements with flags indicating whether they should be
# refined, coarsened, or left alone. This system
# has the ability to use the Mesh Indicator System.
#
# @Requirement F2.50
###########################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
# Mesh Marker System
[Adaptivity]
[./Markers]
[./uniform]
type = UniformMarker
mark = refine
[../]
[../]
[]
[Outputs]
exodus = true
[]
(test/tests/markers/uniform_marker/uniform_marker.i)
###########################################################
# This is a test of the Mesh Marker System. It marks
# elements with flags indicating whether they should be
# refined, coarsened, or left alone. This system
# has the ability to use the Mesh Indicator System.
#
# @Requirement F2.50
###########################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
# Mesh Marker System
[Adaptivity]
[./Markers]
[./uniform]
type = UniformMarker
mark = refine
[../]
[../]
[]
[Outputs]
exodus = true
[]
(modules/porous_flow/test/tests/adaptivity/quad_adaptivity.i)
[Mesh]
[mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[]
[Adaptivity]
marker = marker
max_h_level = 1
[Markers]
[marker]
type = UniformMarker
mark = REFINE
[]
[]
[]
[GlobalParams]
PorousFlowDictator = 'dictator'
[]
[Variables]
[pp]
initial_condition = '0'
[]
[]
[Kernels]
[mass]
type = PorousFlowMassTimeDerivative
variable = pp
[]
[flux]
type = PorousFlowAdvectiveFlux
variable = pp
gravity = '0 0 0'
[]
[]
[BCs]
[left]
type = DirichletBC
variable = pp
boundary = 'left'
value = 1
[]
[right]
type = DirichletBC
variable = pp
boundary = 'right'
value = 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
[]
[]
[FluidProperties]
[simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.2
density0 = 1
viscosity = 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'
[]
[permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-3 0 0 0 1e-3 0 0 0 1e-3'
[]
[relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[]
[]
[Postprocessors]
[numdofs]
type = NumDOFs
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
end_time = 4
dt = 1
solve_type = Newton
nl_abs_tol = 1e-12
[]
[Outputs]
execute_on = 'final'
exodus = true
perf_graph = true
show = pp
[]
(modules/porous_flow/test/tests/adaptivity/tet4_adaptivity.i)
[Mesh]
[mesh]
type = GeneratedMeshGenerator
elem_type = TET4
dim = 3
nx = 2
ny = 2
[]
[]
[Adaptivity]
marker = marker
max_h_level = 1
[Markers]
[marker]
type = UniformMarker
mark = REFINE
[]
[]
[]
[GlobalParams]
PorousFlowDictator = 'dictator'
[]
[Variables]
[pp]
initial_condition = '0'
[]
[]
[Kernels]
[mass]
type = PorousFlowMassTimeDerivative
variable = pp
[]
[flux]
type = PorousFlowAdvectiveFlux
variable = pp
gravity = '0 0 0'
[]
[]
[BCs]
[left]
type = DirichletBC
variable = pp
boundary = 'left'
value = 1
[]
[right]
type = DirichletBC
variable = pp
boundary = 'right'
value = 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
[]
[]
[FluidProperties]
[simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.2
density0 = 1
viscosity = 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'
[]
[permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-3 0 0 0 1e-3 0 0 0 1e-3'
[]
[relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[]
[]
[Postprocessors]
[numdofs]
type = NumDOFs
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
end_time = 4
dt = 1
solve_type = Newton
nl_abs_tol = 1e-12
[]
[Outputs]
execute_on = 'final'
exodus = true
perf_graph = true
show = pp
[]
(test/tests/controls/time_periods/dgkernels/dgkernels.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
[]
[Adaptivity]
marker = uniform_marker
[Markers]
[uniform_marker]
type = UniformMarker
mark = REFINE
[]
[]
[]
[Variables]
[u]
order = FIRST
family = MONOMIAL
initial_condition = 1
[]
[]
[Functions]
[forcing_fn]
type = ParsedFunction
expression = 2*pow(e,-x-(y*y))*(1-2*y*y)
[]
[exact_fn]
type = ParsedGradFunction
expression = pow(e,-x-(y*y))
grad_x = -pow(e,-x-(y*y))
grad_y = -2*y*pow(e,-x-(y*y))
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[abs] # u * v
type = Reaction
variable = u
[]
[forcing]
type = BodyForce
variable = u
function = forcing_fn
[]
[]
[DGKernels]
[dg_diff]
type = DGDiffusion
variable = u
epsilon = -1
sigma = 6
[]
[dg_diff2]
type = DGDiffusion
variable = u
epsilon = -1
sigma = 4
[]
[]
[BCs]
[all]
type = DGFunctionDiffusionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
epsilon = -1
sigma = 6
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
num_steps = 4
dt = 1
nl_rel_tol = 1e-10
[]
[Outputs]
exodus = true
[]
[Controls]
[dg_problem]
type = TimePeriod
enable_objects = 'DGKernels/dg_diff2'
disable_objects = 'DGKernel::dg_diff'
start_time = '2'
execute_on = 'initial timestep_begin'
[]
[]
(test/tests/adaptivity/steady/steady.i)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[subdomain]
type = SubdomainBoundingBoxGenerator
input = gen
bottom_left = '0.25 0.25 0'
top_right = '0.75 0.75 0'
block_id = 100
[]
[]
[Variables/u]
[]
[Kernels/diff]
type = Diffusion
variable = u
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_marker = uniform
initial_steps = 1
[Markers/uniform]
type = UniformMarker
mark = REFINE
block = 100
[]
[]
[Outputs]
exodus = true
[]
(test/tests/userobjects/geometry_snap/block.i)
[Mesh]
[gen]
type = PolyLineMeshGenerator
points = "0 0 0
0 1 0
1 1 0
1 0 0"
loop = true
[]
[]
[Variables]
[u]
initial_condition = 1
[]
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[Executioner]
type = Steady
[]
[UserObjects]
[sphere]
type = GeometrySphere
center = '0.5 0.5 0'
radius = 0.7071
block = 0
[]
[]
[Adaptivity]
[Markers]
[const]
type = UniformMarker
mark = REFINE
[]
[]
marker = const
steps = 3
[]
[Outputs]
[out]
type = Exodus
[]
[]
(modules/porous_flow/test/tests/adaptivity/hex_adaptivity.i)
[Mesh]
[mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
[]
[]
[Adaptivity]
marker = marker
max_h_level = 1
[Markers]
[marker]
type = UniformMarker
mark = REFINE
[]
[]
[]
[GlobalParams]
PorousFlowDictator = 'dictator'
[]
[Variables]
[pp]
initial_condition = '0'
[]
[]
[Kernels]
[mass]
type = PorousFlowMassTimeDerivative
variable = pp
[]
[flux]
type = PorousFlowAdvectiveFlux
variable = pp
gravity = '0 0 0'
[]
[]
[BCs]
[left]
type = DirichletBC
variable = pp
boundary = 'left'
value = 1
[]
[right]
type = DirichletBC
variable = pp
boundary = 'right'
value = 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
[]
[]
[FluidProperties]
[simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.2
density0 = 1
viscosity = 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'
[]
[permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-3 0 0 0 1e-3 0 0 0 1e-3'
[]
[relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[]
[]
[Postprocessors]
[numdofs]
type = NumDOFs
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
end_time = 4
dt = 1
solve_type = Newton
nl_abs_tol = 1e-12
[]
[Outputs]
execute_on = 'final'
exodus = true
perf_graph = true
show = pp
[]
(modules/porous_flow/test/tests/adaptivity/tri3_adaptivity.i)
[Mesh]
[mesh]
type = GeneratedMeshGenerator
elem_type = TRI3
dim = 2
nx = 2
ny = 2
[]
[]
[Adaptivity]
marker = marker
max_h_level = 1
[Markers]
[marker]
type = UniformMarker
mark = REFINE
[]
[]
[]
[GlobalParams]
PorousFlowDictator = 'dictator'
[]
[Variables]
[pp]
initial_condition = '0'
[]
[]
[Kernels]
[mass]
type = PorousFlowMassTimeDerivative
variable = pp
[]
[flux]
type = PorousFlowAdvectiveFlux
variable = pp
gravity = '0 0 0'
[]
[]
[BCs]
[left]
type = DirichletBC
variable = pp
boundary = 'left'
value = 1
[]
[right]
type = DirichletBC
variable = pp
boundary = 'right'
value = 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
[]
[]
[FluidProperties]
[simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.2
density0 = 1
viscosity = 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'
[]
[permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-3 0 0 0 1e-3 0 0 0 1e-3'
[]
[relperm]
type = PorousFlowRelativePermeabilityConst
phase = 0
[]
[]
[Postprocessors]
[numdofs]
type = NumDOFs
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
end_time = 4
dt = 1
solve_type = Newton
nl_abs_tol = 1e-12
[]
[Outputs]
execute_on = 'final'
exodus = true
perf_graph = true
show = pp
[]
(test/tests/adaptivity/dont-p-refine/test.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '1 1'
dy = '1 1'
ix = '2 2'
iy = '2 2'
subdomain_id = '0 0
0 1'
[]
[]
[Adaptivity]
switch_h_to_p_refinement = true
initial_marker = uniform
initial_steps = 1
disable_p_refinement_for_families = 'lagrange'
[Markers/uniform]
type = UniformMarker
mark = REFINE
block = 1
[]
[]
[Variables]
[u]
family = MONOMIAL
order = FIRST
[]
[]
[AuxVariables]
[test][]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[src]
type = BodyForce
variable = u
value = 1
[]
[]
[DGKernels]
[dg_diff]
type = DGDiffusion
variable = u
epsilon = -1
sigma = 6
[]
[]
[BCs]
[left_u]
type = DGFunctionDiffusionDirichletBC
variable = u
boundary = '0 1 2 3'
function = 0
epsilon = -1
sigma = 6
[]
[]
[Postprocessors]
[avg]
type = ElementAverageValue
variable = u
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(test/tests/mortar/continuity-2d-non-conforming/sequencing-stateful-soln-continuity.i)
[Mesh]
second_order = true
[file]
type = FileMeshGenerator
file = nodal_normals_test_offset_nonmatching_gap.e
[]
[./primary]
input = file
type = LowerDBlockFromSidesetGenerator
sidesets = '2'
new_block_id = '20'
[../]
[./secondary]
input = primary
type = LowerDBlockFromSidesetGenerator
sidesets = '1'
new_block_id = '10'
[../]
[]
[Variables]
[./T]
block = '1 2'
order = SECOND
[../]
[./lambda]
block = '10'
[../]
[]
[AuxVariables]
[ssm]
order = CONSTANT
family = MONOMIAL
block = '1 2'
[]
[]
[BCs]
[./neumann]
type = FunctionGradientNeumannBC
exact_solution = exact_soln
variable = T
boundary = '3 4 5 6 7 8'
[../]
[]
[Kernels]
[./conduction]
type = Diffusion
variable = T
block = '1 2'
[../]
[./sink]
type = Reaction
variable = T
block = '1 2'
[../]
[./forcing_function]
type = BodyForce
variable = T
function = forcing_function
block = '1 2'
[../]
[]
[AuxKernels]
[ssm]
type = MaterialRealAux
variable = ssm
property = diffusivity
block = '1 2'
[]
[]
[Materials]
[./ssm]
type = SpatialStatefulMaterial
block = '1 2'
[../]
[]
[Functions]
[./forcing_function]
type = ParsedFunction
expression= '-4 + x^2 + y^2'
[../]
[./exact_soln]
type = ParsedFunction
expression= 'x^2 + y^2'
[../]
[]
[Debug]
show_var_residual_norms = 1
[]
[Constraints]
[./mortar]
type = EqualValueConstraint
primary_boundary = 2
secondary_boundary = 1
primary_subdomain = 20
secondary_subdomain = 10
variable = lambda
secondary_variable = T
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
solve_type = NEWTON
type = Steady
nl_abs_tol = 1e-12
petsc_options_iname = '-pc_type -snes_linesearch_type -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu basic NONZERO 1e-15'
num_grids = 2
[]
[Outputs]
exodus = true
[]
[Adaptivity]
steps = 1
marker = uniform
[Markers]
[uniform]
type = UniformMarker
mark = refine
[]
[]
[]
(test/tests/variables/fe_hermite_convergence/hermite_converge_dirichlet.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 4
ny = 4
elem_type = QUAD4
# This test will not work in parallel with DistributedMesh enabled
# due to a bug in PeriodicBCs.
parallel_type = replicated
[]
[Functions]
[./bc_fn]
type = ParsedGradFunction
value = -sin(pi*x)*sin(pi*y)
grad_x = -pi*cos(pi*x)*sin(pi*y)
grad_y = -pi*sin(pi*x)*cos(pi*y)
[../]
[./forcing_fn]
type = ParsedFunction
expression = -2*pi*pi*sin(pi*x)*sin(pi*y)-sin(pi*x)*sin(pi*y)
[../]
[]
[Variables]
[./u]
order = THIRD
family = HERMITE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./reaction]
type = Reaction
variable = u
[../]
[./forcing]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionPenaltyDirichletBC
variable = u
boundary = 'bottom right top left'
function = bc_fn
penalty = 1e10
[../]
[]
[Postprocessors]
[./dofs]
type = NumDOFs
[../]
[./h]
type = AverageElementSize
[../]
[./L2error]
type = ElementL2Error
variable = u
function = bc_fn
[../]
[./H1error]
type = ElementH1Error
variable = u
function = bc_fn
[../]
[./H1Semierror]
type = ElementH1SemiError
variable = u
function = bc_fn
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
# We use higher-order quadrature to ensure that the forcing function
# is integrated accurately.
[./Quadrature]
order=ELEVENTH
[../]
[]
[Adaptivity]
steps = 2
marker = uniform
[./Markers]
[./uniform]
type = UniformMarker
mark = refine
[../]
[../]
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
print_mesh_changed_info = true
[]
(test/tests/markers/expected_error/displaced_error.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
uniform_refine = 1
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Steady
[]
[Adaptivity]
[./Markers]
[./test]
type = UniformMarker
# this triggers the expected error
use_displaced_mesh = true
mark = DONT_MARK
[../]
[../]
[]
(test/tests/variables/fe_hermite_convergence/hermite_converge_periodic.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 4
ny = 4
elem_type = QUAD4
# This test will not work in parallel with DistributedMesh enabled
# due to a bug in PeriodicBCs.
parallel_type = replicated
[]
[Functions]
[./bc_fn]
type = ParsedGradFunction
value = -sin(pi*x)*sin(pi*y)
grad_x = -pi*cos(pi*x)*sin(pi*y)
grad_y = -pi*sin(pi*x)*cos(pi*y)
[../]
[./bc_fnt]
type = ParsedFunction
expression = -pi*sin(pi*x)*cos(pi*y)
[../]
[./bc_fnb]
type = ParsedFunction
expression = pi*sin(pi*x)*cos(pi*y)
[../]
[./forcing_fn]
type = ParsedFunction
expression = -2*pi*pi*sin(pi*x)*sin(pi*y)-sin(pi*x)*sin(pi*y)
[../]
[]
[Variables]
[./u]
order = THIRD
family = HERMITE
[../]
[]
[Kernels]
active = 'diff forcing reaction'
[./diff]
type = Diffusion
variable = u
[../]
[./reaction]
type = Reaction
variable = u
[../]
[./forcing]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction= 'x y'
[../]
[../]
[./bc_top]
type=FunctionNeumannBC
variable = u
boundary = 'top'
function = bc_fnt
[../]
[./bc_bottom]
type=FunctionNeumannBC
variable = u
boundary = 'bottom'
function = bc_fnb
[../]
[]
[Postprocessors]
[./dofs]
type = NumDOFs
[../]
[./h]
type = AverageElementSize
[../]
[./L2error]
type = ElementL2Error
variable = u
function = bc_fn
[../]
[./H1error]
type = ElementH1Error
variable = u
function = bc_fn
[../]
[./H1Semierror]
type = ElementH1SemiError
variable = u
function = bc_fn
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
# We use higher-order quadrature to ensure that the forcing function
# is integrated accurately.
[./Quadrature]
order=ELEVENTH
[../]
[]
[Adaptivity]
steps = 2
marker = uniform
[./Markers]
[./uniform]
type = UniformMarker
mark = refine
[../]
[../]
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
print_mesh_changed_info = true
[]
(test/tests/userobjects/geometry_snap/geometrysphere.i)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
[]
[]
[Variables]
[u]
initial_condition = 1
[]
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[Executioner]
type = Steady
[]
[UserObjects]
[sphere]
type = GeometrySphere
boundary = 'left right top bottom'
center = '0.5 0.5 0'
radius = 0.7071
[]
[]
[Adaptivity]
[Markers]
[const]
type = UniformMarker
mark = REFINE
[]
[]
marker = const
steps = 3
[]
[Outputs]
[out]
type = Exodus
[]
[]
(test/tests/dirackernels/point_caching/point_caching_uniform_refinement.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 2
ny = 2
elem_type = QUAD4
uniform_refine = 2
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[DiracKernels]
active = 'point_source'
[./point_source]
type = CachingPointSource
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 3
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 1
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Adaptivity]
steps = 2
marker = uniform
[./Markers]
[./uniform]
type = UniformMarker
mark = refine
[../]
[../]
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
(test/tests/markers/block_restricted/marker_block.i)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
xmax = 5
ymax = 5
[]
[./lower_block]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '5 3 0'
bottom_left = '0 0 0'
block_id = 0
[../]
[./upper_block]
input = lower_block
type = SubdomainBoundingBoxGenerator
top_right = '5 5 0'
bottom_left = '0 3 0'
block_id = 1
[../]
[]
[Adaptivity]
initial_steps = 2
initial_marker = marker
[./Markers]
[./marker]
type = UniformMarker
block = 0
mark = REFINE
[../]
[../]
[]
[Variables]
[./u]
initial_condition = 0
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
(test/tests/geomsearch/nearest_node_locator/adapt.i)
[Mesh]
file = 2dcontact_collide.e
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./distance]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./conv]
type = Convection
variable = u
velocity = '1 0 0'
[../]
[]
[AuxKernels]
[./zero]
type = ConstantAux
variable = distance
[../]
[./distance]
type = NearestNodeDistanceAux
variable = distance
boundary = 2
paired_boundary = 3
[../]
[]
[BCs]
[./block1_left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./block1_right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[./block2_left]
type = DirichletBC
variable = u
boundary = 3
value = 0
[../]
[./block2_right]
type = DirichletBC
variable = u
boundary = 4
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 3
dt = 1
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
marker = uniform
[./Markers]
[./uniform]
type = UniformMarker
mark = refine
[../]
[../]
[]
[Outputs]
exodus = true
[]
(test/tests/postprocessors/memory_usage/print_memory_usage.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./dt]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Adaptivity]
[./Markers]
[./uni]
type = UniformMarker
mark = REFINE
[../]
[../]
# this marker will tag every element for refinement, growing the problem
# exponentially with each timestep
marker = uni
# avoid a refine after the final step
stop_time = 4.5
[]
[Postprocessors]
[./physical]
type = MemoryUsage
mem_type = physical_memory
value_type = total
# by default MemoryUsage reports the peak value for the current timestep
# out of all samples that have been taken (at linear and non-linear iterations)
execute_on = 'INITIAL TIMESTEP_END NONLINEAR LINEAR'
[../]
[./virtual]
type = MemoryUsage
mem_type = virtual_memory
value_type = total
execute_on = 'INITIAL TIMESTEP_END'
[../]
[./page_faults]
type = MemoryUsage
mem_type = page_faults
value_type = total
execute_on = 'INITIAL TIMESTEP_END'
[../]
[./DOFs]
type = NumDOFs
execute_on = 'INITIAL TIMESTEP_END'
[../]
[./walltime]
type = PerfGraphData
section_name = "Root"
data_type = total
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -sub_pc_type'
petsc_options_value = 'asm lu'
nl_abs_tol = 1e-10
num_steps = 5
dt = 1
[]
[Outputs]
csv = true
execute_on = 'INITIAL TIMESTEP_END FINAL'
perf_graph = true
[]
(modules/solid_mechanics/examples/piston/piston_params.i)
## This example is documented on YouTube at:
## https://www.youtube.com/watch?v=L9plLYkAbvQ
##
## Additional files (e.g. the CAD model, results)
## can be downloaded freely from Zenodo at:
## https://doi.org/10.5281/zenodo.3886965
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
# Read in mesh from file
type = FileMesh
file = piston_coarse.e
[]
# This is where mesh adaptivity magic happens
[Adaptivity]
steps = 1
max_h_level = 3
cycles_per_step = 1
initial_marker = uniform
marker = errorFraction
[Markers]
[uniform]
type = UniformMarker
mark = refine
[]
[errorFraction]
type = ErrorFractionMarker
coarsen = 0.5
indicator = gradientJump
refine = 0.5
[]
[]
[Indicators]
[gradientJump]
type = GradientJumpIndicator
variable = disp_y
[]
[]
[]
[Physics/SolidMechanics/QuasiStatic]
# Parameters that apply to all subblocks are specified at this level.
# They can be overwritten in the subblocks.
add_variables = true
incremental = false
strain = SMALL
generate_output = 'vonmises_stress'
[block]
block = 1
[]
[]
[BCs]
[Pressure]
[load]
# Applies the pressure
boundary = load_surf
function = 't*550e5'
[]
[]
[symmetry_x]
# Applies symmetry on the xmin faces
type = DirichletBC
variable = disp_x
boundary = 'xmin'
value = 0.0
[]
[hold_y]
# Anchors the bottom against deformation in the y-direction
type = DirichletBC
variable = disp_y
boundary = 'ymin'
value = 0.0
[]
[symmetry_z]
# Applies symmetry on the zmin faces
type = DirichletBC
variable = disp_z
boundary = 'zmin'
value = 0.0
[]
[]
[Materials]
[elasticity_tensor_steel]
# Creates the elasticity tensor using steel parameters
youngs_modulus = 210e9 #Pa
poissons_ratio = 0.3
type = ComputeIsotropicElasticityTensor
block = 1
[]
[stress]
# Computes the stress, using linear elasticity
type = ComputeLinearElasticStress
block = 1
[]
[]
[Preconditioning]
[SMP]
# Creates the entire Jacobian, for the Newton solve
type = SMP
full = true
[]
[]
[Executioner]
# We solve a steady state problem using Newton's iteration
type = Transient
solve_type = NEWTON
nl_rel_tol = 1e-9
l_max_its = 30
l_tol = 1e-4
nl_max_its = 10
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
dt = 0.1
num_steps = 10
[]
[Outputs]
exodus = true
perf_graph = true
[]
(test/tests/outputs/dofmap/simple_transient.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
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 = 2
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
marker = marker
initial_steps = 1
initial_marker = marker
[./Markers]
[./marker]
type = UniformMarker
mark = REFINE
[../]
[../]
[]
[Outputs]
execute_on = 'timestep_end'
[./dofmap]
type = DOFMap
execute_on = timestep_begin
[../]
[]
(modules/level_set/test/tests/kernels/advection/advection_mms.i)
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 12
nx = 48
[]
[Adaptivity]
steps = 5
marker = marker
[./Markers]
[./marker]
type = UniformMarker
mark = REFINE
[../]
[../]
[]
[Variables]
[./phi]
[../]
[]
[AuxVariables]
[./velocity]
family = LAGRANGE_VEC
[../]
[]
[ICs]
[./vel_ic]
type = VectorFunctionIC
variable = velocity
function = velocity_func
[]
[]
[BCs]
[./left]
type = FunctionDirichletBC
boundary = 'left'
function = phi_exact
variable = phi
[../]
[]
[Functions]
[./phi_exact]
type = ParsedFunction
expression = 'a*sin(pi*x/b)*cos(pi*x)'
symbol_names = 'a b'
symbol_values = '2 12'
[../]
[./phi_mms]
type = ParsedFunction
expression = '-2*pi*a*sin(pi*x)*sin(pi*x/b) + 2*pi*a*cos(pi*x)*cos(pi*x/b)/b'
symbol_names = 'a b'
symbol_values = '2 12'
[../]
[./velocity_func]
type = ParsedVectorFunction
expression_x = '2'
expression_y = '2'
[../]
[]
[Kernels]
[./phi_advection]
type = LevelSetAdvection
variable = phi
velocity = velocity
[../]
[./phi_forcing]
type = BodyForce
variable = phi
function = phi_mms
[../]
[]
[Postprocessors]
[./error]
type = ElementL2Error
function = phi_exact
variable = phi
[../]
[./h]
type = AverageElementSize
[../]
[]
[VectorPostprocessors]
active = ''
[./results]
type = LineValueSampler
variable = phi
start_point = '0 0 0'
end_point = '12 0 0'
num_points = 500
sort_by = x
[../]
[]
[Executioner]
type = Steady
nl_rel_tol = 1e-10
solve_type = NEWTON
# A steady-state pure advection problem is numerically challenging,
# it has a zero diagonal in the Jabocian matrix. The following solver
# settings seem to reliably solve this problem.
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
[]
[Outputs]
execute_on = 'TIMESTEP_END'
csv = true
[]