Estimate Memory
When clicking Estimate Memory, FlowDict can estimate the needed memory for the computations based on the size of the structure and the parameters entered in the solver options.
The estimated computational memory requirements are shown in a Memory & Disk-Space message.
The memory required for a flow computation depends on the set of flow equations, structure size, porosity, boundary conditions, parallelization, and the selected solver itself. Here, basic hints are given to estimate the memory requirements for the EJ solver, the SimpleFFT solver, and the LIR solver.
We assume a structure with
- NX, the voxels in X-direction,
- NY, the voxels in Y-direction,
- NZ, the voxels in Z-direction,
- NI, additional inlet voxel layers,
- NO, additional outlet voxel layers, and
- P, the number of parallel processes
In addition, we assume that a flow in Z-direction is computed. Then, the total number of voxels is given by
The EJ and SimpleFFT solver are MPI-parallel and need to have some overlap slices for each process in memory. The number of voxels including overlap slices is then given by
The memory requirements can now be roughly estimated using the following formulas for each of the solvers:
Memory estimation for EJ
The memory required by the EJ solver depends on the total number of voxels, the boundary conditions, the number of pore-solid interfaces and the number of parallel processes. The number of pore-solid interfaces depends on the solid volume fraction (SVF). A rule of thumb is:
A more accurate rule of thumb that considers the SVF is:
For symmetric boundary conditions in flow direction the memory requirements are doubled. The unit of the estimated memory is in bytes.
|
Memory estimation for SimpleFFT
The memory required by the SimpleFFT solver depends on the total number of voxels, the boundary conditions, and the number of parallel processes. A rule of thumb is:
For symmetric boundary conditions in flow direction the memory requirements are doubled. The unit of the estimated memory is in bytes.
|
Memory estimation for LIR
The estimation of the LIR memory requirements is more complicated due to the adaptive grid structure. The memory that is required for a flow computation depends on the set of equations (Stokes or Stokes-Brinkman), the total number of voxels and the solid volume fraction (SVF). The memory requirements are directly correlated to the number of adaptive grid cells. The number of adaptive grid cells depends on the number of pore-solid interfaces. A rule of thumb is:
where
if Optimize is set for Speed, else the value is 0, and
if Stokes-Brinkman or Navier-Stokes-Brinkman is computed, else the value is 0.
|