Table of Contents

OpenFOAM

Installing OpenFoam

1) Edit your ~/.bashrc file and add the line: export XAUTHORITY=$HOME/.Xauthority

2) Start with “Step 5: Launching openfoam11-linux” at the following link https://openfoam.org/download/11-linux/ However, when you get to the last line that launches “openfoam11-linux” , you instead need to launch it like this: openfoam11-linux -p 510 -xhost ←-This will ensure that graphical programs get passed through and show up correctly when xforwarding. You may not need the extra flags if you are using a VNC session.

 mkdir -p $HOME/OpenFOAM/${USER}-11
 cd $HOME/OpenFOAM/${USER}-11
 openfoam11-linux -p 510 -xhost

3) Once in the container, return to https://openfoam.org/download/11-linux/, and go to Step 6: Testing openfoam11-linux. This should ensure that everything is set correctly and afterward you should be ready to work with the program.

  mkdir -p $FOAM_RUN
  cd $FOAM_RUN
  cp -r $FOAM_TUTORIALS/incompressibleFluid/pitzDailySteady .
  cd pitzDailySteady
  blockMesh
  foamRun
  paraFoam

Older Versions

Note: every different version will need to be installed by a system admin.

Procedure

1) Within the 'run' directory start openFOAM: openfoam11-linux -p 510 -xhost

2) Navigate to the case directory.

3) Run the blockMesh command, to create a simple 3-D cubic domain.

4) Run the snappyHexMesh command, used to conform the volume mesh to the CAD model surface.

Issues

Problem (2024/09/24)

* OpenFOAM NASA_P3_extendedPylon_CDP_OAP_v5.obj object files does not exist so model does execute.

Cause

* .obj file missing from directory 0, in the NASA_extendedPylon_v2_tas120_aoa0_900T33.

Solution

* Locate file and place in correct directory.

Procedure

* After successfully running snappyHexMesh, run checkMesh.

Issues

Problem (2024/09/24)

* Max skewness = 6.02536, 39 highly skew faces detected which may impair the quality of the results

<<Writing 39 skew faces to set skewFaces
  Coupled point location match (average 0) OK.

Failed 1 mesh checks.

Cause

* maxBoundarySkewness set too high in the meshQualityDict.

Solution

* Go to the System directory in the case directory. Open and edit the meshQualityDict to include the lines below “minFaceWeight 0.02; Already in your file, leave as is.” Existing inclusion of defaults #includeEtc “caseDicts/mesh/generation/meshQualityDict” Overriding critical parameters minFaceWeight 0.02; Already in your file, leave as is. maxNonOrtho 65; Slightly above your max value of 64.99. maxBoundarySkewness 4.5; Reduce from default (typically 20). maxInternalSkewness 4.5; Reduce from default. maxAspectRatio 10; Reduce from current 21.34 if necessary. minVol 1e-8; Prevents extremely small cells. minTetQuality 1e-6; Ensures tetrahedral elements are valid.

Procedure

5) After updating the meshQualityDict, run checkMesh command again

Issues

Problem (2024/09/24)

* OpenFOAM NASA_P3_extendedPylon_CDP_OAP_v5.obj object files does not exist so model does execute.

Cause

* .obj file missing from directory 0, in the NASA_extendedPylon_v2_tas120_aoa0_900T33.

Solution

* Locate file and place in correct directory.

Procedure

6) After successfully running snappyHexMesh, run checkMesh.

Issues

Problem (2024/09/24)

* Max skewness = 4.49813, 42 highly skew faces detected which may impair the quality of the results

<<Writing 42 skew faces to set skewFaces
  Coupled point location match (average 0) OK.

Cause

* maxBoundarySkewness still set too high in the meshQualityDict.

Solution

* Go to the System directory in the case directory. Open and edit the meshQualityDict to include the lines below “minFaceWeight 0.02; Already in the file, leave as is.” Existing inclusion of defaults #includeEtc “caseDicts/mesh/generation/meshQualityDict” Overriding critical parameters minFaceWeight 0.05; Already in your file, leave as is. maxNonOrtho 65; Slightly above your max value of 64.99. maxBoundarySkewness 4.0; Reduce from default (typically 20). maxInternalSkewness 4.0; Reduce from default. maxAspectRatio 5; Reduce from current 21.34 if necessary. minVol 1e-8; Prevents extremely small cells. minTetQuality 1e-6; Ensures tetrahedral elements are valid.

Procedure

7) Run checkMesh.

8) Update the 0 directory to match the new mesh size and to set the desired boundary conditions.

9) Use decomposePar to run breakup the simulation into multiple cores.

10) Run the rhoSimpleFoam solver.