ScaRC is ready for use in FDS Alternative solver for the FDS pressure - - PowerPoint PPT Presentation

scarc is ready for use in fds
SMART_READER_LITE
LIVE PREVIEW

ScaRC is ready for use in FDS Alternative solver for the FDS pressure - - PowerPoint PPT Presentation

ScaRC is ready for use in FDS Alternative solver for the FDS pressure equation Dr. Susanne Kilian hhpberlin - Ingenieure fr Brandschutz 10245 Berlin Next Generation Fire Engineering 1 Agenda 4 2 3 1 Poisson solver ScaRC UGLMAT FFT


slide-1
SLIDE 1

Next Generation Fire Engineering

ScaRC is ready for use in FDS

Alternative solver for the FDS pressure equation

  • Dr. Susanne Kilian

hhpberlin - Ingenieure für Brandschutz 10245 Berlin

slide-2
SLIDE 2

Next Generation Fire Engineering

1

Agenda

4

Poisson solver

1

Pressure equation

2

FFT solver

3

UGLMAT solver

4

ScaRC solver

slide-3
SLIDE 3

Next Generation Fire Engineering

1

Numerical fire simulations

FDS pressure Poisson equation

Different discretization types

slide-4
SLIDE 4

Next Generation Fire Engineering

Pressure equation in FDS

1

Pressure equation

Key feature: Local information is spread immediately over whole domain!

Elliptic partial differential equation of „Poisson“ type

Source terms of previous time step. e.g. radiation, combustion pyrolysis, …

+ boundary conditions

Strongly coupled with velocity field, to be solved at least twice per time step

slide-5
SLIDE 5

Next Generation Fire Engineering

Discretization with finite differences

5-point stencil in 2D

Specifies physical relations between grid cells according to elliptic equation

7-point stencil in 3D

1

Discretization of Pressure equation

1

Pressure equation

cell-centered

slide-6
SLIDE 6

Next Generation Fire Engineering

Demo-case ‚2D-pipe with obstruction‘

Discretization of Pressure equation

1

Pressure equation

Presecribed inflow Open

  • utflow

Pressure Device

Simple example to explain the concepts

slide-7
SLIDE 7

Next Generation Fire Engineering

1 global matrix, 1 global right hand side vector

Discretization of Pressure equation

1

Pressure equation

Global versus local discretization

Global discretization

slide-8
SLIDE 8

Next Generation Fire Engineering

1 global matrix, 1 global right hand side vector

Global discretization Set of local discretizations Discretization of Pressure equation

1

Pressure equation

M local matrices, M local right hand side vectors

Global versus local discretization

slide-9
SLIDE 9

Next Generation Fire Engineering

1 global matrix, 1 global right hand side vector

Global discretization Set of local discretizations Discretization of Pressure equation

1

Pressure equation

M local matrices, M local right hand side vectors

Global versus local discretization

x ? = ∑ xi

slide-10
SLIDE 10

Next Generation Fire Engineering

Structured versus unstructured discretization

1

Pressure equation There are different possibilities to discretize …

Mesh 1 Mesh 2 Mesh 3 Mesh 4

slide-11
SLIDE 11

Next Generation Fire Engineering

Structured versus unstructured discretization

1

Pressure equation

Mesh 1 Mesh 2 Mesh 3 Mesh 4

… at cells inside and around a solid obstruction

slide-12
SLIDE 12

Next Generation Fire Engineering

Structured versus unstructured discretizations

1

Pressure equation

Regular matrix stencils

Cells inside obstructions are included Mesh 1

Structured

8x8 cells

slide-13
SLIDE 13

Next Generation Fire Engineering

Structured versus unstructured discretizations

1

Pressure equation

8x8 cells

Cells inside obstructions are included

Regular matrix stencils

Structured

Irregular matrix stencils

Unstructured

Cells inside obstructions are excluded Mesh 1 Mesh 1

slide-14
SLIDE 14

