34

Assessing OpenFOAM discretization schemes

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Assessing OpenFOAM discretization schemes

Assessing OpenFOAM discretization schemes

João Romero, Ricardo Costa, J. Miguel Nóbrega

i3N/Institute for Polymers and CompositesUniversity of Minho, Portugal

FOAM@IBERIA 2018

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 1 / 34

Page 2: Assessing OpenFOAM discretization schemes

Goals and Motivation

Evaluate the accuracy and performance of various Laplacian (4) discretization schemesI Order of convergenceI Execution time

Implicit vs Explicit approach

∂ tρcT + ∇ · (ρcUT )−∇ · (k∇T ) = τ : ∇U

Implicit Explicit

Solvers in OpenFOAM 5 that explicitly calculate the Laplacian:I PDRFoamI XiFOAMI solidDisplacementFoam

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 2 / 34

Page 3: Assessing OpenFOAM discretization schemes

Outline

1 Methodology

2 LaplacianNumerical CalculationBoundary ConditionsResults

ExplicitImplicitExecution Time

3 Conclusions

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 3 / 34

Page 4: Assessing OpenFOAM discretization schemes

Methodology - Notation

ci Cell i

|ci | Volume of ci

fij Shared face between ci and cj

N Number of cells in the mesh

Ei Error of the solution at cell ci

|Ω| Volume of the computational domain(|Ω|= ∑i |ci |)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 4 / 34

Page 5: Assessing OpenFOAM discretization schemes

Methodology - Error Analysis

ε1 = ∑i |Ei |.|ci ||Ω | ε∞ = maxi |Ei |

For both ε1 and ε∞, for a 2D problem, we expect

ε ∼ C

(1√N

If you apply log to both sides:

logε ∼ logC − α

2logN

1 For each scheme and each mesh type calculate ε1 and ε∞ using dierent number of cells N

2 Through linear regression calculate α1 and α∞

α1 and α∞ represent the scheme's order of convergence

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 5 / 34

Page 6: Assessing OpenFOAM discretization schemes

Methodology - Implicit vs Explicit

4φ (x ,y) = S (x ,y)

Implicit approach (IMP) Calculate φ (x ,y), given S (x ,y) - fvm namespace in OpenFOAM

Explicit approach (EXP) Calculate S (x ,y), given φ (x ,y) - fvc namespace in OpenFOAM

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 6 / 34

Page 7: Assessing OpenFOAM discretization schemes

Methodology - Implicit vs Explicit

4φ (x ,y) = S (x ,y)

Implicit (Manufactured Solution Method)

1 Choose a (generally) non-trivial analytical solution φex from which BCs and S are dened

2 Initialize eld S

3 Solve dierential equation 4φ = S for φ1

4 Calculate the error between the numerical results (φ) and the analytical solution (φex) -Ei = |φi −φex ,i |

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 7 / 34

Page 8: Assessing OpenFOAM discretization schemes

Methodology - Implicit vs Explicit

4φ (x ,y) = S (x ,y)

Explicit

1 Choose a (generally) non-trivial analytical solution φex from which BCs and S are dened

2 Initialize eld φ with its analytical solution φex

3 Explicitly calculate 4φ

4 Calculate the error between the numerical results (4φ) and the analytical solution (S) -Ei = |4φi −S |

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 8 / 34

Page 9: Assessing OpenFOAM discretization schemes

Methodology - Domain and MeshesSquare 1m×1m computational domain

Orthogonal (OM) Non-orthogonal (NM)

Meshes considered

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 9 / 34

Page 10: Assessing OpenFOAM discretization schemes

Methodology - Field φ

We will be using φ (x ,y) = xy (e− ex)(e− ey )I It is not polynomialI φ = 0 at the boundaries of the chosen domain

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 10 / 34

Page 11: Assessing OpenFOAM discretization schemes

Laplacian - Numerical Calculation

The Laplacian discretization is based on Gauss's theorem. For a generic cell ci∫ci

4φds =∮

∂ci

∇φds '∑j

s ij ·∇φij

For each face fij

4ij =d ij

d ij ·s ij|s ij |2

k ij = s ij −4ij

s ij ·∇φij is calculated according to the selected scheme

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 11 / 34

Page 12: Assessing OpenFOAM discretization schemes

Laplacian - Numerical Calculation

Orthogonal scheme

s ij ·∇φij = |s ij |φj −φi∣∣dij

∣∣

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 12 / 34

Page 13: Assessing OpenFOAM discretization schemes

Laplacian - Numerical Calculation

Corrected scheme - non-orthogonal correction (with linear interpolation)

s ij ·∇φij =∣∣4ij

∣∣ φj −φi∣∣dij

∣∣ +k ij ·∇φ′ij

φ ′= Field from previous iteration∇φ ′ij - linear interpolation of ∇φ ′i and ∇φ ′j where eld ∇φ ′ is explicitly calculated, using thegradient scheme selected (e.g. Gauss linear corrected selects a linear scheme for ∇φ ′)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 13 / 34

Page 14: Assessing OpenFOAM discretization schemes

Laplacian - Numerical Calculation

Limited schemeImplicit (orthogonal) term forced to be larger than explicit (non-orthogonal) term for stabilitypurposes1. λ is selected by user.

s ij ·∇φij =∣∣4ij

∣∣ φj −φi∣∣dij

∣∣ +min

(λ∣∣4ij

∣∣ φ ′j −φ ′i|d ij |

,kij ·∇φ′ij

)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 14 / 34

Page 15: Assessing OpenFOAM discretization schemes

Laplacian - Numerical Calculation

Uncorrected schemeEquivalent to Limited scheme with λ = 0

s ij ·∇φij =∣∣4ij

∣∣ φj −φi∣∣dij

∣∣J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 15 / 34

Page 16: Assessing OpenFOAM discretization schemes

Laplacian - Boundary Conditions

Neumann (NEU) sb ·∇φb = sb ·∇φex ,b

Dirichlet (DIR) φb = φex ,b, sb ·∇φb = |sb| φb−φi

|db |

Implicit approachDirichlet conditions must be used in at least one boundary face, otherwise the solution is notuniqueExplicit approachBoth conditions can be used

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 16 / 34

Page 17: Assessing OpenFOAM discretization schemes

Laplacian - Boundary Conditions

Consider cell ci at the right boundary of the domain.

4φi =

(∂ 2φ

∂x2

)i

+

(∂ 2φ

∂y2

)i

Using Gauss's theorem(∂ 2φ

∂x2

)i

