What is Multi-Block Volume Error?
Pressure and velocity field across
an inter-block boundary
With the latest release of FLOW-3D Version 9.0 come further advances in the multi-block model.The algorithm for the transfer of pressure and velocity solution between adjacent mesh blocks has been enhanced with better accuracy, flexibility and diagnostics.
Pressure and velocity components at an inter-block boundary that connects two mesh blocks are interpolated from the active grid nodes of a donor block to the boundary nodes of the acceptor block. The procedure is then repeated in the opposite direction to ensure that the solutions in both mesh blocks are up-to-date. If a boundary condition (BC) is defined in terms of pressure, then it is of a Dirichlet-type. If the BC is defined in terms of velocity, then it's a Neumann's type. Each type of boundary condition has its advantages and disadvantages. The Neumann type gives a better conservation of mass, but, generally, has slower convergence. Moreover, if used by itself, it can result in a discontinuous pressure at the boundary. In early versions of the multi-block model, we used the Dirichlet-type BC, which gave a good pressure-iteration convergence rate, but sometimes resulted in a serious mass flux mismatch at the inter-block boundaries and hence in a net fluid-volume loss or gain.
The new algorithm for Version 9.0 applies a weighted average of both types of boundary conditions at the same time at each inter-block boundary. A weighing factor is used to define the portion of each type of BC. The new input variable is called Inter-block boundary type coefficient and can be defined in the GUI via Model Setup > Numerics > Convergence controls for Pressure solver options. For users that prefer the text editor to build their models, the variable name is ALPHAMB and it is defined in the namelist XPUT.
The new parameter can have any value between 0.0 and 1.0. When it is equal to 0.0, then a pure Dirichlet-type BC is used; the pure Neumann-type BC is employed when it is equal to 1.0. The default value is 0.25, which is based on numerous tests. This value usually achieves good mass conservation and convergence rate at the same time (see figure below). However, when the GMRES pressure solver is employed, this parameter is always set equal to 0.0 ;due to the specific way pressures and velocities are coupled in this method. When using the GMRES pressure solver with multiple mesh blocks, users can monitor the accuracy of the solution by examining the multi-block volume error diagnostic, which is displayed in the Simulate tab and is also available for post-processing in the General history data catalogue of the flsgrf file.
The use of even a fraction of the Neumann-type boundary condition (i.e., when ALPHAMB is greater than 0.0) ensures a reasonable conservation of local mass fluxes at a given inter-block boundary. However, integrated over the whole boundary, the flow rates on either side of the boundary may still differ because, for example, of a difference in the open areas on either side of the boundary. The use of the Neumann-type boundary condition makes the coupling of the solutions in adjacent mesh blocks stronger, which may require more pressure iterations to achieve convergence. This is especially likely when there is an abrupt change in ;mesh resolution across an inter-block boundary, by more than a factor of 2.0, or when nested blocks are used. If this becomes a problem, then the coefficient can be reduced to "soften up" the coupling between blocks. It is also a good practice to minimize the number of mesh blocks, if possible, to reduce the inherent truncation errors associated with each inter-block boundary. When using the GMRES pressure solver, or whenever ALPHAMB is reduced to 0.0, the multi-block volume error should be monitored closely.
New Diagnostics for Multi-Block
The multi-block volume error is a new solver diagnostic designed to measure the accuracy of the flow solution coupling between mesh blocks. It is computed by comparing the flow rates on two sides of each inter-block boundary and accumulating the differences over all mesh blocks and time. It is then stored both as the absolute error and as a pecentage of the total fluid volume in mesh. A positive sign of the multi-block volume error indicates a loss of fluid volume in the mesh. The solver mentor will alert the user with a warning message when the magnitude of the error exceeds 5%.
While the standard volume error diagnostic is a measure of the accuracy of the Volume-Of-Fluid function advection solution, there are three main reasons for a non-zero multi-block volume error: (a) mismatch in open areas, (b) discontinuity in the velocity solution, and (c) severe fluid breakup near these boundaries resulting in large data interpolation errors. The use of the mixed-type boundary conditions addresses the second of these factors.
An additional diagnostic in version 9.0 helps users detect situations when there is a serious mismatch in open areas at inter-block boundaries due to poor meshing. The pre-processor analyzes open areas at each inter-block boundary boundary and prints them to the pre-processor summary file that can be accessed through the Diagnostics menu of the user interface. The difference at any given boundary should not exceed a fraction of a percent. A special warning is given if any two respective open areas differ by more than 5 percent. The user only needs to run Preview to get this output and then improve the meshing by refining the grid, moving the boundaries between blocks, or reducing the number of mesh blocks.
All these enhancements work with both linked and nested mesh blocks.