Moving Meshes

<< Click to Display Table of Contents >>

Navigation:  Problem Descriptor Reference > The Sections of a Descriptor > Equations >

Moving Meshes

Previous pageReturn to chapter overviewNext page

FlexPDE can support moving computation meshes in time-dependent problems.  Use of this capability requires:


The assignment of a surrogate variable for each coordinate to be moved
Definition of an EQUATION of motion for each such surrogate coordinate
Suitable Boundary Conditions on the surrogate coordinate.


In some problems, the mesh positions may be driven directly.  In others, there will be a variable defining the mesh velocity.  This may be the same as the fluid velocity, in which case the model is purely Lagrangian, or it may be some other better-behaved motion, in which case the model is mixed Lagrange/Eulerian (ALE).


FlexPDE 6 contains no provisions for re-connecting distorted meshes.  Except in well-behaved problems, pure Lagrangian computations are therefore discouraged, as severe mesh corruption may result.


Alternative Declaration Forms


EQUATIONS are always assumed to refer to the stationary Eulerian (Laboratory)  reference frame.  FlexPDE automatically computes the required correction terms for mesh motion. .


Alternatively, the user can declare LAGRANGIAN EQUATIONS, and FlexPDE will not modify the user's stated equations.  In this case, the equations must be written correctly for the values at the moving nodes.


The declaration EULERIAN EQUATIONS can also be used for clarity, although this is equivalent to the default EQUATIONS declaration.



Internal Mesh Redistribution


When the mesh is not tied directly to a fluid velocity, a convenient technique for maintaining mesh integrity is to diffuse either the mesh coordinates or the mesh velocities in the problem interior.


For direct coordinate diffusion, we apply the diffusion equation to the surrogate coordinates:


DIV(GRAD(x_surrogate)) = 0


and apply the motion conditions to the coordinate boundary conditions with either VALUE or VELOCITY conditions:


VELOCITY(x_surrogate) = x_velocity


VALUE(x_surrogate) = moving_positions



If the mesh is driven by a mesh velocity variable, we apply the diffusion equation to the velocity variables:


DIV(GRAD(x_velocity_variable)) = 0

DT(x_coordinate) = x_velocity_variable


At the boundaries, we apply the driving motions to the velocity variables and lock the surrogate coordinate variable to its associated velocity


VALUE(x_velocity_variable) = x_velocity

VELOCITY(x_surrogate) = x_velocity


Note: See the User Guide section on Moving Meshes and the example problems in the "Samples | Moving_Mesh" folder.


Effect of Mesh Motion on EQUATION Specifications


EQUATIONS are always written in the Eulerian (Laboratory) reference frame, regardless of whether the mesh moves or not.  FlexPDE automatically computes the required correction terms for mesh motion.