Next Generation Fire Engineering

Regular versus irregular Poisson matrix

1

Pressure equation

Sparse 64 x 64 -matrix 288 non-zeros Sparse 60 x 60 -matrix 260 non-zeros

Need of more robust solvers (slower!) Highly optimized solvers usable (fast!) Highly regular Poisson matrix

A

Irregular Poisson matrix

A

Structured Unstructured

Mesh 1 Mesh 1

Cell number Cell number

8x8 cells Sparsity patterns

slide-15
SLIDE 15

Next Generation Fire Engineering

1

Pressure equation

Sparse 64 x 64 -matrix 288 non-zeros Sparse 60 x 60 -matrix 260 non-zeros

Need of more robust solvers (slower!) Highly optimized solvers usable (fast!)

Structured Unstructured

Different from rest

Highly regular Poisson matrix

A

Irregular Poisson matrix

A

8x8 cells Sparsity patterns Mesh 1 Mesh 1

Cell number Cell number

Regular versus irregular Poisson matrix

slide-16
SLIDE 16

Next Generation Fire Engineering

Current FDS pressure solver

Mesh-wise FFT with pressure iteration

slide-17
SLIDE 17

Next Generation Fire Engineering

2

FFT solver

Mesh-wise FFT-solver

Local structured discretizations to solve the local Poisson problems by FFT’s

local FFT local FFT local FFT local FFT

Use of optimized CRAYFISHPAK, extremely fast and robust

slide-18
SLIDE 18

Next Generation Fire Engineering

Mesh-wise FFT-solver

local FFT local FFT local FFT local FFT

Exact values not known,

  • nly approximately

Artifical boundaries

Mathematical solvability requires internal boundary conditions for local FFTs …

2

FFT solver

slide-19
SLIDE 19

Next Generation Fire Engineering

Mesh-wise FFT-solver

… average of neighboring cells from previous time step is used

local FFT local FFT local FFT local FFT

Local communication required per FDS time step

2

FFT solver

local communication

slide-20
SLIDE 20

Next Generation Fire Engineering

Accuracy along mesh interfaces?

Question: How accurate is the velocity field at mesh interfaces?

2

FFT solver No global discretization,

  • nly collection of local ones

Mesh 1 Mesh 2 Mesh 3 Mesh 4

slide-21
SLIDE 21

Next Generation Fire Engineering

Accuracy along mesh interfaces?

Local velocity components may be different along mesh interfaces

2

FFT solver

Mesh 3 Mesh 2

Mesh 1 Mesh 2 Mesh 3 Mesh 4

slide-22
SLIDE 22

Next Generation Fire Engineering

Accuracy along internal obstructions?

Question: How accurate is the velocity field along inner obstructions?

2

FFT solver

Mesh 1 Mesh 2 Mesh 3 Mesh 4

Structured grids only, internal boundary conditions cannot be specified

slide-23
SLIDE 23

Next Generation Fire Engineering

Velocity components may penetrate into the inner obstructions

2

FFT solver

Mesh 1

Accuracy along internal obstructions?

Mesh 1 Mesh 2 Mesh 3 Mesh 4

slide-24
SLIDE 24

Next Generation Fire Engineering

Mesh-wise FFT-solver

local FFT local FFT local FFT local FFT

2

FFT solver

Possible errors along mesh interfaces Possible errors along obstructions

slide-25
SLIDE 25

Next Generation Fire Engineering

Mesh-wise FFT-solver with pressure iteration

2

FFT solver

local FFT local FFT local FFT local FFT

Pressure Iteration

error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ?

Remedy: Use additional corrective iteration

local communication

Repeat local FFT’s until errors are corrected

slide-26
SLIDE 26

Next Generation Fire Engineering

2

Mesh-wise FFT-solver with pressure iteration

Start iteration: Initial velocity errors

Mesh 3 Mesh 2

2

FFT solver

Mesh 1

Mesh 1 Mesh 2 Mesh 3 Mesh 4

