Derivatives of Dependent Variables
When solving for some physical quantity, u, COMSOL Multiphysics always stores the solution for a fixed set of mesh nodes. That is, the dependent variable u is treated internally as a function of the mesh coordinates and possibly time, u(Xm, Ym, t). The essence of the ALE system is that it allows treating the physical quantities as functions of the material or spatial coordinates, u(XY, t) or u(x, y, t), instead. This transformation is possible only if the mappings given by Equation 18-1 and Equation 18-2 are invertible.
Differentiation in Space
With respect to spatial differentiation, each dependent variable is treated as a function of one or more of the frames present in the model. Most physics interfaces are based on a formulation which is either Eulerian or Lagrangian. Their equations therefore contain derivatives of the dependent variables with respect to either the spatial or the material frame, respectively. A few physics interfaces can formulate their equations in either material or spatial frame, as set by the Frame setting found under Discretization in the physics interface node’s settings.
For compactness, physics interface equations are written using derivative variables. For a dependent variable u, there are two basic possibilities:
But in many cases both sets of derivative variables exist even if they are not used by the physics interface. In addition, the built-in differentiation operator d(<expr>,<var>) can always compute derivatives with respect to any set of coordinates, internally using the chain rule. For example, the first component of the spatial, material, and geometry frame gradients of u are, respectively d(u,x), d(u,X), and d(u,Xg).
Differentiation in Time
When using ALE, there can be two kinds of time derivatives:
The frame time derivative, valid for a fixed point in either the material or the spatial frame. This derivative is denoted ut in some physics interfaces. It is defined either as
in interfaces using an Eulerian formulation, or as
in interfaces using a Lagrangian formulation.
The mesh time derivative, which is taken for a fixed point in the mesh:
This derivative is in many cases denoted uTIME in the software. Since internally, everything is formulated on the mesh frame, the mesh time derivative is the one computed by the solvers and stored in the solution vector.
While the variable t represents the current value of the time in all frames, differentiation must be performed with respect to the symbol TIME only. The operator expression d(<expr>,TIME) is always allowed and evaluates to the mesh time derivative of <expr>. Because of its ambiguous meaning, the expression d(<expr>,t) is illegal if <expr> contains any variables that are functions of space.
The two derivatives are related by the chain rule. For example, for a spatial frame derivative:
where [ux,uy] is the spatial frame gradient and (xTIMEyTIME) is the spatial mesh velocity. The mesh time derivative is often less important from the user point of view because its value depends on the mesh movement, which in itself often has no physical significance. However, for the special case when the mesh follows the material’s motion, the mesh time derivative is physically significant and is also called the material time derivative.
You can evaluate the time derivatives with respect to the different frames using frame-specific time-derivative operators spatial.dt(<expr>), material.dt(<expr>), geometry.dt(<expr>), and mesh.dt(<expr>). The two last are by definition equal to d(<expr>,TIME).