Difference between revisions of "OpenFOAM guide/Programmer's Guide Errata"
Alexxanderny (Talk | contribs) |
(revised page and updated a few links) |
||
(34 intermediate revisions by 20 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Community created ''Errata'' for the OpenFOAM ''Programmer's Guide'': | |
+ | * Online version: [https://sourceforge.net/projects/openfoamplus/files/v1606+/ProgrammersGuide-v1606.pdf OpenFOAM ''Programmer's Guide'' at SF.net] | ||
+ | * The local version in your installation can be found by running one of the respective commands: | ||
+ | ** On OpenFOAM 3.0 and older, as well as foam-extend and all OpenFOAM+ versions: <bash>echo $WM_PROJECT_DIR/doc/Guides-a4/ProgrammersGuide.pdf</bash> | ||
+ | ** As of OpenFOAM 4, there is no Programmer's Guide. This is now maintained by the [http://openfoam.com OpenFOAM+ project]. | ||
− | Notes to contributors: Please include the chapter number of the printed version to avoid confusion (the Wiki might give different chapter numbers) | + | <br> |
+ | <hr> | ||
+ | '''Notes to contributors:''' Please include the chapter number of the printed version to avoid confusion (the Wiki might give different chapter numbers) | ||
+ | <hr> | ||
+ | <br> | ||
− | + | = Chapter 1: Tensor mathematics = | |
− | == | + | == Section 1.2: Tensors == |
+ | As reported in the [http://bugs.openfoam.org/view.php?id=1068 bug report #1068], there are a couple of references to ''OpenFOAM 1.x'', which is likely an old reference to the original FOAM 2.x version. Feel free to compare to the old documentation at Nabla: the old Programmer's Guide, section [http://www.foamcfd.org/Nabla/guides/ProgrammersGuidese2.html#x5-40001.2 1.2 Tensors]. | ||
− | + | Either way, feel free to disregard the ''1.x'' reference, since its objective is reflect that tensors as a mathematical entity, are only partially implemented in OpenFOAM. | |
− | == | + | == Section 1.4: OpenFOAM tensor classes == |
− | + | ||
− | + | === Subsection 1.4.1: Algebraic tensor operations in OpenFOAM === | |
− | + | {{versionInfo}}{{Version1.6}}{{Version1.7}}{{Version2.0}}{{Version2.1}}{{Version2.2}} | |
− | + | ||
− | + | In ''Table 1.2: Algebraic tensor operations in OpenFOAM'', the following entries need fixing: | |
− | + | {| border="1" cellpadding="2" | |
− | + | ! Operation !! Description in OpenFOAM<br>''(wrong)'' !! Description in OpenFOAM<br>''(correct)'' | |
− | + | |- | |
− | + | | Component maximum || max(a) || cmptMax(a) | |
− | + | |- | |
− | + | | Component minimum || min(a) || cmptMin(a) | |
− | + | |- | |
− | + | | Scale || scale(a,b) || cmptMultiply(a,b) | |
− | + | |} | |
− | + | ||
− | + | = Chapter 2: Discretisation procedures = | |
− | + | ||
− | + | == Section 2.1: Differential operators == | |
− | + | ||
− | + | === Subsection 2.1.2: Divergence === | |
− | [http:// | + | {{versionInfo}}{{Version1.5}}{{Version1.6}}{{Version1.7}}{{Version2.0}}{{Version2.1}} |
− | + | ||
− | + | ('''Note''': Already fixed in {{Version2.2}}) | |
− | [ | + | |
− | + | The documented divergence operator for tensors is incorrect: | |
− | + | ||
− | + | <math> | |
− | [ | + | \nabla \bullet T = \partial_i T_{ij}=\left( |
− | + | \begin{matrix} | |
− | + | \frac{\partial T_{11}}{\partial x_1} + \frac{\partial T_{12}}{\partial x_1} + \frac{\partial T_{13}}{\partial x_1}\\ | |
− | + | \frac{\partial T_{21}}{\partial x_2} + \frac{\partial T_{22}}{\partial x_2} + \frac{\partial T_{23}}{\partial x_2}\\ | |
− | [http:// | + | \frac{\partial T_{31}}{\partial x_3} + \frac{\partial T_{32}}{\partial x_3} + \frac{\partial T_{33}}{\partial x_3} |
− | + | \end{matrix} | |
− | [ | + | \right) |
− | [http:// | + | </math> |
− | + | ||
− | [ | + | It should be: |
− | + | ||
− | [ | + | <math> |
− | + | \nabla \bullet T = | |
− | [http:// | + | \left( |
− | + | \begin{matrix} | |
− | [ | + | \frac{\partial }{\partial x_1}, & \frac{\partial }{\partial x_2}, & \frac{\partial}{\partial x_3} |
− | + | \end{matrix} | |
− | [http:// | + | \right) |
− | + | \bullet | |
− | + | \left( | |
− | + | \begin{matrix} | |
− | [ | + | T_{11} & T_{12} & T_{13} \\ |
− | + | T_{21} & T_{22} & T_{33} \\ | |
+ | T_{31} & T_{32} & T_{33} \\ | ||
+ | \end{matrix} | ||
+ | \right) | ||
+ | =\partial_j T_{ji}=\left( | ||
+ | \begin{matrix} | ||
+ | \frac{\partial T_{11}}{\partial x_1} + \frac{\partial T_{21}}{\partial x_2} + \frac{\partial T_{31}}{\partial x_3}\\ | ||
+ | \frac{\partial T_{12}}{\partial x_1} + \frac{\partial T_{22}}{\partial x_2} + \frac{\partial T_{33}}{\partial x_3}\\ | ||
+ | \frac{\partial T_{13}}{\partial x_1} + \frac{\partial T_{32}}{\partial x_2} + \frac{\partial T_{33}}{\partial x_3} | ||
+ | \end{matrix} | ||
+ | \right) | ||
+ | </math> | ||
+ | |||
+ | |||
+ | == Section 2.4: Equation discretisation == | ||
+ | |||
+ | |||
+ | === Subsection 2.4.6: Gradient === | ||
+ | |||
+ | {{versionInfo}}{{Version1.6}}{{Version1.7}}{{Version2.0}}{{Version2.1}}{{Version2.2}} | ||
+ | |||
+ | * All references to '''timeScheme''' should be either ''gradSchemes'' or ''snGradSchemes'' [http://www.cfd-online.com/Forums/openfoam-bugs/82225-programmers-guide-p-40-a.html]. | ||
+ | * The indication of '''[Check**]''' implies that this subsection needs to be revised. | ||
+ | |||
+ | |||
+ | === Subsection 2.6.1: Physical boundary conditions === | ||
+ | |||
+ | {{versionInfo}}{{Version1.6}}{{Version1.7}}{{Version2.0}}{{Version2.1}}{{Version2.2}} | ||
+ | |||
+ | * The indication of '''[Check**]''' implies that this subsection needs to be revised. | ||
+ | |||
+ | |||
+ | |||
+ | = Chapter 3: Examples of the use of OpenFOAM = | ||
+ | |||
+ | |||
+ | = Chapter 4: Programming techniques = | ||
+ | |||
+ | |||
+ | <br> | ||
+ | = Known forum threads on this topic = | ||
+ | This is a unordered list of links to threads about typos and errors in the ''Programmer's Guide'' that have been found by the community: | ||
+ | |||
+ | * [http://www.cfd-online.com/Forums/openfoam-bugs/104867-bug-programmers-guide-divergence-tensor-field.html Bug in the programmer's guide: divergence of a tensor field] | ||
+ | ** Documented in [[#Subsection 2.1.2: Divergence|Subsection 2.1.2: Divergence]], but keep in mind that this has already been fixed. | ||
+ | * [http://www.cfd-online.com/Forums/openfoam-bugs/82225-programmers-guide-p-40-a.html In Programmer's Guide p. 40] | ||
+ | ** The issues in post #1 are at [[#Subsection 2.4.6: Gradient|Subsection 2.4.6: Gradient]] and [[#Subsection 2.6.1: Physical boundary conditions|Subsection 2.6.1: Physical boundary conditions]] | ||
+ | * [http://www.cfd-online.com/Forums/openfoam-bugs/73361-programmers-guide-bugs.html Programmers Guide Bugs] | ||
+ | ** The issues indicated in post #1 are already here in the wiki in the subsection [[#Subsection 1.4.1 Algebraic tensor operations in OpenFOAM|Subsection 1.4.1 Algebraic tensor operations in OpenFOAM]]. | ||
+ | * [http://www.cfd-online.com/Forums/openfoam-bugs/62533-error-documentation.html Error in documentation] | ||
+ | ** Only affects {{version1.4.1}} | ||
+ | |||
+ | [[Category:OpenFOAM guide]] |
Latest revision as of 13:38, 20 August 2016
Community created Errata for the OpenFOAM Programmer's Guide:
- Online version: OpenFOAM Programmer's Guide at SF.net
- The local version in your installation can be found by running one of the respective commands:
- On OpenFOAM 3.0 and older, as well as foam-extend and all OpenFOAM+ versions:
echo $WM_PROJECT_DIR/doc/Guides-a4/ProgrammersGuide.pdf
- As of OpenFOAM 4, there is no Programmer's Guide. This is now maintained by the OpenFOAM+ project.
- On OpenFOAM 3.0 and older, as well as foam-extend and all OpenFOAM+ versions:
Notes to contributors: Please include the chapter number of the printed version to avoid confusion (the Wiki might give different chapter numbers)
Contents
1 Chapter 1: Tensor mathematics
1.1 Section 1.2: Tensors
As reported in the bug report #1068, there are a couple of references to OpenFOAM 1.x, which is likely an old reference to the original FOAM 2.x version. Feel free to compare to the old documentation at Nabla: the old Programmer's Guide, section 1.2 Tensors.
Either way, feel free to disregard the 1.x reference, since its objective is reflect that tensors as a mathematical entity, are only partially implemented in OpenFOAM.
1.2 Section 1.4: OpenFOAM tensor classes
1.2.1 Subsection 1.4.1: Algebraic tensor operations in OpenFOAM
In Table 1.2: Algebraic tensor operations in OpenFOAM, the following entries need fixing:
Operation | Description in OpenFOAM (wrong) |
Description in OpenFOAM (correct) |
---|---|---|
Component maximum | max(a) | cmptMax(a) |
Component minimum | min(a) | cmptMin(a) |
Scale | scale(a,b) | cmptMultiply(a,b) |
2 Chapter 2: Discretisation procedures
2.1 Section 2.1: Differential operators
2.1.1 Subsection 2.1.2: Divergence
The documented divergence operator for tensors is incorrect:
It should be:
2.2 Section 2.4: Equation discretisation
2.2.1 Subsection 2.4.6: Gradient
- All references to timeScheme should be either gradSchemes or snGradSchemes [1].
- The indication of [Check**] implies that this subsection needs to be revised.
2.2.2 Subsection 2.6.1: Physical boundary conditions
- The indication of [Check**] implies that this subsection needs to be revised.
3 Chapter 3: Examples of the use of OpenFOAM
4 Chapter 4: Programming techniques
5 Known forum threads on this topic
This is a unordered list of links to threads about typos and errors in the Programmer's Guide that have been found by the community:
- Bug in the programmer's guide: divergence of a tensor field
- Documented in Subsection 2.1.2: Divergence, but keep in mind that this has already been fixed.
- In Programmer's Guide p. 40
- The issues in post #1 are at Subsection 2.4.6: Gradient and Subsection 2.6.1: Physical boundary conditions
- Programmers Guide Bugs
- The issues indicated in post #1 are already here in the wiki in the subsection Subsection 1.4.1 Algebraic tensor operations in OpenFOAM.
- Error in documentation