slide-27
SLIDE 27

Next Generation Fire Engineering

2

Mesh-wise FFT-solver with pressure iteration

Intermediate iteration: Velocity errors are reduced more and more

2

FFT solver

Mesh 1

Mesh 1 Mesh 2 Mesh 3 Mesh 4

Mesh 3 Mesh 2

slide-28
SLIDE 28

Next Generation Fire Engineering

2

Mesh-wise FFT-solver with pressure iteration

End of iteration: Velocity errors are below specified tolerance

2

FFT solver

Mesh 1

Mesh 1 Mesh 2 Mesh 3 Mesh 4

Mesh 3 Mesh 2

slide-29
SLIDE 29

Next Generation Fire Engineering

Pressure Iteration

Mesh-wise FFT-solver with pressure iteration

2

FFT solver

local communication

local FFT local FFT local FFT local FFT

error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ?

Accurate along mesh interfaces Accurate along obstructions

slide-30
SLIDE 30

Next Generation Fire Engineering

Mesh-wise FFT-solver with pressure iteration

2

FFT solver

local FFT local FFT local FFT local FFT

Pressure Iteration

error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ?

Usually very fast convergence

local communication

Convergence speed?

slide-31
SLIDE 31

Next Generation Fire Engineering

Mapping of the global flow of information?

Question: How quickly does new local information spread?

2

FFT solver

new inflow

No global discretization,

  • nly local solutions
slide-32
SLIDE 32

Next Generation Fire Engineering

  • 1. Cycle: Information reaches Mesh 1

2

FFT solver

Mesh 1 Mesh 2 Mesh 3 Mesh 4

No global data transfer,

  • nly local communication

Mapping of the global flow of information?

slide-33
SLIDE 33

Next Generation Fire Engineering

  • 2. Cycle: Information reaches Mesh 2

2

FFT solver

Mesh 1 Mesh 2 Mesh 3 Mesh 4

Information can only be transferred mesh-by-mesh …

local communication

Mapping of the global flow of information?

slide-34
SLIDE 34

Next Generation Fire Engineering

  • 3. Cycle: Information reaches Mesh 3

2

FFT solver … successively using next-neighbor communications

Mesh 1 Mesh 2 Mesh 3 Mesh 4

local communication

Mapping of the global flow of information?

slide-35
SLIDE 35

Next Generation Fire Engineering

  • 4. Cycle: Information finally reaches Mesh 4

2

FFT solver

Mesh 1 Mesh 2 Mesh 3 Mesh 4

Time delay compared to 1-mesh, especially for large mesh counts

local communication

Mapping of the global flow of information?

slide-36
SLIDE 36

Next Generation Fire Engineering

Mesh-wise FFT-solver with pressure iteration

2

FFT solver

local FFT local FFT local FFT local FFT

Pressure Iteration

error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ?

For large mesh counts or very transient cases slow convergence and large overhead

local communication

Possible troubles

slide-37
SLIDE 37

Next Generation Fire Engineering

UGLMAT solver

Optimized parallel LU-decomposition

slide-38
SLIDE 38

Next Generation Fire Engineering

Alternative pressure solver UGLMAT

3

UGLMAT solver Parallel LU-decomposition

  • Global unstructured discretization of whole domain
  • Decomposition of global Poisson matrix in lower and upper triangular

matrices and

  • Usage of optimized - solver from Intel Math Kernel Library (MKL)

A L U LU

slide-39
SLIDE 39

Next Generation Fire Engineering

Alternative pressure solver UGLMAT

3

UGLMAT solver Parallel LU-decomposition

  • Global unstructured discretization of whole domain
  • Decomposition of global Poisson matrix in lower and upper triangular

matrices and

  • Usage of optimized - solver from Intel Math Kernel Library (MKL)

A L U LU

Accurate along mesh interfaces Accurate along obstructions

slide-40
SLIDE 40

Next Generation Fire Engineering