=sb ·∇φb + s ij ·∇φij

|ci |=|sb| φb−φi

|db |+ |s ij |

φj−φi

|dij ||ci |

In an orthogonal uniform squared mesh:

|s|=∣∣s ij ∣∣=

∣∣d ij

∣∣= h, |d |= h2 , |ci |= h2

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 17 / 34

Page 18: Assessing OpenFOAM discretization schemes

Laplacian - Boundary Conditions

(∂ 2φ

∂x2

)i

=2φb−3φi + φj

h2

Simplied notation

φ (x) = φ (x ,yi ), φ ′ (x) = ∂φ(x ,yi )∂x

, φ ′′ (x) = ∂2φ(x ,yi )∂x2

.

Then, φi = φ (xi ), φb = φ(xi + h

2

), φj = φ (xi −h).

Thus, the numerical evaluation of(

∂2φ

∂x2

)i

= φ ′′ (xi ) yields

φ′′num (xi ) =

2φ(xi + h

2

)−3φ (xi ) + φ (xi −h)

h2

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 18 / 34

Page 19: Assessing OpenFOAM discretization schemes

Laplacian - Boundary Conditions

The Taylor expansions of φ (xi −h) and φ(xi + h

2

)of order 3 are:

φ (xi −h) = φ (xi )−φ′ (xi )h+

φ ′′ (xi )

2!h2− φ (3) (xi )

3!h3

φ

(xi +

h

2

)= φ (xi ) + φ

′ (xi )h

2+

φ ′′ (xi )

2!

(h

2

)2

+φ (3) (xi )

3!

(h

2

)3

Plugging this into the formula from the previous slide yields

φ′′num (xi ) =

3

4φ′′ (xi ) +O (h)

