ScaRC is ready for use in FDS Alternative solver for the FDS pressure equation Dr. Susanne Kilian hhpberlin - Ingenieure für Brandschutz 10245 Berlin Next Generation Fire Engineering
1 Agenda 4 2 3 1 Poisson solver ScaRC UGLMAT FFT Pressure solver solver solver equation 4 Next Generation Fire Engineering
1 FDS pressure Poisson equation Numerical Different discretization types fire simulations Next Generation Fire Engineering
1 Pressure equation in FDS Elliptic partial differential equation of „Poisson“ type Pressure equation + boundary conditions Strongly coupled with velocity field, Source terms of previous time step. to be solved at least twice per time step e.g. radiation, combustion pyrolysis, … Key feature : Local information is spread immediately over whole domain! Next Generation Fire Engineering
1 1 Discretization with finite differences 5-point stencil in 2D 7-point stencil in 3D Discretization of Pressure Pressure equation equation cell-centered Specifies physical relations between grid cells according to elliptic equation Next Generation Fire Engineering
1 Demo-case ‚2D-pipe with obstruction‘ Discretization of Pressure Simple example to explain the concepts Pressure equation equation Open outflow Presecribed Pressure inflow Device Next Generation Fire Engineering
1 Global versus local discretization Global discretization Discretization of Pressure Pressure equation equation 1 global matrix, 1 global right hand side vector Next Generation Fire Engineering
1 Global versus local discretization Global discretization Set of local discretizations Discretization of Pressure Pressure equation equation 1 global matrix, 1 global right hand side vector M local matrices, M local right hand side vectors Next Generation Fire Engineering
1 Global versus local discretization Global discretization Set of local discretizations Discretization of Pressure Pressure equation equation 1 global matrix, 1 global right hand side vector M local matrices, M local right hand side vectors = ∑ x i x ? Next Generation Fire Engineering
1 Structured versus unstructured discretization There are different possibilities to discretize … Pressure equation Mesh 3 Mesh 4 Mesh 1 Mesh 2 Next Generation Fire Engineering
1 Structured versus unstructured discretization … at cells inside and around a solid obstruction Pressure equation Mesh 3 Mesh 4 Mesh 1 Mesh 2 Next Generation Fire Engineering
1 Structured versus unstructured discretizations Structured Pressure R egular matrix stencils equation 8x8 cells Mesh 1 Cells inside obstructions are included Next Generation Fire Engineering
1 Structured versus unstructured discretizations Structured Unstructured Pressure R egular matrix stencils Irregular matrix stencils equation 8x8 cells Mesh 1 Mesh 1 Cells inside obstructions are included Cells inside obstructions are excluded Next Generation Fire Engineering
1 Regular versus irregular Poisson matrix Structured Unstructured Pressure Highly regular Poisson matrix Irregular Poisson matrix equation A A Sparse 64 x 64 -matrix Sparse 60 x 60 -matrix 288 non-zeros 260 non-zeros 8x8 cells Sparsity patterns Mesh 1 Mesh 1 Cell number Cell number Highly optimized solvers usable (fast!) Need of more robust solvers (slower!) Next Generation Fire Engineering
1 Regular versus irregular Poisson matrix Structured Unstructured Pressure Highly regular Poisson matrix Irregular Poisson matrix equation A A Sparse 64 x 64 -matrix Sparse 60 x 60 -matrix 288 non-zeros 260 non-zeros 8x8 cells Different from rest Sparsity patterns Mesh 1 Mesh 1 Cell number Cell number Highly optimized solvers usable (fast!) Need of more robust solvers (slower!) Next Generation Fire Engineering
Current FDS pressure solver Mesh-wise FFT with pressure iteration Next Generation Fire Engineering
2 Mesh-wise FFT-solver Local structured discretizations to solve the local Poisson problems by FFT’s FFT solver local local FFT FFT local local Use of optimized CRAYFISHPAK, FFT FFT extremely fast and robust Next Generation Fire Engineering
2 Mesh-wise FFT-solver Mathematical solvability requires internal boundary conditions for local FFTs … FFT solver Artifical local local boundaries FFT FFT local local Exact values not known, FFT FFT only approximately Next Generation Fire Engineering
2 Mesh-wise FFT-solver … average of neighboring cells from previous time step is used FFT solver local local FFT FFT local local Local communication required FFT FFT per FDS time step local communication Next Generation Fire Engineering
2 Accuracy along mesh interfaces? Question: How accurate is the velocity field at mesh interfaces? FFT solver Mesh 3 Mesh 4 No global discretization, only collection of local ones Mesh 1 Mesh 2 Next Generation Fire Engineering
2 Accuracy along mesh interfaces? Local velocity components may be different along mesh interfaces FFT solver Mesh 3 Mesh 4 Mesh 3 Mesh 1 Mesh 2 Mesh 2 Next Generation Fire Engineering
2 Accuracy along internal obstructions? Question: How accurate is the velocity field along inner obstructions? FFT solver Mesh 3 Mesh 4 Structured grids only, internal boundary conditions cannot be specified Mesh 1 Mesh 2 Next Generation Fire Engineering
2 Accuracy along internal obstructions? Velocity components may penetrate into the inner obstructions FFT solver Mesh 3 Mesh 4 Mesh 1 Mesh 1 Mesh 2 Next Generation Fire Engineering
2 Mesh-wise FFT-solver FFT solver local local FFT FFT Possible errors along mesh interfaces Possible errors along obstructions local local FFT FFT Next Generation Fire Engineering
2 Mesh-wise FFT-solver with pressure iteration FFT Remedy: Pressure Iteration solver Use additional corrective iteration Repeat local FFT’s local local until errors are FFT FFT corrected local local FFT FFT error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ? local communication Next Generation Fire Engineering
2 2 Mesh-wise FFT-solver with pressure iteration Start iteration: Initial velocity errors FFT solver Mesh 3 Mesh 4 Mesh 1 Mesh 3 Mesh 1 Mesh 2 Mesh 2 Next Generation Fire Engineering
2 2 Mesh-wise FFT-solver with pressure iteration Intermediate iteration: Velocity errors are reduced more and more FFT solver Mesh 3 Mesh 4 Mesh 1 Mesh 3 Mesh 1 Mesh 2 Mesh 2 Next Generation Fire Engineering
2 2 Mesh-wise FFT-solver with pressure iteration End of iteration: Velocity errors are below specified tolerance FFT solver Mesh 3 Mesh 4 Mesh 1 Mesh 3 Mesh 1 Mesh 2 Mesh 2 Next Generation Fire Engineering
2 Mesh-wise FFT-solver with pressure iteration FFT Pressure Iteration solver local local FFT FFT Accurate along mesh interfaces Accurate along obstructions local local FFT FFT error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ? local communication Next Generation Fire Engineering
2 Mesh-wise FFT-solver with pressure iteration FFT Convergence speed? Pressure Iteration solver local local Usually very fast FFT FFT convergence local local FFT FFT error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ? local communication Next Generation Fire Engineering
2 Mapping of the global flow of information? FFT Question: How quickly does new local information spread? solver new No global discretization, inflow only local solutions Next Generation Fire Engineering
2 Mapping of the global flow of information? 1. Cycle: Information reaches Mesh 1 FFT solver Mesh 3 Mesh 4 No global data transfer, only local communication Mesh 1 Mesh 2 Next Generation Fire Engineering
2 Mapping of the global flow of information? 2. Cycle: Information reaches Mesh 2 FFT solver Mesh 3 Mesh 4 Information can only be transferred mesh-by-mesh … Mesh 1 Mesh 2 local communication Next Generation Fire Engineering
2 Mapping of the global flow of information? 3. Cycle: Information reaches Mesh 3 FFT solver Mesh 3 Mesh 4 … successively using next-neighbor communications Mesh 1 Mesh 2 local communication Next Generation Fire Engineering
2 Mapping of the global flow of information? 4. Cycle: Information finally reaches Mesh 4 FFT solver Mesh 3 Mesh 4 Time delay compared to 1-mesh, especially for large mesh counts Mesh 1 Mesh 2 local communication Next Generation Fire Engineering
2 Mesh-wise FFT-solver with pressure iteration FFT Possible troubles Pressure Iteration solver For large mesh counts or very transient cases local local FFT FFT slow convergence and large overhead local local FFT FFT error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ? local communication Next Generation Fire Engineering
UGLMAT solver Optimized parallel LU-decomposition Next Generation Fire Engineering
3 Alternative pressure solver UGLMAT UGLMAT • Global unstructured discretization of whole domain solver • Decomposition of global Poisson matrix in lower and upper triangular A matrices and L U Parallel LU-decomposition • Usage of optimized - solver from Intel Math Kernel Library (MKL) LU Next Generation Fire Engineering
Recommend
More recommend