8.3
general documentation
ALE (Arbitrary Lagrangian Eulerian) module

Setting options

The ALE module may be activated through the Graphical User Interface (GUI) in the Calculation features section. It can also be activated in the cs_user_model function in cs_user_parameters.c. See ALE activation for examples.

When activated in the GUI, a Deformable mesh page appears in the GUI, Providing additional options. The user must choose the type of mesh viscosity and describe its spatial distribution, see Ini-ale.

Thermophysical models - mobile mesh (ALE method)

Mesh velocity boundary conditions

These boundary conditions can be managed through the GUI, or using the cs_user_boundary_conditions_ale function in cs_user_boundary_conditions.c file.

With the GUI, when the item Deformable mesh is selected in Calculation features, specific boundary condition types for the mobile mesh may be defined for each zone. The user can choose a boundary condition type for ALE (internal coupling), including displacements based on a mass-spring model, such as CL-ale1.

Mesh boundary conditions - internal mass-spring model coupling

When at least one boundary is of the "internal coupling" (mass-spring model) type, a Coupling parameters entry appears under the one for Boundary conditions.

Coupling parameters - internal coupling

Instead of or in addition to settings with the GUI, the cs_user_boundary_conditions_ale fonction may be used with the ALE module. It is used in a similar way to the cs_user_boundary_conditions in the framework of standard calculations, that is to say array values are defined for each face to specify the detailed mesh boundary conditions. See Examples of boundary conditions for ALE.

Modification of the mesh viscosity

With the ALE module, the cs_user_physical_properties user-defined function allows modifying the mesh viscosity. It is first called before the time loop, and before reading restart files (so the mesh is always in its initial position at this stage). The user can modify mesh viscosity values to prevent cells and nodes from huge displacements in awkward areas, such as boundary layer for example.

Note that for more complex settings, the mesh viscosity could be modified in cs_user_initialization or cs_user_extra_operations. The matching field's name is mesh_viscosity.

Fluid - structure interaction

Fluid structure interaction may use either internal structures using a simplified "mass-spring" model, or external coupling with the code_aster structural mechanics code.

When using the GUI, boundary condition definitions allow associating an internal or external coupling to each boundary zone when ALE mesh deformation is activated. For each (per-zone) boundary condition with an internal coupling definition, a new internal structure is created. Structure ids are numbered from 0 to n, in order of boundary condition appearance. Zones may also be associated with an external structure, based on coupling with code_aster. In this case, a single coupling is handled, so whether a single zone or multiple zones are defined as being coupled with this external code has no incidence (the mapping between coupled fluid and structure surfaces is based on geometrical proximity).

Without the GUI, see the code examples.

Note that adjacent zones (i.e. zones sharing vertices) should not be coupled to different structures, as movement of those structures is independent, and may conflict at shared vertex positions.

Whether coupled structures are defined using the GUI or in a user-defined function, their association with boundary zones may be completed or modified in the cs_user_fsi_structure_num function (see examples).

In theory, it should be possible to combine internal and external mobile structures.

Fluid - structure internal coupling

Using the GUI, initial structure positions and structure characteristics can be defined with the associated boundary condition entries, while general settings can be defined in the Coupling parameters page's Fluid structure interaction tab.

Slightly finer control over these settings is also possible using the cs_user_fsi_structure_define function from the cs_user_fluid_structure_interaction.c file, as shown in the examples section.