Dirichlet conditions lead to the calculation of the only 344φ instead of 4φ in the

direction perpendicular to the boundary. In the tested function this direction is dominant.

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 19 / 34

Page 20: Assessing OpenFOAM discretization schemes

Laplacian - Results (EXP-OM-DIR)

φ (x ,y) = x2

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 20 / 34

Page 21: Assessing OpenFOAM discretization schemes

Laplacian - Results on Boundary Cells (EXP-OM-DIR)

Ei =∣∣4φex ,i −4φi

∣∣ Ei =∣∣4φex ,i − 4

34φi

∣∣

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 21 / 34

Page 22: Assessing OpenFOAM discretization schemes

Laplacian - Results (EXP-OM-DIR)

All domain Inner cells

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 22 / 34

Page 23: Assessing OpenFOAM discretization schemes

Laplacian - Results (EXP-NM-DIR)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 23 / 34

Page 24: Assessing OpenFOAM discretization schemes

Laplacian - Results (EXP-NM-DIR)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 24 / 34

Page 25: Assessing OpenFOAM discretization schemes

Laplacian - Results (EXP-OM-NEU)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 25 / 34

Page 26: Assessing OpenFOAM discretization schemes

Laplacian - Results (EXP-NM-NEU)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 26 / 34

Page 27: Assessing OpenFOAM discretization schemes

Laplacian - Results (EXP-NM-NEU)

Neumann boundary conditions are advised

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 27 / 34

Page 28: Assessing OpenFOAM discretization schemes

Laplacian - Results (IMP-OM)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 28 / 34

Page 29: Assessing OpenFOAM discretization schemes

Laplacian - Results (IMP-OM)

S (x ,y) =4φex for all domain S (x ,y) = 3

44φex for boundary cells

S (x ,y) =4φex for inner cells

4φ (x ,y) = S (x ,y)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 29 / 34

Page 30: Assessing OpenFOAM discretization schemes

Laplacian - Results (IMP-NM)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 30 / 34

Page 31: Assessing OpenFOAM discretization schemes

Laplacian - Results (IMP-NM)

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 31 / 34

Page 32: Assessing OpenFOAM discretization schemes

Laplacian - Execution Time

Othogonal s ij ·∇φij = |s ij |φj−φi

|dij |Uncorrected s ij ·∇φij =

∣∣4ij

∣∣ φj−φi

|dij |Corrected s ij ·∇φij =

∣∣4ij

∣∣ φj−φi

|dij | +k ij ·∇φ ′ij

Limited s ij ·∇φij =∣∣4ij

∣∣ φj−φi

|dij | +min

(λ∣∣4ij

∣∣ φ ′j−φ ′i

|d ij | ,kij ·∇φ ′ij

)Execution time relative to Limited 0.5 scheme.

Scheme Orthogonal Uncorrected Corrected Limited 0.5

Ex. Time (s) 6.19% 16.19% 85.71% 100%

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 32 / 34

Page 33: Assessing OpenFOAM discretization schemes

Conclusions

A methodology to quantify the order of convergence of OpenFOAM discretization schemeswas proposed, using Explicit and Implicit

The methodology was tested for the Laplacian operator in orthogonal and non-orthogonalmeshes, using Neumann and Dirichlet boundary conditions

The schemes used lead to an error in the calculation of the Laplacian at boundary cells

The order of convergence of discretization schemes is dierent

Laplacian schemes with no non-orthogonal corrections (and even partially corrected)should be avoided in non-orthogonal meshes

Non-orthogonal corrections have a signicant impact on the scheme's execution time

Future work:I Apply the same methodology to other dierential operatorsI Extend the analysis

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 33 / 34

Page 34: Assessing OpenFOAM discretization schemes

Acknowledgments

The authors acknowledge the funding from COMPETE/FEDER and Fundação para a Ciência ea Tecnologia (FCT), Portugal, through project PTDC/ENS-ENE/3362/2014 and FEDER,under PEst-C/CTM/LA0025/2013.

J. Romero et al. (IPC/UMinho) Assessing OpenFOAM discretization schemes FOAM@IBERIA 2018 34 / 34