# Main UserGuideAddendum

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)

## Contents

- 1 Chapter 1: Introduction
- 2 Chapter 2: Tutorials
- 3 Chapter 3: Applications and libraries
- 4 Chapter 4: OpenFOAM cases
- 5 Chapter 5: Mesh generation and conversion
- 6 Chapter 6: Post-processing
- 6.1 Dynamic Mesh
- 6.1.1 Six Degree Rigid Body Motion
- 6.1.1.1 Constraints
- 6.1.1.1.1 6 DOF Rigid Body Motion Constraint "sixDoFRigidBodyMotionConstraint"
- 6.1.1.1.2 Fixed Axis "fixedAxis"
- 6.1.1.1.3 Fixed Line "fixedLine"
- 6.1.1.1.4 Fixed Line "fixedOrientation"
- 6.1.1.1.5 Fixed Line "fixedPlane"
- 6.1.1.1.6 Fixed Line "fixedPoint"
- 6.1.1.1.7 Fixed Line "linearAxialAngularSpring"
- 6.1.1.1.8 Fixed Line "linearSpring"
- 6.1.1.1.9 Fixed Line "sphericalAngularSpring"
- 6.1.1.1.10 Fixed Line "tabulatedAxialAngularSpring"

- 6.1.1.1 Constraints

- 6.1.1 Six Degree Rigid Body Motion

- 6.1 Dynamic Mesh
- 7 Chapter 7: Models and physical properties
- 8 Appendix A: The FoamX case manager
- 9 Appendix B: Reference information

## 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

From http://www.cfd-online.com/Forums/openfoam/69257-nnonorthogonalcorrectors.html

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 5.3.1.3: The `blocks`

**Valid versions:** : 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 5.4.2.6 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) | |

momentOfInertia | Moment of intertia of the rigid body mass (diagTensor) | |

initialCentreOfMass | Initial center of the rigid body mass (point) | |

initialOrientation | Initial orientation cosine matrix (tensor) | |

accelerationDampingCoeff | (scalar) | |

accelerationLimit | (scalar) | |

centreOfMass | Center of the rigid body mass (point) | |

orientation | Orientation cosine matrix (tensor) | |

velocity | Rigid body velocity | |

acceleration | Rigid body acceleration | |

angularMomentum | Rigid body moment | |

torque | Rigid body torque | |

report | Enable print out (default is false) |

##### 6.1.1.1 Constraints

###### 6.1.1.1.1 6 DOF Rigid Body Motion Constraint "sixDoFRigidBodyMotionConstraint"

File: pointDisplacement | ||

Field name | Description | Dimension |
---|---|---|

tolerance | (scalar) | |

relaxationFactor | (scalar) | |

maxIterations | (label (int)) |

###### 6.1.1.1.2 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) |

###### 6.1.1.1.3 Fixed Line "fixedLine"

sixDoFRigidBodyMotionConstraint. Reference point may only move along a line. (fixedLine.H)

File: pointDisplacement | ||

Field name | Description | Dimension |
---|---|---|

refPoint | (point) | |

direction | (vector) |

###### 6.1.1.1.4 Fixed Line "fixedOrientation"

sixDoFRigidBodyMotionConstraint. Orientation of body fixed global space. Only valid where the predicted deviation from alignment is < 90 degrees.

###### 6.1.1.1.5 Fixed Line "fixedPlane"

sixDoFRigidBodyMotionConstraint. Reference point may only move along a plane.

###### 6.1.1.1.6 Fixed Line "fixedPoint"

sixDoFRigidBodyMotionConstraint. Point fixed in space.

###### 6.1.1.1.7 Fixed Line "linearAxialAngularSpring"

sixDoFRigidBodyMotionRestraints model. Linear axial angular spring.

###### 6.1.1.1.8 Fixed Line "linearSpring"

sixDoFRigidBodyMotionRestraints model. Linear spring.

###### 6.1.1.1.9 Fixed Line "sphericalAngularSpring"

sixDoFRigidBodyMotionRestraints model. Spherical angular spring.

###### 6.1.1.1.10 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)