UGLMAT - Memory needs for 3D-cube

Huge memory requirements as grid is refined

has much more non-zero entries than due to ‚fill-in’

~1,9 Billions ~ 8 Millions

3

UGLMAT solver

slide-41
SLIDE 41

Next Generation Fire Engineering

ScaRC

Scalable Recursive Clustering

slide-42
SLIDE 42

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

Global basic iteration

ScaRC Core: Overall global iterative method

Global structured discretization Data-parallel iterative method for global Poisson matrix

slide-43
SLIDE 43

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3 4

Local basic iteration Local basic iteration Local basic iteration Local basic iteration

Not used as stand-alone solvers, but only as corrections to global solution

ScaRC Core: Additional local iterative methods

Global basic iteration

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-44
SLIDE 44

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Local basic iteration Local basic iteration Local basic iteration Local basic iteration

local communication global communication

Local solvers offer fine grid accuracy Basic information transfer is provided globally

ScaRC Core: Local and global communication

Global basic iteration

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-45
SLIDE 45

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Global basic iteration Local basic iteration Local basic iteration Local basic iteration Local basic iteration

local communication global communication

Accurate along mesh interfaces Possible errors along obstructions

ScaRC Core: Structured basic version

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-46
SLIDE 46

Next Generation Fire Engineering

Multiple variations of different techniques

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC Use of different discretization techniques

  • Pressure iteration for structured case Fix errors at obstructions
  • Global unstructured discretization No errors at obstructions

Use of different global solvers

  • Conjugated Gradient method (CG) Exploit basic robustness
  • Geometric Multigrid method (MG) Improve global coupling

Use of different local solvers

  • Optimized FFT (CRAYFISHPAK) Speed up local solutions in structured case
  • Optimized LU (Intel MKL) Speed up local solutions in unstructured case

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-47
SLIDE 47

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Local FFT Local FFT Local FFT Local FFT Pressure Iteration

error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ?

ScaRC-CG: Default for structured grids

Fix errors at inner obstructions Optimize globally (CG) Optimize locally (FFT)

local communication global communication

Global data-parallel Conjugate Gradient method

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-48
SLIDE 48

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

local communication global communication

Global CG-Method Local FFT Local FFT Local FFT Local FFT Pressure Iteration

error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ?

ScaRC-CG: Default for structured grids

Accurate along mesh interfaces Accurate along obstructions

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-49
SLIDE 49

Next Generation Fire Engineering

ScaRC-MG: Alternative for structured grids

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Pressure Iteration

error < VELOCITY_TOLERANCE ? ite < MAX_PRESSURE_ITERATIONS ?

local communication global communication

Global data-parallel Multigrid method

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver Fix errors at inner obstructions Improve global coupling (MG)

slide-50
SLIDE 50

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Local LU Local LU Local LU Local LU

UScaRC-CG: Default for unstructured grids

No need for pressure iteration Optimize globally (CG) Optimize locally (LU)

local communication global communication

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

Global data-parallel Conjugate Gradient method

slide-51
SLIDE 51

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

local communication global communication

Global CG-Method Local LU Local LU Local LU Local LU

UScaRC-CG: Default for unstructured grids

Accurate along mesh interfaces Accurate along obstructions

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-52
SLIDE 52

Next Generation Fire Engineering

2

Outlook

Still to do/to improve

  • use different refinement levels between meshes (currently same is needed)
  • test further global methods (i.e. algebraic multigrid) and local methods (ILU)
  • optimise runtime of single components and incorporate OpenMP-directives
  • optimise parameter settings for global and local iterations

Verification & Validation

  • run all pressure related verification tests
  • start with validation tests

3

Erfahrungen

4 3

Erfahrungen

4 3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-53
SLIDE 53

Next Generation Fire Engineering

2

Pressure trace for 2D-pipe

0.1 0.2 0.3 0.4 0.5

  • 2
  • 1

1 2 3 0.1 0.2 0.3 0.4 0.5 20 40 60 80 100

