- primaryBoundary ID associated with the primary boundary.
C++ Type:BoundaryName
Description:Boundary ID associated with the primary boundary.
- inv_transform_funcFunctions that specify the inverse transformation
C++ Type:std::vector
Description:Functions that specify the inverse transformation
- variableVariable for the periodic boundary
C++ Type:std::vector
Description:Variable for the periodic boundary
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector
Description:If specified blocks matching these identifiers will be skipped.
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector
Description:If specified only the blocks named will be visited and made active
- translationVector that translates coordinates on the primary boundary to coordinates on the secondary boundary.
C++ Type:libMesh::VectorValue
Description:Vector that translates coordinates on the primary boundary to coordinates on the secondary boundary.
- transform_funcFunctions that specify the transformation
C++ Type:std::vector
Description:Functions that specify the transformation
- auto_directionIf using a generated mesh, you can specifiy just the dimension(s) you want to mark as periodic
C++ Type:std::vector
Description:If using a generated mesh, you can specifiy just the dimension(s) you want to mark as periodic
- secondaryBoundary ID associated with the secondary boundary.
C++ Type:BoundaryName
Description:Boundary ID associated with the secondary boundary.
AddPeriodicBCAction
Periodic boundary conditions enforce value constraints on seperate boundaries in the mesh. This capability is useful for modeling quasi-infinite domains and systems with conserved quantities.
MOOSE has full support for Periodic BCs in
1D, 2D, and 3D.
With mesh adaptivity.
Can be restricted to specific variables.
Supports arbitrary translation vectors for defining periodicity.
Automatic Periodic Boundary Detection (recommended)
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
(../moose/test/tests/bcs/periodic/auto_periodic_bc_test.i)Translation Periodic Boundaries
[BCs]
[./Periodic]
[./x]
variable = u
primary = 3
secondary = 1
translation = '40 0 0'
[../]
[./y]
variable = u
primary = 0
secondary = 2
translation = '0 40 0'
[../]
[../]
[]
(../moose/test/tests/bcs/periodic/periodic_bc_test.i)Function Transform Periodic Boundaries
[Functions]
[./tr_x]
type = ParsedFunction
value = -x*cos(pi/3)
[../]
[./tr_y]
type = ParsedFunction
value = x*sin(pi/3)
[../]
[./itr_x]
type = ParsedFunction
value = -x/cos(pi/3)
[../]
[./itr_y]
type = ParsedFunction
value = 0
[../]
[]
[BCs]
[./Periodic]
[./x]
primary = 1
secondary = 4
transform_func = 'tr_x tr_y'
inv_transform_func = 'itr_x itr_y'
[../]
[../]
[]
(../moose/test/tests/bcs/periodic/trapezoid.i)