7.3
general documentation
Examples of data settings for ALE boundary conditions (cs_user_boundary_conditions.c)

User subroutine dedicated the use of ALE (Arbitrary Lagrangian Eulerian) Method:

  • Fills boundary condition types (ale_bc_type, impale) and codes(icodcl, rcodcl) for mesh velocity.
  • This function also enables one to fix displacement on nodes.

Introduction

Here one defines boundary conditions for the deforming mesh on a per-face basis.

Detailed explanations will be found in the theory guide.

Boundary condition types

Boundary conditions may be assigned in two ways.

For "standard" boundary conditions

One defines a code in the ale_bc_type array (of dimensions number of boundary faces). The available codes are:

  • ale_bc_type[face_id] = CS_BOUNDARY_ALE_FIXED: the face face_id is considered to be motionless. A zero Dirichlet boundary condition is automatically imposed on the mesh velocity. Moreover the displacement of corresponding vertices will automatically be set to 0, unless the user has modified the icodcl condition of the mesh velocity component.
  • ale_bc_type[face_id] = CS_BOUNDARY_ALE_SLIDING: The mesh slides on the corresponding face face_id. The normal component of the mesh velocity is automatically set to 0. A homogeneous Neumann condition is automatically prescribed for the other components, as is the case for "Symmetry" fluid condition.
  • ale_bc_type[face_id] = CS_BOUNDARY_ALE_IMPOSED_VEL: the mesh velocity is imposed on face face_id. Thus, the mesh velocity's bc_coeffs->rcodcl1 values arrays need to be set.

For "non-standard" conditions

The value of icodcl for the "mesh_velocity" field's bc_coeffs structure is taken from the following:

  • 1: Dirichlet
  • 3: Neumann
  • 4: Symmetry

The values of the 3 rcodcl components are:

  • rcodcl1[face_id]: Dirichlet for the variable if icodcl[face_id] = 1 The dimension of rcodcl1[face_id] is in $m \cdot s^{-1}$
  • rcodcl2[face_id]: "exterior" exchange coefficient; mmake no sense for the mesh velocity, so can be ignored.
  • rcodcl3[face_id]: Flux density (in $kg \cdot m \cdot s^2$) = J if icodcl[face_id] = 3 (<0 if gain, n outwards-facing normal) $ rcodcl3[face_id] = -(mesh_viscosity) \grad {Um}.\vect{n} $ $(Um$ represents mesh velocity)
    • rcodcl3[face_id] = 0. enables one to specify a homogeneous Neuman condition on mesh velocity. Any other value make no sense in this context.

If the user assigns a value to ale_bc_type equal to CS_BOUNDARY_ALE_FIXED, CS_BOUNDARY_ALE_SLIDING, or CS_BOUNDARY_ALE_IMPOSED_VEL and does not modify icodcl (zero value by default), ale_bc_type will define the boundary condition type.

To the contrary, if the user prescribes icodcl[face_id] (nonzero) for the mesh velocity, the values assigned to rcodcl* will be used for the considered face.

Further ALE boundary condition elements

The Boundary conditions for ALE section of the user guide provides additional details.

Example of ALE boundary conditions

Here is the list of examples:

Examples of ALE boundary conditions