Number of required pressure iterations

Increased number of pressure iterations (Ø 28) Only accurate for tight pressure iteration

FFT default and tight (tol=10-5 m/s)

Pressure device

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-54
SLIDE 54

Next Generation Fire Engineering

2

0.1 0.2 0.3 0.4 0.5

  • 2
  • 1

1 2 3 0.1 0.2 0.3 0.4 0.5 2 4 6 8 10

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Less pressure iterations: 1 (default), max 9 (tight) Accurate for all variants

Different variants of ScaRC and UGLMAT

Number of required pressure iterations

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

Pressure trace for 2D-pipe

Pressure device

slide-55
SLIDE 55

Next Generation Fire Engineering

3 4

Verification case: Karman vortex street

2 3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

0,5 m/s

dancing_eddies

10 Meshes 4 Meshes

  • pen

Pressure Device Obstruction plate

  • pen

0,5 m/s

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-56
SLIDE 56

Next Generation Fire Engineering

Pressure trace 10-mesh case

3

Erfahrungen

4 2 3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

0.5 1 1.5 2

  • 0.3
  • 0.2
  • 0.1

0.1 0.2 0.5 1 1.5 2

  • 0.3
  • 0.2
  • 0.1

0.1 0.2

Accurate only for tight tolerance, but increased number of pressure iterations (Ø 28)

FFT default and tight (tol=10-5 m/s) ScaRC default and tight (tol=10-5 m/s)

Accurate already for default tolerance, max 4 pressure iterations for tight tolerance

Pressure Device

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-57
SLIDE 57

Next Generation Fire Engineering

3

Erfahrungen

4

Verification Case: Flow through a channel

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC Many internal obstructions which cause frequent changes of flow direction

inflow with VOLUME_FLOW = 1

duct_flow

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

8 Meshes

slide-58
SLIDE 58

Next Generation Fire Engineering

Erfahrungen

Velocity error along channel

3

Erfahrungen

4 3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

FFT and ScaRC (tol=10-3 m/s) UGLMAT, UScaRC

Structured Unstructured

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-59
SLIDE 59

Next Generation Fire Engineering

3

Erfahrungen

4 3

Erfahrungen

4 3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Verification cases: Periodic boundaries

shunn3 NS_Analytical_Solution

ScaRC 16 meshes Preserves periodic behavior

  • component velocity

u

mixture fraction

Z

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

slide-60
SLIDE 60

Next Generation Fire Engineering

hhpberlin
 Ingenieure für Brandschutz GmbH Hauptsitz Rotherstraße 19 · 10245 Berlin Amtsgericht Berlin-Charlottenburg Register-Nr.: HRB 78 927 Ust-ID Nr.: DE217656065 Geschäftsführung: Dipl.-Ing. Karsten Foth
 Dipl.-Inf. BW [VWA] Stefan Truthän Beirat:
 Dipl.-Ing. Margot Ehrlicher

  • Prof. Dr.-Ing. Dietmar Hosser

Dr.-Ing. Karl-Heinz Schubert

slide-61
SLIDE 61

Next Generation Fire Engineering

2

Summary

3

Erfahrungen

4 3

Erfahrungen

4 3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver

Discretization Solver Pressure iteration Structured FFT Internal obstructions & Mesh interfaces ScaRC Internal obstructions Unstructured UScaRC

  • UGLMAT
slide-62
SLIDE 62

Next Generation Fire Engineering

Pressure iterations

0.5 1 1.5 2

  • 0.3
  • 0.2
  • 0.1

0.1 0.2 0.5 1 1.5 2 20 40 60 80 100

Erfahrungen

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC

Pressure trace in upper device

Number of required pressure iterations

Pressure iteration causes additional effort Only accurate for tight pressure iteration

Pressure Device

3

Erfahrungen

4 3

Erfahrungen

4

Ausblick

3

Erfahrungen

4

ScaRC solver