-
Notifications
You must be signed in to change notification settings - Fork 0
notes by julian
JulianJohannes edited this page Nov 16, 2022
·
1 revision
- show source code, paraview
- SDPLS-source-term
$S = -R(\psi) \psi = \psi \langle (\nabla v) \frac{\nabla \psi}{\mid\nabla\psi\mid}, \frac{\nabla \psi}{\mid\nabla\psi\mid} \rangle$ - linearization done in xournal++ linearization.xopp
- ends in
$S=-R(\psi^*)\psi$ , where$\psi^*$ is the guess from the last iteration and$\psi$ is the solution variable
- ends in
- discretization approaches according to [Patankar]
- version 1: simpleLinearImplicit
$S=-R(\psi^*)\psi$ - version 2: strictNegativeSpLinearImplicit
$S=S_c +S_p \psi$ $S_c = max(-R(\psi^*),0)\psi^*$ $S_p = -max(R(\psi^*),0)$
- version 1: simpleLinearImplicit
- during implementation I realized that I used the wrong operator in explicit source term implementation
- show video of 3Dtranslation case explicit, simpleLinearImplicit, strictNegativeSpLinearImplicit
- not usable, because of wrong operator in explicit implementation
- -> Wait, let us fix the problem with BC first
- 3Dtranslation case: the source-term should be inactive no matter which disretization is used because
$\nabla v =0$
- 3Dtranslation case: the source-term should be inactive no matter which disretization is used because
- init psiEnd by recalling LeiaSetFields in diffrent context of LeiaSetFields
- use a support case init_psiEnd in 3Dtranslation/system/init_psiEnd
- mainly empty case with fvSolution with known end position and some symlinks
- show README
- changed calculation of error in errorCalculation.H
- if psiEnd exists in 0/ use it for errorCalculation
- show code
- Problem with try-catch block
A critical analysis of some popular methods for the discretisation of the gradient operator in finite volume methods, cited 62 times
-
Divergence-Theorem Gradient (DT) aka Green-Gauss Gradient
- on unstructured grid
- 0th-order accurate for scheme and whole FVM
- may become 1st order with correction iterations steps
- usage with outer loop to reduce computational costs or change to LS, nodebased DT or Auxilary cell DT
OpenFOAM using the DT gradient was unable to reduce the discretisation errors by grid refinement
- on unstructured grid
-
Least Squares Gradient (LS)
-
normally uses all neighbooring cells, but can uses even more distant cells
- or just cells towards one side
For example, some of the triangular cells at the corners of the grid in Fig. 20(b) have only one neighbour cell; if the values of φ are not available at the boundary faces (e.g. if φ is the pressure in incompressible flows)
-
there are LS schemes which are 2nd-order convergence on arbitrary unstructred meshes
-
nondiagonal weighted LS scheme (ND)
- solves higher order Taylor-polynom, which has the advantage of also computing
$\nabla^2 \psi$ - this may be interesting for our curvature problem
- [Accuracy preserving limiter for the high-order finite volume method on unstructured grids]
- solves higher order Taylor-polynom, which has the advantage of also computing
-
nondiagonal weighted LS scheme (ND)
-
-
1D uneven grid
- nondiagonal LS method (ND) is the best in all situations with 2nd-order accuracy
-
cartesian grids
- DT and LS schemes are 2nd-order accurate for interior cells
- at boundary cells all methods are only 1st-order accurate , except the LS(q=3/2) is 2nd-order accurate
-
unstructured grids
- LS methods 1st-order accurate
- DT do not converge
- approximate gradient of linear function
- convergence without refinement
- DT with finite iteration do not converge
- DT with infinite does converge to exact value
- LS does converge to exact gradient
- convergence without refinement
- What is about upwind divergence scheme? Code [41] uses forward for west and backward for east boundary
- Do we also ignore boundary values for the divergence discretization?
- SDPLS paper: Why second order discretization for gradient, if other discretization are of 1st-order?
- paper [40] is talking about ghost cells for handling BC, but code [41] uses for discretization of FVM-divergence term at boundary just backward-schemes (here at east border), to ignore boundary values at all. Why is there a discrepancy?
- Checkout nondiagonal LS scheme
- when velocity BC is fixed, retry Level-Set source term in 3Dtranslation case. It should be inactive
- processor boundaries in 3Dtranslation case