Main UserGuideAddendum

From OpenFOAMWiki
Revision as of 06:39, 2 October 2012 by Dahicke (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Annotations concerning the OpenFOAM User Guide

Notes to contributors: Please include the chapter number of the printed version to avoid confusion (the Wiki might give different chapter numbers)

1 Chapter 1: Introduction

2 Chapter 2: Tutorials

3 Chapter 3: Applications and libraries

4 Chapter 4: OpenFOAM cases

4.1 Chapter 4.2: Basic input/output file format

4.2 Chapter 4.4: Numerical schemes

Contrary to what is stated in table 4.11 (Discretisation schemes available in ddtSchemes) CRNK is not bounded, see also P-42

4.3 Chapter 4.5: Solution and algorithm control


There's usually nothing to worry about until the max non-orthogonality angle is approx 70 deg.

Non-orthogonal correctors are here to save you if your code is blowing up because the mesh is so non-orthogonal that the first solution is driving the velocity to be stupid. If your velocity is OK, you just keep doing "normal" correctors, without special need for non-orthogonal ones.

I use them on bad meshes, when the solver is giving me trouble. Usually, 1 is enough, and I never used more than 3.

5 Chapter 5: Mesh generation and conversion

Section 5.2.2 Base types The cyclic boundary condition can be specified to be rotational or translational explicitly by editing the boundary file. By adding the following lines (instead of the standard featureCos 0.9;) for translational:

       transform        translational;
       separationVector (Tx Ty Tz);

Where the separationVector is the vector between the two parts of the patch. If rotational patch is preferred, it can be specified by:

       transform       rotational;
       rotationAxis    (rAx rAy rAz);
       rotationCentre  (rCx rCy rCz);

Where the rotational axis and the rotational centre can be specified by the two vectors above. To see how the cyclic patch is coupled, use the debug flag in OpenFOAM-1.x/etc/controlDict. This gives you obj files of the patches and lines connecting each face. These can be visualized in paraview by conversion using objToVTK.

5.1 Section 5.3: Mesh generation with the blockMesh utility

5.1.1 The blocks

Valid versions: OF version 13.png: Starting with OpenFOAM 1.3 blocks can be now assigned to cellZones (The syntax is similar to the now obsolete blockMeshWithSets-utility).

5.2 Section 5.4: Mesh conversion

5.2.1 5.4.2: starToFoam

In section there is a reference to the foamCorrectVrt-utility which can not be found in any of the 1.0.2, 1.1 and 1.2 distributions. Looking at the source I would say that this problem is already fixed by the current versions of starToFoam (but I can't test this theory because I have no StarCD).

6 Chapter 6: Post-processing

6.1 Dynamic Mesh

6.1.1 Six Degree Rigid Body Motion

Values for type: sixDoFRigidBodyDisplacement

File: pointDisplacement
Field name Description Dimension
mass mass of the rigid body (scalar) {kg}
momentOfInertia Moment of intertia of the rigid body mass (diagTensor) {kg*m^2}
initialCentreOfMass Initial center of the rigid body mass (point) {m}
initialOrientation Initial orientation cosine matrix (tensor) {m}
accelerationDampingCoeff (scalar) {coeff}
accelerationLimit (scalar) \frac{m}{s^2}
centreOfMass Center of the rigid body mass (point) {m}
orientation Orientation cosine matrix (tensor) {cosines}
velocity Rigid body velocity \frac{m}{s}
acceleration Rigid body acceleration \frac{m}{s^2}
angularMomentum Rigid body moment {kg}\frac{rad}{s}
torque Rigid body torque {kg}\frac{m^2}{s^2}
report Enable print out (default is false) {bool} Constraints 6 DOF Rigid Body Motion Constraint "sixDoFRigidBodyMotionConstraint"
File: pointDisplacement
Field name Description Dimension
tolerance (scalar) {unit}
relaxationFactor (scalar) {unit}
maxIterations (label (int)) {unit} Fixed Axis "fixedAxis"

sixDoFRigidBodyMotionConstraint. Body may only rotate around an axis fixed in global space. (fixedAxis.H)

File: pointDisplacement
Field name Description Dimension
axis (vector) {unit} Fixed Line "fixedLine"
sixDoFRigidBodyMotionConstraint.  Reference point may only move along a line. (fixedLine.H)
File: pointDisplacement
Field name Description Dimension
refPoint (point) {m}
direction (vector) {unit} Fixed Line "fixedOrientation"
sixDoFRigidBodyMotionConstraint.  Orientation of body fixed global space. Only valid where the predicted deviation from alignment is < 90 degrees. Fixed Line "fixedPlane"

sixDoFRigidBodyMotionConstraint. Reference point may only move along a plane. Fixed Line "fixedPoint"

sixDoFRigidBodyMotionConstraint. Point fixed in space. Fixed Line "linearAxialAngularSpring"

sixDoFRigidBodyMotionRestraints model. Linear axial angular spring. Fixed Line "linearSpring"

sixDoFRigidBodyMotionRestraints model. Linear spring. Fixed Line "sphericalAngularSpring"

sixDoFRigidBodyMotionRestraints model. Spherical angular spring. Fixed Line "tabulatedAxialAngularSpring"

sixDoFRigidBodyMotionRestraints model. Axial angular spring with moment values drawn from an interpolation table. Linear damping.

7 Chapter 7: Models and physical properties

8 Appendix A: The FoamX case manager

FoamX is obsolete as of version 1.5.

Getting FoamX compiled (and running) with the correct java version and CORBA interface was reportedly getting more and more difficult ... and end-users always seemed to encounter numerous problems getting it working with their particular java and network environment.

Besides which, using FoamX to edit dictionaries is comparable to performing keyhole surgery.

By dropping FoamX (and avoiding the additional work of creating a java-compatible interface for each feature), the developers could introduce very interesting and useful dictionary functionality fairly quickly:

  • improved #include directive
  • new #inputMode directive
  • new $entry sub-dictionary expansions (try them - they are really cool)
  • new regular expression matching for dictionary entries (in an upcoming version)

9 Appendix B: Reference information