Issues in simulating 2D process in porous medium in 3D space
For application, we need to simulating 2D process in porous medium in 3D space, similarly 1D process in 2D or 3D space. Up to now, ogs 6 only enables such simulation in HeatConduction, LiquidFlow processes, and there are also issues in such enabled simulation, e.g. the specification of space dimension. The following table by Florain (@FZill) shows status of the processes to handle 2D problems in 3D space:
No mechanical processes
For LiquidFlow process, the simulation with inclined elements are enabled (see MR !3632 (merged)). The only issue is the way to specify the space dimension of a 2D mesh. In the current status, the space dimension of 2D bulk mesh is calculated by the coordinates of all nodes by the rule given in this source code documentation. If the size of the given body force vector doses not match the calculated space dimension, the program aborts with an error message (see the source code). My suggestions are
- to change the error message such that to suggest user to run the program again with a body force with a correct size, i.e. the calculated space dimension,
- or set the space dimension as the size of the input body force vector with a warning.
The approach for inclined elements will be applied to TH, HC and H2.
Boundary condition
There is no issue in the boundary condition for the inclined domain for non-mechanical processes because that their boundary conditions are scalar.
Mechanical related processes
For M related process, it is not possible to simulate plane strain problem in inclined mesh with body force in arbitrary direction, which breaks plane strain assumption. Therefore, meshes only on vertical or horizontal plane can be considered for simulation of plane strain problem. For vertical slice of a 3D domain for a plane strain problem, we have to assume the mechanical properties in the off plane direction are roughly unchanged. Therefore, we only concern the variables expressed in the local coordinate system on the mesh plane. Up to now, only HydroMechanics process is enabled the simulation on vertical slice (!3607 (merged)). The plane strain problem on vertical slice is treated as 2D problem with a mesh rotation in the code. Therefore, the body force size is two, the strain and stress are output in the local coordinate system on the mesh plane (x_local, z). It is meaningless to transform the on plane strain and stress to the global coordinate.
Question:
- Is this approach practical? If it is, it can be extended to other M related processes. Otherwise, we can stick to the assumption such that plane strain has to be always assumed in (x, y) plane. For vertical slice, there is pre-proccess to rotate the mesh to (x, y) plane, and a post-process to rotate the result mesh (vtu) back to the slice position, which gives the same visualization as that currently implemented in HM does.
For the Mechanical related problems with a mesh mixed with inclined elements and other high dimension elements, and mechanical changes in inclined elements have to be considered, they have to be treated as LIE process.