├── .gitignore ├── LICENSE ├── cases ├── ibm_3Ddunes │ ├── 0.org │ │ ├── U │ │ ├── epsilon │ │ ├── k │ │ ├── nut │ │ └── p │ ├── Allclean │ ├── Allrun │ ├── CleanTimeDir │ ├── case.foam │ ├── constant │ │ ├── boundaryData │ │ │ └── inlet │ │ │ │ ├── 0 │ │ │ │ └── U │ │ │ │ └── points │ │ ├── transportProperties │ │ ├── triSurface │ │ │ └── IB_bed.stl │ │ └── turbulenceProperties │ ├── makeMesh │ ├── samples │ └── system │ │ ├── blockMeshDict │ │ ├── controlDict │ │ ├── decomposeParDict │ │ ├── fvOptions │ │ ├── fvSchemes │ │ ├── fvSolution │ │ ├── ibmDict │ │ ├── mapFieldsDict │ │ ├── refineMeshDict │ │ ├── sampleDict │ │ ├── sampleDict_y_-0.225 │ │ ├── sampleDict_y_-0.45 │ │ ├── sampleDict_y_0 │ │ ├── sampleDict_y_0.225 │ │ ├── sampleDict_y_0.45 │ │ ├── topoSetDict │ │ └── topoSetDict3 ├── ibm_aligned │ ├── .gitignore │ ├── 0_org │ │ ├── U │ │ ├── epsilon │ │ ├── include │ │ │ └── constantValues │ │ ├── k │ │ ├── nut │ │ └── p │ ├── Allclean │ ├── Allrun │ ├── CleanTimeDir │ ├── case.foam │ ├── constant │ │ ├── RASProperties │ │ ├── transportProperties │ │ ├── triSurface │ │ │ └── wallIB.stl │ │ └── turbulenceProperties │ ├── makeMesh │ ├── save │ │ ├── blockMeshDict │ │ └── boundary │ └── system │ │ ├── blockMeshDict │ │ ├── controlDict │ │ ├── decomposeParDict │ │ ├── fvOptions │ │ ├── fvSchemes │ │ ├── fvSolution │ │ ├── ibmDict │ │ ├── refineMeshDict │ │ ├── sampleDict │ │ ├── topoSetDict │ │ ├── topoSetDict1 │ │ ├── topoSetDict2 │ │ ├── topoSetDict3 │ │ └── topoSetDict4 └── ibm_inclined_45 │ ├── .gitignore │ ├── 0_org │ ├── U │ ├── epsilon │ ├── include │ │ └── constantValues │ ├── k │ ├── nut │ └── p │ ├── Allclean │ ├── Allrun │ ├── CleanTimeDir │ ├── case.foam │ ├── constant │ ├── transportProperties │ ├── triSurface │ │ └── wallIB.stl │ └── turbulenceProperties │ ├── makeMesh │ └── system │ ├── blockMeshDict │ ├── controlDict │ ├── decomposeParDict │ ├── fvOptions │ ├── fvOptions_bak │ ├── fvSchemes │ ├── fvSolution │ ├── ibmDict │ ├── refineMeshDict │ ├── sampleDict │ ├── topoSetDict │ ├── topoSetDict1 │ ├── topoSetDict2 │ ├── topoSetDict3 │ ├── topoSetDict4 │ └── topoSetDict5 ├── immersed_boundary_openfoam ├── Allwclean ├── Allwmake ├── ibLibraries │ ├── Allwclean │ ├── Allwmake │ ├── ibmFvOptions │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ └── sources │ │ │ └── ibMeanVelocityForce │ │ │ ├── ibMeanVelocityForce.C │ │ │ ├── ibMeanVelocityForce.H │ │ │ └── ibMeanVelocityForceIO.C │ ├── immersedBoundary │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── foamInclude │ │ │ ├── dynamicLabelList.H │ │ │ └── foamTime.H │ │ ├── ibTriSurfaceTools │ │ │ ├── ibSurfaceWriters │ │ │ │ ├── dx │ │ │ │ │ ├── dxIbSurfaceWriter.C │ │ │ │ │ ├── dxIbSurfaceWriter.H │ │ │ │ │ └── dxIbSurfaceWriterRunTime.C │ │ │ │ ├── foamFile │ │ │ │ │ ├── foamFileIbSurfaceWriter.C │ │ │ │ │ ├── foamFileIbSurfaceWriter.H │ │ │ │ │ └── foamFileIbSurfaceWriterRunTime.C │ │ │ │ ├── ibSurfaceWriter.C │ │ │ │ ├── ibSurfaceWriter.H │ │ │ │ ├── ibSurfaceWriters.C │ │ │ │ ├── ibSurfaceWriters.H │ │ │ │ ├── null │ │ │ │ │ ├── nullIbSurfaceWriter.C │ │ │ │ │ ├── nullIbSurfaceWriter.H │ │ │ │ │ └── nullIbSurfaceWriterRunTime.C │ │ │ │ ├── proxy │ │ │ │ │ ├── proxyIbSurfaceWriter.C │ │ │ │ │ ├── proxyIbSurfaceWriter.H │ │ │ │ │ └── proxyIbSurfaceWriterRunTime.C │ │ │ │ ├── raw │ │ │ │ │ ├── rawIbSurfaceWriter.C │ │ │ │ │ ├── rawIbSurfaceWriter.H │ │ │ │ │ └── rawIbSurfaceWriterRunTime.C │ │ │ │ └── vtk │ │ │ │ │ ├── vtkIbSurfaceWriter.C │ │ │ │ │ ├── vtkIbSurfaceWriter.H │ │ │ │ │ └── vtkIbSurfaceWriterRunTime.C │ │ │ ├── ibTriAddressing.C │ │ │ ├── ibTriSurfaceTools.C │ │ │ └── ibTriSurfaceTools.H │ │ ├── ibmRBFInterpolation │ │ │ ├── LUinvert.C │ │ │ ├── LUinvert.H │ │ │ ├── RBFFunctions │ │ │ │ ├── Gauss │ │ │ │ │ ├── Gauss.C │ │ │ │ │ └── Gauss.H │ │ │ │ ├── IMQB │ │ │ │ │ ├── IMQB.C │ │ │ │ │ └── IMQB.H │ │ │ │ ├── RBFFunction │ │ │ │ │ ├── RBFFunction.C │ │ │ │ │ ├── RBFFunction.H │ │ │ │ │ └── newRBFFunction.C │ │ │ │ ├── TPS │ │ │ │ │ ├── TPS.C │ │ │ │ │ └── TPS.H │ │ │ │ └── W2 │ │ │ │ │ ├── W2.C │ │ │ │ │ └── W2.H │ │ │ ├── ibmRBFInterpolation.C │ │ │ ├── ibmRBFInterpolation.H │ │ │ ├── ibmRBFInterpolationTemplates.C │ │ │ └── readme │ │ ├── immersedBoundaryAdjustPhi │ │ │ ├── immersedBoundaryAdjustPhi.C │ │ │ └── immersedBoundaryAdjustPhi.H │ │ ├── immersedBoundaryFixedFluxPressure │ │ │ ├── immersedBoundaryFixedFluxPressure.C │ │ │ └── immersedBoundaryFixedFluxPressure.H │ │ ├── immersedBoundaryFixedValue │ │ │ ├── immersedBoundaryFixedValueFvPatchField.C │ │ │ ├── immersedBoundaryFixedValueFvPatchField.H │ │ │ ├── immersedBoundaryFixedValueFvPatchFields.C │ │ │ ├── immersedBoundaryFixedValueFvPatchFields.H │ │ │ └── immersedBoundaryFixedValueFvPatchFieldsFwd.H │ │ ├── immersedBoundaryFvPatch │ │ │ ├── immersedBoundaryAddAdjacentCells.C │ │ │ ├── immersedBoundaryFvPatch.C │ │ │ ├── immersedBoundaryFvPatch.H │ │ │ ├── immersedBoundaryFvPatchLeastSquaresFit.C │ │ │ ├── immersedBoundaryFvPatchMorphDynamics.C │ │ │ ├── immersedBoundaryFvPatchNewSamplingWeights.C │ │ │ ├── immersedBoundaryFvPatchSamplingWeights.C │ │ │ ├── immersedBoundaryFvPatchTemplates.C │ │ │ └── immersedBoundaryFvPatchTriAddressing.C │ │ ├── immersedBoundaryFvPatchField │ │ │ ├── immersedBoundaryFvPatchField.C │ │ │ ├── immersedBoundaryFvPatchField.H │ │ │ ├── immersedBoundaryFvPatchFields.C │ │ │ ├── immersedBoundaryFvPatchFields.H │ │ │ └── immersedBoundaryFvPatchFieldsFwd.H │ │ ├── immersedBoundaryFvsPatchField │ │ │ ├── immersedBoundaryFvsPatchField.C │ │ │ ├── immersedBoundaryFvsPatchField.H │ │ │ ├── immersedBoundaryFvsPatchFields.C │ │ │ ├── immersedBoundaryFvsPatchFields.H │ │ │ └── immersedBoundaryFvsPatchFieldsFwd.H │ │ ├── immersedBoundaryMappedFixedValue │ │ │ ├── immersedBoundaryMappedFixedValueFvPatchField.C │ │ │ ├── immersedBoundaryMappedFixedValueFvPatchField.H │ │ │ ├── immersedBoundaryMappedFixedValueFvPatchFields.C │ │ │ ├── immersedBoundaryMappedFixedValueFvPatchFields.H │ │ │ └── immersedBoundaryMappedFixedValueFvPatchFieldsFwd.H │ │ ├── immersedBoundaryPointPatch │ │ │ ├── immersedBoundaryPointPatch.C │ │ │ └── immersedBoundaryPointPatch.H │ │ ├── immersedBoundaryPolyPatch │ │ │ ├── immersedBoundaryPolyPatch.C │ │ │ ├── immersedBoundaryPolyPatch.H │ │ │ ├── markCells.H │ │ │ └── markFaces.H │ │ ├── include │ │ │ ├── createIbMasks.H │ │ │ ├── immersedBoundaryContinuityErrs.H │ │ │ ├── immersedBoundaryCourantNo.H │ │ │ └── vectorTools.H │ │ └── refineImmersedBoundaryMesh │ │ │ ├── refineImmersedBoundaryMesh.C │ │ │ └── refineImmersedBoundaryMesh.H │ ├── immersedBoundaryDynamicMesh │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── immersedBoundarySolidBodyMotionFvMesh │ │ │ ├── immersedBoundarySolidBodyMotionFvMesh.C │ │ │ └── immersedBoundarySolidBodyMotionFvMesh.H │ │ └── movingImmersedBoundary │ │ │ ├── movingImmersedBoundary.C │ │ │ └── movingImmersedBoundary.H │ ├── immersedBoundaryForce │ │ ├── IOimmersedBoundaryForces.H │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── immersedBoundaryForces.C │ │ ├── immersedBoundaryForces.H │ │ ├── immersedBoundaryForcesFunctionObject.C │ │ ├── immersedBoundaryForcesFunctionObject.H │ │ ├── itoa.C │ │ └── itoa.H │ ├── immersedBoundarySurfaceToCell │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── baks │ │ │ ├── immersedBoundarySurfaceToCell.C │ │ │ └── immersedBoundarySurfaceToCell.H │ │ ├── immersedBoundarySurfaceToCell.C │ │ └── immersedBoundarySurfaceToCell.H │ ├── immersedBoundaryTurbulence │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── ibmRAS │ │ │ ├── ibmKEpsilon │ │ │ │ ├── ibmKEpsilon.C │ │ │ │ └── ibmKEpsilon.H │ │ │ ├── ibmKOmegaSST │ │ │ │ ├── ibmKOmegaSST.C │ │ │ │ └── ibmKOmegaSST.H │ │ │ └── makeTurModel.C │ │ └── wallFunctions │ │ │ ├── immersedBoundaryCWallFunctions │ │ │ ├── immersedBoundaryCWallFunctionFvPatchScalarField.C │ │ │ └── immersedBoundaryCWallFunctionFvPatchScalarField.H │ │ │ ├── immersedBoundaryEpsilonRoughWallFunctions │ │ │ ├── immersedBoundaryEpsilonRoughWallFunctionFvPatchScalarField.C │ │ │ └── immersedBoundaryEpsilonRoughWallFunctionFvPatchScalarField.H │ │ │ ├── immersedBoundaryEpsilonWallFunctions │ │ │ ├── immersedBoundaryEpsilonWallFunctionFvPatchScalarField.C │ │ │ └── immersedBoundaryEpsilonWallFunctionFvPatchScalarField.H │ │ │ ├── immersedBoundaryKqRWallFunctions │ │ │ ├── immersedBoundaryKLowReWallFunction │ │ │ │ ├── immersedBoundaryKLowReWallFunctionFvPatchScalarField.C │ │ │ │ └── immersedBoundaryKLowReWallFunctionFvPatchScalarField.H │ │ │ └── immersedBoundaryKqRWallFunction │ │ │ │ ├── immersedBoundaryKqRWallFunctionFvPatchField.C │ │ │ │ ├── immersedBoundaryKqRWallFunctionFvPatchField.H │ │ │ │ ├── immersedBoundaryKqRWallFunctionFvPatchFields.C │ │ │ │ └── immersedBoundaryKqRWallFunctionFvPatchFields.H │ │ │ ├── immersedBoundaryNutWallFunctions │ │ │ ├── immersedBoundaryNutUSpaldingWallFunction │ │ │ │ ├── immersedBoundaryNutUSpaldingWallFunctionFvPatchScalarField.C │ │ │ │ └── immersedBoundaryNutUSpaldingWallFunctionFvPatchScalarField.H │ │ │ ├── immersedBoundaryNutUWallFunction │ │ │ │ ├── immersedBoundaryNutUWallFunctionFvPatchScalarField.C │ │ │ │ └── immersedBoundaryNutUWallFunctionFvPatchScalarField.H │ │ │ ├── immersedBoundaryNutkRoughWallFunction │ │ │ │ ├── immersedBoundaryNutkRoughWallFunctionFvPatchScalarField.C │ │ │ │ └── immersedBoundaryNutkRoughWallFunctionFvPatchScalarField.H │ │ │ └── immersedBoundaryNutkWallFunction │ │ │ │ ├── immersedBoundaryNutkWallFunctionFvPatchScalarField.C │ │ │ │ └── immersedBoundaryNutkWallFunctionFvPatchScalarField.H │ │ │ ├── immersedBoundaryOmegaWallFunctions │ │ │ ├── immersedBoundaryOmegaWallFunctionFvPatchScalarField.C │ │ │ └── immersedBoundaryOmegaWallFunctionFvPatchScalarField.H │ │ │ ├── immersedBoundaryVelocityWallFunctions │ │ │ ├── immersedBoundaryVelocityWallFunctionFvPatchVectorField.C │ │ │ └── immersedBoundaryVelocityWallFunctionFvPatchVectorField.H │ │ │ └── immersedBoundaryWallFunctions │ │ │ ├── immersedBoundaryWallFunctionFvPatchField.C │ │ │ ├── immersedBoundaryWallFunctionFvPatchField.H │ │ │ ├── immersedBoundaryWallFunctionFvPatchFields.C │ │ │ └── immersedBoundaryWallFunctionFvPatchFields.H │ └── triSurfaceFieldTools │ │ ├── Make │ │ ├── files │ │ └── options │ │ ├── readme │ │ └── triSurfaceFieldToTecplot │ │ ├── triSurfaceFieldToTecplot.C │ │ └── triSurfaceFieldToTecplot.H ├── ibMiscTests │ ├── move_triSurface │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── createFields.H │ │ ├── move_triSurface.C │ │ └── triSurfaceFieldToTecplot.H │ └── triSurface_Inout │ │ ├── Make │ │ ├── files │ │ └── options │ │ └── triSurface_Inout.C ├── ibSolvers │ ├── Allwclean │ ├── Allwmake │ ├── ibPimpleFoam │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── UEqn.H │ │ ├── createFields.H │ │ ├── ibPatchClearOut.H │ │ ├── ibPimpleFoam.C │ │ ├── manipulateP.H │ │ ├── manipulateU.H │ │ ├── pEqn.H │ │ ├── pre.H │ │ ├── test.H │ │ └── yPlusCorrection.H │ ├── ibPisoFoam │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── UEqn.H │ │ ├── createFields.H │ │ ├── ibPisoFoam.C │ │ └── pEqn.H │ └── ibSimpleFoam │ │ ├── Make │ │ ├── files │ │ └── options │ │ ├── UEqn.H │ │ ├── createFields.H │ │ ├── ibPatchClearOut.H │ │ ├── ibSimpleFoam.C │ │ ├── manipulateP.H │ │ ├── manipulateU.H │ │ ├── output.H │ │ ├── pEqn.H │ │ └── yPlusCorrection.H ├── ibUtilities │ ├── calcOutsideU │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ └── calcOutsideU.C │ ├── modifyPatches │ │ ├── Make │ │ │ ├── files │ │ │ └── options │ │ ├── modifyPatches.C │ │ └── modifyPatches.org │ └── refineImmersedBoundaryMesh │ │ ├── Make │ │ ├── files │ │ └── options │ │ └── refineImmersedBoundaryMesh.C └── readme └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | # git-ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | 4 | # Editor and misc backup files - anywhere 5 | *~ 6 | .*~ 7 | *.bak 8 | *.bak[0-9][0-9] 9 | \#*\# 10 | 11 | # File-browser settings - anywhere 12 | .directory 13 | 14 | # CVS recovered versions - anywhere 15 | .#* 16 | 17 | # Objects and archives - anywhere 18 | *.[oa] 19 | *.la 20 | *.so 21 | 22 | # Derived files 23 | lex.yy.c 24 | 25 | # Corefiles 26 | core 27 | 28 | # Dependency files - anywhere 29 | *.dep 30 | 31 | # lnInclude (symlink) directories - anywhere 32 | lnInclude 33 | 34 | # Build directories - anywhere 35 | linux*Clang*/ 36 | linux*Gcc*/ 37 | linux*Icc*/ 38 | solaris*Gcc*/ 39 | SunOS*Gcc*/ 40 | platforms/ 41 | 42 | # Reinstate wmake/rules that might look like build directories 43 | !wmake/rules/*/ 44 | 45 | # doxygen generated documentation 46 | doc/Doxygen/html 47 | doc/Doxygen/latex 48 | doc/Doxygen/man 49 | doc/Doxygen/DTAGS 50 | 51 | # Generated files in the main directory (e.g. ReleaseNotes-?.?.html) 52 | # and in the doc directory 53 | /*.html 54 | /doc/*.html 55 | 56 | # Untracked configuration files 57 | /etc/prefs.csh 58 | /etc/prefs.sh 59 | /etc/config.csh/prefs.csh 60 | /etc/config.sh/prefs.sh 61 | 62 | # Source packages - anywhere 63 | *.tar.bz2 64 | *.tar.gz 65 | *.tar 66 | *.tgz 67 | *.gtgz 68 | 69 | # Ignore the persistent .build tag in the main directory 70 | /.build 71 | 72 | # Ignore .timeStamp in the main directory 73 | /.timeStamp 74 | 75 | # Ignore .tags in the main directory 76 | /.tags 77 | 78 | # Ignore project files in the main directory 79 | /.cproject 80 | /.project 81 | /.dir-locals.el 82 | 83 | # Ignore the test directory 84 | /tutorialsTest 85 | 86 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/0.org/U: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 2.2.2 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volVectorField; 13 | object U; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | 18 | dimensions [0 1 -1 0 0 0 0]; 19 | 20 | internalField uniform (0.261 0 0); 21 | 22 | boundaryField 23 | { 24 | inlet 25 | { 26 | type cyclic; 27 | } 28 | outlet 29 | { 30 | type cyclic; 31 | } 32 | sideWall1 33 | { 34 | type symmetryPlane; 35 | } 36 | sideWall2 37 | { 38 | type symmetryPlane; 39 | } 40 | 41 | top 42 | { 43 | type symmetryPlane; 44 | } 45 | 46 | bottom 47 | { 48 | type fixedValue; 49 | value uniform (0 0 0); 50 | } 51 | IB_bed 52 | { 53 | type immersedBoundaryVelocityWallFunction; 54 | patchType immersedBoundary; 55 | 56 | refValue uniform (0 0 0); 57 | refGradient uniform (0 0 0); 58 | fixesValue yes; 59 | 60 | setDeadCellValue yes; 61 | deadCellValue (0 0 0); 62 | 63 | value uniform (0 0 0); 64 | } 65 | } 66 | 67 | 68 | // ************************************************************************* // 69 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/0.org/epsilon: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 2.3.0 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object epsilon; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | dimensions [0 2 -3 0 0 0 0]; 19 | 20 | internalField uniform 8.165793991965504e-7; 21 | 22 | boundaryField 23 | { 24 | inlet 25 | { 26 | type cyclic; 27 | } 28 | outlet 29 | { 30 | type cyclic; 31 | } 32 | sideWall1 33 | { 34 | type symmetryPlane; 35 | } 36 | sideWall2 37 | { 38 | type symmetryPlane; 39 | } 40 | top 41 | { 42 | type symmetryPlane; 43 | } 44 | 45 | bottom 46 | { 47 | type epsilonWallFunction; 48 | value $internalField; 49 | } 50 | IB_bed 51 | { 52 | // type epsilonWallFunction; 53 | // value $internalField; 54 | type immersedBoundaryEpsilonWallFunction; 55 | patchType immersedBoundary; 56 | refValue uniform 1e-10; 57 | refGradient uniform 0; 58 | fixesValue false; 59 | setDeadCellValue true; 60 | deadCellValue 1e-10; 61 | Cmu 0.09; 62 | kappa 0.41; 63 | E 9.8; 64 | 65 | value $internalField; 66 | } 67 | 68 | 69 | 70 | } 71 | 72 | // ************************************************************************* // 73 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/0.org/k: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.6.x | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object k; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | dimensions [0 2 -2 0 0 0 0]; 19 | 20 | internalField uniform 0.000255; 21 | 22 | boundaryField 23 | { 24 | inlet 25 | { 26 | type cyclic; 27 | } 28 | outlet 29 | { 30 | type cyclic; 31 | } 32 | sideWall1 33 | { 34 | type symmetryPlane; 35 | } 36 | sideWall2 37 | { 38 | type symmetryPlane; 39 | } 40 | 41 | top 42 | { 43 | type symmetryPlane; 44 | } 45 | 46 | bottom 47 | { 48 | type kqRWallFunction; 49 | value $internalField; 50 | } 51 | IB_bed 52 | { 53 | // type kqRWallFunction; 54 | // value $internalField; 55 | type immersedBoundaryWallFunction; 56 | patchType immersedBoundary; 57 | refValue uniform 1e-10; 58 | refGradient uniform 0; 59 | fixesValue false; 60 | setDeadCellValue yes; 61 | deadCellValue 1e-10; 62 | 63 | value $internalField; 64 | } 65 | } 66 | // ************************************************************************* // 67 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/0.org/nut: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.6 | 5 | | \\ / A nd | Web: http://www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | object nut; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | dimensions [0 2 -1 0 0 0 0]; 18 | 19 | internalField uniform 0; 20 | 21 | boundaryField 22 | { 23 | inlet 24 | { 25 | type cyclic; 26 | } 27 | outlet 28 | { 29 | type cyclic; 30 | } 31 | sideWall1 32 | { 33 | type symmetryPlane; 34 | } 35 | sideWall2 36 | { 37 | type symmetryPlane; 38 | } 39 | top 40 | { 41 | type symmetryPlane; 42 | } 43 | bottom 44 | { 45 | //type nutkWallFunction; 46 | type nutUSpaldingWallFunction; 47 | value uniform 0; 48 | } 49 | IB_bed 50 | { 51 | //type nutUSpaldingWallFunction; 52 | value uniform 0; 53 | type immersedBoundaryWallFunction; 54 | patchType immersedBoundary; 55 | refValue uniform 0; 56 | refGradient uniform 0; 57 | fixesValue false; 58 | setDeadCellValue false; 59 | deadCellValue 0; 60 | value uniform 0; 61 | } 62 | 63 | } 64 | 65 | // ************************************************************************* // 66 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/0.org/p: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 2.2.2 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | object p; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | 18 | dimensions [0 2 -2 0 0 0 0]; 19 | 20 | internalField uniform 0; 21 | 22 | boundaryField 23 | { 24 | inlet 25 | { 26 | type cyclic; 27 | } 28 | outlet 29 | { 30 | type cyclic; 31 | } 32 | sideWall1 33 | { 34 | type symmetryPlane; 35 | } 36 | sideWall2 37 | { 38 | type symmetryPlane; 39 | } 40 | top 41 | { 42 | type symmetryPlane; 43 | } 44 | bottom 45 | { 46 | type zeroGradient; 47 | } 48 | IB_bed 49 | { 50 | // type zeroGradient; 51 | type immersedBoundary; 52 | refValue uniform 0; 53 | refGradient uniform 0; 54 | fixesValue no; 55 | 56 | setDeadCellValue yes; 57 | deadCellValue 0; 58 | 59 | value uniform 0; 60 | } 61 | } 62 | 63 | 64 | // ************************************************************************* // 65 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/Allclean: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Source tutorial clean functions 4 | . $WM_PROJECT_DIR/bin/tools/CleanFunctions 5 | 6 | cleanCase 7 | 8 | \rm -rf 0 9 | \rm -f constant/polyMesh/boundary 10 | 11 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/Allrun: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Source tutorial run functions 3 | . $WM_PROJECT_DIR/bin/tools/RunFunctions 4 | 5 | # Get application name 6 | application="ibSimpleFoam" 7 | 8 | ./makeMesh 9 | 10 | #runApplication potentialIbFoam 11 | runApplication $application & 12 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/CleanTimeDir: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd ${0%/*} || exit 1 # Run from this directory 3 | 4 | # Source tutorial clean functions 5 | . $WM_PROJECT_DIR/bin/tools/CleanFunctions 6 | 7 | cleanTimeDirectories 8 | cp constant/triSurface/IB_bed0.stl constant/triSurface/IB_bed.stl 9 | rm pr* po* -r 10 | #------------------------------------------------------------------------------ 11 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/case.foam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/psu-efd/ibwallfunction_OpenFOAM/4c266b0113586f2ed379692b0068cea188076d15/cases/ibm_3Ddunes/case.foam -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/constant/transportProperties: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 5 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object transportProperties; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | transportModel Newtonian; 19 | 20 | nu nu [0 2 -1 0 0 0 0] 1e-06; 21 | 22 | // ************************************************************************* // 23 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/constant/triSurface/IB_bed.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/psu-efd/ibwallfunction_OpenFOAM/4c266b0113586f2ed379692b0068cea188076d15/cases/ibm_3Ddunes/constant/triSurface/IB_bed.stl -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/constant/turbulenceProperties: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 5 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object turbulenceProperties; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | simulationType RAS; 19 | 20 | RAS 21 | { 22 | RASModel ibmKEpsilon; 23 | 24 | turbulence on; 25 | 26 | printCoeffs on; 27 | } 28 | 29 | // ************************************************************************* // 30 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/makeMesh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Source tutorial run functions 3 | . $WM_PROJECT_DIR/bin/tools/RunFunctions 4 | ./Allclean 5 | rm 0 -r 6 | cp 0.org 0 -r 7 | 8 | runApplication blockMesh 9 | runApplication topoSet -dict ./system/topoSetDict 10 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 11 | runApplication modifyPatches -null IB_bed 12 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/samples: -------------------------------------------------------------------------------- 1 | sample -dict system/sampleDict_y_-0.225 2 | sample -dict system/sampleDict_y_0.225 3 | sample -dict system/sampleDict_y_0.45 4 | sample -dict system/sampleDict_y_-0.45 5 | sample -dict system/sampleDict_y_0 6 | sample -dict system/sampleDict 7 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/controlDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object controlDict; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | libs 18 | ( 19 | "libfiniteVolume.so" 20 | "libimmersedBoundary.so" 21 | "libimmersedBoundarySurfaceToCell.so" 22 | "libimmersedBoundaryTurbulence.so" 23 | "libimmersedBoundaryFvOptions.so" 24 | ) 25 | 26 | application ibSimpleFoam; 27 | 28 | startFrom startTime; 29 | 30 | startTime 0; 31 | 32 | stopAt endTime; 33 | 34 | endTime 2000; 35 | 36 | deltaT 1; 37 | 38 | writeControl timeStep; 39 | 40 | writeInterval 100; 41 | 42 | purgeWrite 0; 43 | 44 | writeFormat ascii; 45 | 46 | writePrecision 6; 47 | 48 | writeCompression uncompressed; 49 | 50 | timeFormat general; 51 | 52 | timePrecision 6; 53 | 54 | runTimeModifiable yes; 55 | 56 | 57 | 58 | 59 | // ************************************************************************* // 60 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/decomposeParDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object decomposeParDict; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | numberOfSubdomains 4; 18 | 19 | //method scotch; 20 | method simple; 21 | 22 | simpleCoeffs 23 | { 24 | n (2 2 1); 25 | delta 0.001; 26 | } 27 | 28 | hierarchicalCoeffs 29 | { 30 | n (1 1 1); 31 | delta 0.001; 32 | order xyz; 33 | } 34 | 35 | metisCoeffs 36 | { 37 | processorWeights 4(1 1 1 1); 38 | } 39 | 40 | manualCoeffs 41 | { 42 | dataFile "cellDecomposition"; 43 | } 44 | 45 | distributed no; 46 | 47 | roots 48 | ( 49 | ); 50 | 51 | 52 | // ************************************************************************* // 53 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/fvOptions: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 3.0.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object fvOptions; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | momentumSource 18 | { 19 | type ibMeanVelocityForce; 20 | active yes; 21 | 22 | ibMeanVelocityForceCoeffs 23 | { 24 | selectionMode all; 25 | 26 | fieldNames (U); 27 | Ubar (0.261 0 0); 28 | } 29 | } 30 | 31 | 32 | //************************************************************************* // 33 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/fvSchemes: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 2.3.0 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "system"; 14 | object fvSchemes; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | ddtSchemes 19 | { 20 | //default backward; 21 | //default Euler; 22 | default steadyState; 23 | } 24 | 25 | gradSchemes 26 | { 27 | default Gauss linear; 28 | } 29 | 30 | divSchemes 31 | { 32 | default none; 33 | div(phi,U) bounded Gauss vanLeer; 34 | div(phi,k) bounded Gauss upwind; 35 | div(phi,epsilon) bounded Gauss upwind; 36 | 37 | div((nuEff*dev2(T(grad(U))))) Gauss linear; 38 | 39 | } 40 | 41 | laplacianSchemes 42 | { 43 | default none; 44 | laplacian(nuEff,U) Gauss linear corrected; 45 | laplacian((1|A(U)),p) Gauss linear corrected; 46 | 47 | laplacian(DepsilonEff,epsilon) Gauss linear corrected; 48 | laplacian(DkEff,k) Gauss linear corrected; 49 | 50 | laplacian(1,p) Gauss linear corrected; 51 | } 52 | 53 | interpolationSchemes 54 | { 55 | default linear; 56 | interpolate(HbyA) linear; 57 | } 58 | 59 | snGradSchemes 60 | { 61 | default corrected; 62 | } 63 | /* 64 | fluxRequired 65 | { 66 | default no; 67 | p ; 68 | } 69 | */ 70 | wallDist 71 | { 72 | method meshWave; 73 | } 74 | 75 | // ************************************************************************* // 76 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/mapFieldsDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 2.3.0 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object mapFieldsDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | // List of pairs of source/target patches for mapping 19 | patchMap 20 | ( 21 | ); 22 | 23 | // List of target patches cutting the source domain (these need to be 24 | // handled specially e.g. interpolated from internal values) 25 | cuttingPatches 26 | ( 27 | ); 28 | 29 | // ************************************************************************* // 30 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/refineMeshDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object refineMeshDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | // Cells to refine; name of cell set 19 | set c; 20 | 21 | // Type of coordinate system: 22 | // - global : coordinate system same for every cell. Usually aligned with 23 | // x,y,z axis. Specify in globalCoeffs section below. 24 | // - patchLocal : coordinate system different for every cell. Specify in 25 | // patchLocalCoeffs section below. 26 | coordinateSystem global; 27 | //coordinateSystem patchLocal; 28 | 29 | 30 | // .. and its coefficients. x,y in this case. (normal direction is calculated 31 | // as tan1^tan2) 32 | globalCoeffs 33 | { 34 | tan1 (1 0 0); 35 | tan2 (0 1 0); 36 | } 37 | 38 | patchLocalCoeffs 39 | { 40 | patch outside; // Normal direction is facenormal of zero'th face of patch 41 | tan1 (1 0 0); 42 | } 43 | 44 | // List of directions to refine 45 | directions 46 | ( 47 | tan1 48 | tan2 49 | normal 50 | ); 51 | 52 | // Whether to use hex topology. This will 53 | // - if patchLocal: all cells on selected patch should be hex 54 | // - split all hexes in 2x2x2 through the middle of edges. 55 | useHexTopology true; 56 | 57 | // Cut purely geometric (will cut hexes through vertices) or take topology 58 | // into account. Incompatible with useHexTopology 59 | geometricCut false; 60 | 61 | // Write meshes from intermediate steps 62 | writeMesh false; 63 | 64 | // ************************************************************************* // 65 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/topoSetDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | 25 | // Select based on immersed boundary surface 26 | source immersedBoundarySurfaceToCell; 27 | sourceInfo 28 | { 29 | file "./constant/triSurface/IB_bed.stl"; 30 | outsidePoints ((0. 0. 0.3)); // definition of outside 31 | ibmRefineMeshInsideLayers 1; 32 | ibmRefineMeshOutsideLayers 6; 33 | } 34 | } 35 | 36 | ); 37 | 38 | 39 | // ************************************************************************* // 40 | -------------------------------------------------------------------------------- /cases/ibm_3Ddunes/system/topoSetDict3: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name porosity_box; 22 | type cellSet; 23 | action new; 24 | source boxToCell; 25 | sourceInfo 26 | { 27 | box (0 -0.95 -0.0155)(0.45 -0.55 0.149); 28 | } 29 | } 30 | 31 | { 32 | name up_cell; 33 | type cellSet; 34 | action new; 35 | source boxToCell; 36 | sourceInfo 37 | { 38 | box (-1.55 -0.95 0)(-1.45 0.95 0.149); 39 | } 40 | } 41 | { 42 | name down_cell; 43 | type cellSet; 44 | action new; 45 | source boxToCell; 46 | sourceInfo 47 | { 48 | box (1.9 -0.95 0)(2 0.95 0.149); 49 | } 50 | } 51 | 52 | ); 53 | 54 | 55 | // ************************************************************************* // 56 | -------------------------------------------------------------------------------- /cases/ibm_aligned/.gitignore: -------------------------------------------------------------------------------- 1 | # git-ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | 4 | # editor and misc backup files - anywhere 5 | *~ 6 | .*~ 7 | *.bak 8 | *.bak[0-9][0-9] 9 | *.orig 10 | *.orig[0-9][0-9] 11 | \#*\# 12 | 13 | # file-browser settings - anywhere 14 | .directory 15 | 16 | # CVS recovered versions - anywhere 17 | .#* 18 | 19 | # SVN directories - anywhere 20 | 21 | .svn/ 22 | 23 | # OpenFOAM results 24 | 25 | [1-9]*/ 26 | !/0/ 27 | processor* 28 | */polyMesh/* 29 | !*/polyMesh/blockMeshDict 30 | cellToRegion* 31 | log* 32 | 33 | # packages - anywhere 34 | 35 | *.tar.bz2 36 | *.tar.gz 37 | *.tar 38 | *.tgz 39 | *.gtgz 40 | 41 | # Pictures and movies 42 | 43 | *.png 44 | *.jpg 45 | *.jpeg 46 | *.bmp 47 | *.png 48 | *.avi 49 | *.mp4 50 | *.mpg 51 | 52 | #end-of-file 53 | -------------------------------------------------------------------------------- /cases/ibm_aligned/0_org/U: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volVectorField; 13 | object U; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | #include "include/constantValues" 17 | 18 | dimensions [0 1 -1 0 0 0 0]; 19 | 20 | internalField uniform (68.6 0 0); 21 | 22 | boundaryField 23 | { 24 | wallIB 25 | { 26 | type immersedBoundaryVelocityWallFunction; 27 | patchType immersedBoundary; 28 | 29 | refValue uniform (0 0 0); 30 | refGradient uniform (0 0 0); 31 | fixesValue yes; 32 | 33 | setDeadCellValue yes; 34 | deadCellValue (0 0 0); 35 | 36 | value uniform (0 0 0); 37 | } 38 | upper 39 | { 40 | type slip; 41 | } 42 | lower 43 | { 44 | type fixedValue; 45 | value uniform (0 0 0); 46 | } 47 | left 48 | { 49 | type fixedValue; 50 | value uniform (68.6 0 0); 51 | } 52 | right 53 | { 54 | type zeroGradient; 55 | } 56 | front 57 | { 58 | type $type1; 59 | } 60 | back 61 | { 62 | type $type1; 63 | } 64 | 65 | } 66 | 67 | 68 | // ************************************************************************* // 69 | -------------------------------------------------------------------------------- /cases/ibm_aligned/0_org/epsilon: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object epsilon; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | #include "include/constantValues" 18 | 19 | dimensions [0 2 -3 0 0 0 0]; 20 | 21 | internalField uniform 6.67208; 22 | 23 | boundaryField 24 | { 25 | wallIB 26 | { 27 | type immersedBoundaryEpsilonWallFunction; 28 | patchType immersedBoundary; 29 | refValue uniform 1e-10; 30 | refGradient uniform 0; 31 | fixesValue false; 32 | setDeadCellValue true; 33 | deadCellValue 1e-10; 34 | Cmu 0.09; 35 | kappa 0.41; 36 | E 9.8; 37 | 38 | value $internalField; 39 | } 40 | upper 41 | { 42 | type zeroGradient; 43 | } 44 | lower 45 | { 46 | type epsilonWallFunction; 47 | value $internalField; 48 | } 49 | left 50 | { 51 | type fixedValue; 52 | value $internalField; 53 | } 54 | right 55 | { 56 | type zeroGradient; 57 | } 58 | front 59 | { 60 | type $type1; 61 | } 62 | back 63 | { 64 | type $type1; 65 | } 66 | } 67 | 68 | 69 | // ************************************************************************* // 70 | -------------------------------------------------------------------------------- /cases/ibm_aligned/0_org/include/constantValues: -------------------------------------------------------------------------------- 1 | type1 empty; 2 | -------------------------------------------------------------------------------- /cases/ibm_aligned/0_org/k: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object k; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | #include "include/constantValues" 18 | 19 | dimensions [0 2 -2 0 0 0 0]; 20 | 21 | internalField uniform 17.64735; 22 | 23 | boundaryField 24 | { 25 | wallIB 26 | { 27 | type immersedBoundaryWallFunction; 28 | patchType immersedBoundary; 29 | refValue uniform 1e-10; 30 | refGradient uniform 0; 31 | fixesValue false; 32 | setDeadCellValue yes; 33 | deadCellValue 1e-10; 34 | 35 | value $internalField; 36 | } 37 | upper 38 | { 39 | type zeroGradient; 40 | } 41 | lower 42 | { 43 | type kqRWallFunction; 44 | value $internalField; 45 | } 46 | left 47 | { 48 | type fixedValue; 49 | value $internalField; 50 | } 51 | right 52 | { 53 | type zeroGradient; 54 | } 55 | front 56 | { 57 | type $type1; 58 | } 59 | back 60 | { 61 | type $type1; 62 | } 63 | 64 | } 65 | 66 | 67 | // ************************************************************************* // 68 | -------------------------------------------------------------------------------- /cases/ibm_aligned/0_org/nut: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object nut; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | #include "include/constantValues" 18 | 19 | dimensions [0 2 -1 0 0 0 0]; 20 | 21 | internalField uniform 0; 22 | 23 | boundaryField 24 | { 25 | wallIB 26 | { 27 | type immersedBoundaryWallFunction; 28 | patchType immersedBoundary; 29 | refValue uniform 0; 30 | refGradient uniform 0; 31 | fixesValue false; 32 | setDeadCellValue false; 33 | deadCellValue 0; 34 | value uniform 0; 35 | } 36 | upper 37 | { 38 | type calculated; 39 | value uniform 0; 40 | } 41 | lower 42 | { 43 | // type calculated; 44 | // value uniform 0; 45 | type nutkWallFunction; 46 | value uniform 0; 47 | } 48 | left 49 | { 50 | type calculated; 51 | value uniform 0; 52 | } 53 | right 54 | { 55 | type calculated; 56 | value uniform 0; 57 | } 58 | front 59 | { 60 | type $type1; 61 | } 62 | back 63 | { 64 | type $type1; 65 | } 66 | 67 | } 68 | 69 | 70 | // ************************************************************************* // 71 | -------------------------------------------------------------------------------- /cases/ibm_aligned/0_org/p: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | object p; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | #include "include/constantValues" 17 | 18 | dimensions [0 2 -2 0 0 0 0]; 19 | 20 | internalField uniform 0; 21 | 22 | boundaryField 23 | { 24 | wallIB 25 | { 26 | type immersedBoundary; 27 | refValue uniform 0; 28 | refGradient uniform 0; 29 | fixesValue no; 30 | 31 | setDeadCellValue yes; 32 | deadCellValue 0; 33 | 34 | value uniform 0; 35 | } 36 | 37 | lower 38 | { 39 | type zeroGradient; 40 | } 41 | 42 | upper 43 | { 44 | type zeroGradient; 45 | } 46 | 47 | left 48 | { 49 | type zeroGradient; 50 | } 51 | right 52 | { 53 | type fixedValue; 54 | value uniform 0; 55 | } 56 | front 57 | { 58 | type $type1; 59 | } 60 | back 61 | { 62 | type $type1; 63 | } 64 | 65 | } 66 | 67 | // ************************************************************************* // 68 | -------------------------------------------------------------------------------- /cases/ibm_aligned/Allclean: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Source tutorial clean functions 4 | . $WM_PROJECT_DIR/bin/tools/CleanFunctions 5 | 6 | cleanCase 7 | 8 | \rm -rf 0 9 | \rm -f constant/polyMesh/boundary 10 | -------------------------------------------------------------------------------- /cases/ibm_aligned/Allrun: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Source tutorial run functions 3 | . $WM_PROJECT_DIR/bin/tools/RunFunctions 4 | 5 | # Get application name 6 | application="ibSimpleFoam" 7 | 8 | ./makeMesh 9 | 10 | #runApplication potentialIbFoam 11 | runApplication $application & 12 | -------------------------------------------------------------------------------- /cases/ibm_aligned/CleanTimeDir: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | currDir=`pwd` 4 | application=`basename $currDir` 5 | keepCases="arrestedfront " 6 | #keepCases="channel2D" 7 | 8 | tutorialPath=`dirname $0`/.. 9 | . $WM_PROJECT_DIR/bin/tools/CleanFunctions 10 | 11 | for case in $keepCases 12 | do 13 | cleanTimeDirectories $case 14 | done 15 | 16 | -------------------------------------------------------------------------------- /cases/ibm_aligned/case.foam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/psu-efd/ibwallfunction_OpenFOAM/4c266b0113586f2ed379692b0068cea188076d15/cases/ibm_aligned/case.foam -------------------------------------------------------------------------------- /cases/ibm_aligned/constant/RASProperties: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object RASProperties; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | RASModel laminar; 18 | //RASModel kEpsilon; 19 | 20 | turbulence on; 21 | 22 | printCoeffs on; 23 | 24 | 25 | // ************************************************************************* // 26 | -------------------------------------------------------------------------------- /cases/ibm_aligned/constant/transportProperties: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object transportProperties; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | transportModel Newtonian; 19 | 20 | nu nu [ 0 2 -1 0 0 0 0 ] 1.5e-05; 21 | 22 | 23 | //A switch for whether solve sediment transport: 24 | calculateSed true; 25 | //calculateSed false; 26 | 27 | 28 | //sedBC "vanRijn1984PickupFunction"; 29 | sedBC "IgnoreRefHeight"; 30 | //sedBC "DirichletVanRijn1984PickupFunction"; 31 | //sedBC "ExtrapolateToWall"; 32 | //extrapolationOption linearization; //or exponential 33 | 34 | //If the option ExtrapolateToWall is chosen, the user 35 | //needs to specify the scheme of extrapolation: 36 | // linearization or exponential. 37 | //linearization is more compatible with the low order of FVM in OF (usually 38 | //first or second order at most). exponential is not compatilbe with low 39 | //order FVM. It should be used for schemes such as "exact" scheme. 40 | 41 | VsModel constant; 42 | 43 | CrossPowerLawCoeffs 44 | { 45 | nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; 46 | nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; 47 | m m [ 0 0 1 0 0 0 0 ] 1; 48 | n n [ 0 0 0 0 0 0 0 ] 1; 49 | } 50 | 51 | BirdCarreauCoeffs 52 | { 53 | nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; 54 | nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; 55 | k k [ 0 0 1 0 0 0 0 ] 0; 56 | n n [ 0 0 0 0 0 0 0 ] 1; 57 | } 58 | 59 | // ************************************************************************* // 60 | -------------------------------------------------------------------------------- /cases/ibm_aligned/constant/turbulenceProperties: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 3.0.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object turbulenceProperties; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | //simulationType laminar; 19 | simulationType RAS; 20 | 21 | RAS 22 | { 23 | RASModel ibmKEpsilon; 24 | // RASModel kEpsilon; 25 | 26 | turbulence on; 27 | 28 | printCoeffs on; 29 | } 30 | 31 | // ************************************************************************* // 32 | -------------------------------------------------------------------------------- /cases/ibm_aligned/makeMesh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Source tutorial run functions 3 | . $WM_PROJECT_DIR/bin/tools/RunFunctions 4 | ./Allclean 5 | rm 0 -r 6 | cp 0_org 0 -r 7 | runApplication blockMesh 8 | runApplication modifyPatches -null wallIB 9 | runApplication topoSet -dict ./system/topoSetDict1 10 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 11 | rm log.r* log.t* 12 | runApplication topoSet -dict ./system/topoSetDict2 13 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 14 | rm log.t* log.r* 15 | rm triValues -r 16 | runApplication topoSet -dict ./system/topoSetDict3 17 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 18 | rm log.t* log.r* 19 | rm triValues -r 20 | runApplication topoSet -dict ./system/topoSetDict4 21 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 22 | rm log.t* log.r* 23 | rm triValues -r 24 | -------------------------------------------------------------------------------- /cases/ibm_aligned/save/blockMeshDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object blockMeshDict; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | convertToMeters 1; 18 | 19 | vertices 20 | ( 21 | (-0.019 -0.03 -0.002) 22 | ( 0.285 -0.03 -0.002) 23 | ( 0.285 0.03 -0.002) 24 | (-0.019 0.03 -0.002) 25 | 26 | (-0.019 -0.03 0.002) 27 | ( 0.285 -0.03 0.002) 28 | ( 0.285 0.03 0.002) 29 | (-0.019 0.03 0.002) 30 | ); 31 | 32 | blocks 33 | ( 34 | // hex (0 1 2 3 4 5 6 7) (180 34 1) simpleGrading (1 1 1) 35 | hex (0 1 2 3 4 5 6 7) (250 60 1) simpleGrading (1 1 1) 36 | ); 37 | 38 | edges 39 | ( 40 | ); 41 | 42 | patches 43 | ( 44 | patch top 45 | ( 46 | (3 7 6 2) 47 | ) 48 | patch inlet 49 | ( 50 | (0 4 7 3) 51 | ) 52 | patch outlet 53 | ( 54 | (2 6 5 1) 55 | ) 56 | patch bottom 57 | ( 58 | (1 5 4 0) 59 | ) 60 | empty frontAndBack 61 | ( 62 | (0 3 2 1) 63 | (4 5 6 7) 64 | ) 65 | ); 66 | 67 | mergePatchPairs 68 | ( 69 | ); 70 | 71 | 72 | // ************************************************************************* // 73 | -------------------------------------------------------------------------------- /cases/ibm_aligned/save/boundary: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class polyBoundaryMesh; 13 | location "constant/polyMesh"; 14 | object boundary; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | 5 19 | ( 20 | wallIB 21 | { 22 | type immersedBoundary; 23 | nFaces 0; 24 | startFace 1671; 25 | internalFlow no; 26 | } 27 | lower 28 | { 29 | type patch; 30 | nFaces 9; 31 | startFace 1671; 32 | } 33 | upper 34 | { 35 | type patch; 36 | nFaces 9; 37 | startFace 1680; 38 | } 39 | leftRight 40 | { 41 | type cyclic; 42 | nFaces 480; 43 | startFace 1689; 44 | featureCos 0.9; 45 | } 46 | frontBack 47 | { 48 | type cyclic; 49 | nFaces 480; 50 | startFace 2169; 51 | featureCos 0.9; 52 | } 53 | ) 54 | 55 | 56 | // ************************************************************************* // 57 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/controlDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object controlDict; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | libs 18 | ( 19 | "libfiniteVolume.so" 20 | "libimmersedBoundary.so" 21 | "libimmersedBoundarySurfaceToCell.so" 22 | "libimmersedBoundaryTurbulence.so" 23 | "libimmersedBoundaryFvSolutions.so" 24 | "libimmersedBoundaryFvOptions.so" 25 | ) 26 | 27 | application ibSimpleFoam; 28 | 29 | startFrom startTime; 30 | 31 | startTime 0; 32 | 33 | stopAt endTime; 34 | 35 | endTime 5000; 36 | 37 | deltaT 1; 38 | 39 | writeControl timeStep; 40 | 41 | writeInterval 500; 42 | 43 | purgeWrite 0; 44 | 45 | writeFormat ascii; 46 | 47 | writePrecision 6; 48 | 49 | writeCompression uncompressed; 50 | 51 | timeFormat general; 52 | 53 | timePrecision 6; 54 | 55 | runTimeModifiable yes; 56 | 57 | functions 58 | ( 59 | ); 60 | 61 | 62 | // ************************************************************************* // 63 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/decomposeParDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object decomposeParDict; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | numberOfSubdomains 6; 18 | 19 | method simple; 20 | 21 | simpleCoeffs 22 | { 23 | n (3 2 1); 24 | delta 0.001; 25 | } 26 | 27 | hierarchicalCoeffs 28 | { 29 | n (1 1 1); 30 | delta 0.001; 31 | order xyz; 32 | } 33 | 34 | metisCoeffs 35 | { 36 | processorWeights 4(1 1 1 1); 37 | } 38 | 39 | manualCoeffs 40 | { 41 | dataFile "cellDecomposition"; 42 | } 43 | 44 | distributed no; 45 | 46 | roots 47 | ( 48 | ); 49 | 50 | 51 | // ************************************************************************* // 52 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/fvOptions: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 3.0.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object fvOptions; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | /* 18 | momentumSource 19 | { 20 | type ibMeanVelocityForce; 21 | active yes; 22 | 23 | ibMeanVelocityForceCoeffs 24 | { 25 | selectionMode all; 26 | 27 | fieldNames (U); 28 | Ubar (0.5 0 0); 29 | } 30 | } 31 | 32 | */ 33 | //************************************************************************* // 34 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/fvSchemes: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object fvSchemes; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | ddtSchemes 18 | { 19 | default steadyState; 20 | } 21 | 22 | gradSchemes 23 | { 24 | default Gauss linear; 25 | } 26 | 27 | divSchemes 28 | { 29 | default none; 30 | div(phi,U) bounded Gauss vanLeer; 31 | div(phi,k) bounded Gauss upwind; 32 | div(phi,epsilon) bounded Gauss upwind; 33 | 34 | div((nuEff*dev(T(grad(U))))) Gauss linear; 35 | div((nuEff*dev2(T(grad(U))))) Gauss linear; 36 | } 37 | 38 | laplacianSchemes 39 | { 40 | default none; 41 | laplacian(nuEff,U) Gauss linear corrected; 42 | laplacian((1|A(U)),p) Gauss linear corrected; 43 | 44 | laplacian(DepsilonEff,epsilon) Gauss linear corrected; 45 | laplacian(DkEff,k) Gauss linear corrected; 46 | 47 | laplacian(1,p) Gauss linear corrected; 48 | } 49 | 50 | interpolationSchemes 51 | { 52 | default linear; 53 | interpolate(HbyA) linear; 54 | } 55 | 56 | snGradSchemes 57 | { 58 | default corrected; 59 | } 60 | 61 | 62 | // ************************************************************************* // 63 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/refineMeshDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object refineMeshDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | // Cells to refine; name of cell set 19 | set c; 20 | 21 | // Type of coordinate system: 22 | // - global : coordinate system same for every cell. Usually aligned with 23 | // x,y,z axis. Specify in globalCoeffs section below. 24 | // - patchLocal : coordinate system different for every cell. Specify in 25 | // patchLocalCoeffs section below. 26 | coordinateSystem global; 27 | //coordinateSystem patchLocal; 28 | 29 | 30 | // .. and its coefficients. x,y in this case. (normal direction is calculated 31 | // as tan1^tan2) 32 | globalCoeffs 33 | { 34 | tan1 (1 0 0); 35 | tan2 (0 1 0); 36 | } 37 | 38 | patchLocalCoeffs 39 | { 40 | patch outside; // Normal direction is facenormal of zero'th face of patch 41 | tan1 (1 0 0); 42 | } 43 | 44 | // List of directions to refine 45 | directions 46 | ( 47 | tan1 48 | tan2 49 | // normal 50 | ); 51 | 52 | // Whether to use hex topology. This will 53 | // - if patchLocal: all cells on selected patch should be hex 54 | // - split all hexes in 2x2x2 through the middle of edges. 55 | useHexTopology true; 56 | 57 | // Cut purely geometric (will cut hexes through vertices) or take topology 58 | // into account. Incompatible with useHexTopology 59 | geometricCut false; 60 | 61 | // Write meshes from intermediate steps 62 | writeMesh false; 63 | 64 | // ************************************************************************* // 65 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/topoSetDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | 25 | // Select based on immersed boundary surface 26 | source immersedBoundarySurfaceToCell; 27 | sourceInfo 28 | { 29 | file "./constant/triSurface/wallIB.stl"; 30 | outsidePoints ((0.005 0.025 0.005)); // definition of outside 31 | ibmRefineMeshInsideLayers 2; 32 | ibmRefineMeshOutsideLayers 5; 33 | } 34 | } 35 | 36 | ); 37 | 38 | 39 | // ************************************************************************* // 40 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/topoSetDict1: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | source boxToCell; 25 | sourceInfo 26 | { 27 | box (0 -0.2 -1) (2 0.73 1); 28 | } 29 | 30 | } 31 | 32 | ); 33 | 34 | 35 | // ************************************************************************* // 36 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/topoSetDict2: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | source boxToCell; 25 | sourceInfo 26 | { 27 | box (0 -0.15 -1) (2 0.5 1); 28 | } 29 | 30 | } 31 | 32 | ); 33 | 34 | 35 | // ************************************************************************* // 36 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/topoSetDict3: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | source boxToCell; 25 | sourceInfo 26 | { 27 | box (0 -0.1 -1) (2 0.25 1); 28 | } 29 | 30 | } 31 | 32 | ); 33 | 34 | 35 | // ************************************************************************* // 36 | -------------------------------------------------------------------------------- /cases/ibm_aligned/system/topoSetDict4: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | source boxToCell; 25 | sourceInfo 26 | { 27 | box (0 -0.03 -1) (2 0.05 1); 28 | } 29 | 30 | } 31 | 32 | ); 33 | 34 | 35 | // ************************************************************************* // 36 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/.gitignore: -------------------------------------------------------------------------------- 1 | # git-ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | 4 | # editor and misc backup files - anywhere 5 | *~ 6 | .*~ 7 | *.bak 8 | *.bak[0-9][0-9] 9 | *.orig 10 | *.orig[0-9][0-9] 11 | \#*\# 12 | 13 | # file-browser settings - anywhere 14 | .directory 15 | 16 | # CVS recovered versions - anywhere 17 | .#* 18 | 19 | # SVN directories - anywhere 20 | 21 | .svn/ 22 | 23 | # OpenFOAM results 24 | 25 | [1-9]*/ 26 | !/0/ 27 | processor* 28 | */polyMesh/* 29 | !*/polyMesh/blockMeshDict 30 | cellToRegion* 31 | log* 32 | 33 | # packages - anywhere 34 | 35 | *.tar.bz2 36 | *.tar.gz 37 | *.tar 38 | *.tgz 39 | *.gtgz 40 | 41 | # Pictures and movies 42 | 43 | *.png 44 | *.jpg 45 | *.jpeg 46 | *.bmp 47 | *.png 48 | *.avi 49 | *.mp4 50 | *.mpg 51 | 52 | #end-of-file 53 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/0_org/U: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volVectorField; 13 | object U; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | #include "include/constantValues" 17 | 18 | dimensions [0 1 -1 0 0 0 0]; 19 | 20 | internalField uniform (68.6 0 0); 21 | 22 | boundaryField 23 | { 24 | wallIB 25 | { 26 | type immersedBoundaryVelocityWallFunction; 27 | patchType immersedBoundary; 28 | 29 | refValue uniform (0 0 0); 30 | refGradient uniform (0 0 0); 31 | fixesValue yes; 32 | 33 | setDeadCellValue yes; 34 | deadCellValue (0 0 0); 35 | 36 | value uniform (0 0 0); 37 | } 38 | upper 39 | { 40 | type slip; 41 | type zeroGradient; 42 | } 43 | lower 44 | { 45 | type fixedValue; 46 | value uniform (0 0 0); 47 | } 48 | left 49 | { 50 | type fixedValue; 51 | value uniform (68.6 0 0); 52 | } 53 | right 54 | { 55 | type zeroGradient; 56 | } 57 | front 58 | { 59 | type $type1; 60 | } 61 | back 62 | { 63 | type $type1; 64 | } 65 | 66 | } 67 | 68 | 69 | // ************************************************************************* // 70 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/0_org/epsilon: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object epsilon; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | #include "include/constantValues" 18 | 19 | dimensions [0 2 -3 0 0 0 0]; 20 | 21 | internalField uniform 6.67208; 22 | 23 | boundaryField 24 | { 25 | wallIB 26 | { 27 | type immersedBoundaryEpsilonWallFunction; 28 | patchType immersedBoundary; 29 | refValue uniform 1e-10; 30 | refGradient uniform 0; 31 | fixesValue false; 32 | setDeadCellValue true; 33 | deadCellValue 1e-10; 34 | Cmu 0.09; 35 | kappa 0.41; 36 | E 9.8; 37 | 38 | value $internalField; 39 | } 40 | upper 41 | { 42 | type zeroGradient; 43 | } 44 | lower 45 | { 46 | type epsilonWallFunction; 47 | value $internalField; 48 | } 49 | left 50 | { 51 | type fixedValue; 52 | value $internalField; 53 | } 54 | right 55 | { 56 | type zeroGradient; 57 | } 58 | front 59 | { 60 | type $type1; 61 | } 62 | back 63 | { 64 | type $type1; 65 | } 66 | } 67 | 68 | 69 | // ************************************************************************* // 70 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/0_org/include/constantValues: -------------------------------------------------------------------------------- 1 | type1 empty; 2 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/0_org/k: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object k; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | #include "include/constantValues" 18 | 19 | dimensions [0 2 -2 0 0 0 0]; 20 | 21 | internalField uniform 17.64735; 22 | 23 | boundaryField 24 | { 25 | wallIB 26 | { 27 | type immersedBoundaryWallFunction; 28 | patchType immersedBoundary; 29 | refValue uniform 1e-10; 30 | refGradient uniform 0; 31 | fixesValue false; 32 | setDeadCellValue yes; 33 | deadCellValue 1e-10; 34 | 35 | value $internalField; 36 | } 37 | upper 38 | { 39 | type zeroGradient; 40 | } 41 | lower 42 | { 43 | type kqRWallFunction; 44 | value $internalField; 45 | } 46 | left 47 | { 48 | type fixedValue; 49 | value $internalField; 50 | } 51 | right 52 | { 53 | type zeroGradient; 54 | } 55 | front 56 | { 57 | type $type1; 58 | } 59 | back 60 | { 61 | type $type1; 62 | } 63 | 64 | } 65 | 66 | 67 | // ************************************************************************* // 68 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/0_org/nut: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | location "0"; 14 | object nut; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | #include "include/constantValues" 18 | 19 | dimensions [0 2 -1 0 0 0 0]; 20 | 21 | internalField uniform 0; 22 | 23 | boundaryField 24 | { 25 | wallIB 26 | { 27 | type immersedBoundaryWallFunction; 28 | patchType immersedBoundary; 29 | refValue uniform 0; 30 | refGradient uniform 0; 31 | fixesValue false; 32 | setDeadCellValue false; 33 | deadCellValue 0; 34 | value uniform 0; 35 | } 36 | upper 37 | { 38 | type calculated; 39 | value uniform 0; 40 | } 41 | lower 42 | { 43 | // type calculated; 44 | // value uniform 0; 45 | type nutkWallFunction; 46 | value uniform 0; 47 | } 48 | left 49 | { 50 | type calculated; 51 | value uniform 0; 52 | } 53 | right 54 | { 55 | type calculated; 56 | value uniform 0; 57 | } 58 | front 59 | { 60 | type $type1; 61 | } 62 | back 63 | { 64 | type $type1; 65 | } 66 | 67 | } 68 | 69 | 70 | // ************************************************************************* // 71 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/0_org/p: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class volScalarField; 13 | object p; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | #include "include/constantValues" 17 | 18 | dimensions [0 2 -2 0 0 0 0]; 19 | 20 | internalField uniform 0; 21 | 22 | boundaryField 23 | { 24 | wallIB 25 | { 26 | type immersedBoundary; 27 | refValue uniform 0; 28 | refGradient uniform 0; 29 | fixesValue no; 30 | 31 | setDeadCellValue yes; 32 | deadCellValue 0; 33 | 34 | value uniform 0; 35 | } 36 | 37 | lower 38 | { 39 | type zeroGradient; 40 | } 41 | 42 | upper 43 | { 44 | type zeroGradient; 45 | } 46 | 47 | left 48 | { 49 | type zeroGradient; 50 | } 51 | right 52 | { 53 | type fixedValue; 54 | value uniform 0; 55 | } 56 | front 57 | { 58 | type $type1; 59 | } 60 | back 61 | { 62 | type $type1; 63 | } 64 | 65 | } 66 | 67 | // ************************************************************************* // 68 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/Allclean: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Source tutorial clean functions 4 | . $WM_PROJECT_DIR/bin/tools/CleanFunctions 5 | 6 | cleanCase 7 | 8 | \rm -rf 0 9 | \rm -f constant/polyMesh/boundary 10 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/Allrun: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Source tutorial run functions 3 | . $WM_PROJECT_DIR/bin/tools/RunFunctions 4 | 5 | # Get application name 6 | application="ibSimpleFoam" 7 | 8 | ./makeMesh 9 | 10 | #runApplication potentialIbFoam 11 | runApplication $application & 12 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/CleanTimeDir: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | currDir=`pwd` 4 | application=`basename $currDir` 5 | keepCases="arrestedfront " 6 | #keepCases="channel2D" 7 | 8 | tutorialPath=`dirname $0`/.. 9 | . $WM_PROJECT_DIR/bin/tools/CleanFunctions 10 | 11 | for case in $keepCases 12 | do 13 | cleanTimeDirectories $case 14 | done 15 | 16 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/case.foam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/psu-efd/ibwallfunction_OpenFOAM/4c266b0113586f2ed379692b0068cea188076d15/cases/ibm_inclined_45/case.foam -------------------------------------------------------------------------------- /cases/ibm_inclined_45/constant/transportProperties: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object transportProperties; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | transportModel Newtonian; 19 | 20 | nu nu [ 0 2 -1 0 0 0 0 ] 1.5e-05; 21 | 22 | 23 | //A switch for whether solve sediment transport: 24 | calculateSed true; 25 | //calculateSed false; 26 | 27 | 28 | //sedBC "vanRijn1984PickupFunction"; 29 | sedBC "IgnoreRefHeight"; 30 | //sedBC "DirichletVanRijn1984PickupFunction"; 31 | //sedBC "ExtrapolateToWall"; 32 | //extrapolationOption linearization; //or exponential 33 | 34 | //If the option ExtrapolateToWall is chosen, the user 35 | //needs to specify the scheme of extrapolation: 36 | // linearization or exponential. 37 | //linearization is more compatible with the low order of FVM in OF (usually 38 | //first or second order at most). exponential is not compatilbe with low 39 | //order FVM. It should be used for schemes such as "exact" scheme. 40 | 41 | VsModel constant; 42 | 43 | CrossPowerLawCoeffs 44 | { 45 | nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; 46 | nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; 47 | m m [ 0 0 1 0 0 0 0 ] 1; 48 | n n [ 0 0 0 0 0 0 0 ] 1; 49 | } 50 | 51 | BirdCarreauCoeffs 52 | { 53 | nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; 54 | nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; 55 | k k [ 0 0 1 0 0 0 0 ] 0; 56 | n n [ 0 0 0 0 0 0 0 ] 1; 57 | } 58 | 59 | // ************************************************************************* // 60 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/constant/turbulenceProperties: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 3.0.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object turbulenceProperties; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | //simulationType laminar; 19 | simulationType RAS; 20 | 21 | RAS 22 | { 23 | RASModel ibmKEpsilon; 24 | // RASModel kEpsilon; 25 | 26 | turbulence on; 27 | 28 | printCoeffs on; 29 | } 30 | 31 | // ************************************************************************* // 32 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/makeMesh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Source tutorial run functions 3 | . $WM_PROJECT_DIR/bin/tools/RunFunctions 4 | ./Allclean 5 | rm 0 -r 6 | cp 0_org 0 -r 7 | runApplication blockMesh 8 | runApplication modifyPatches -null wallIB 9 | 10 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 11 | rm log.r* log.t* 12 | runApplication topoSet -dict ./system/topoSetDict2 13 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 14 | rm log.t* log.r* 15 | rm triValues -r 16 | runApplication topoSet -dict ./system/topoSetDict3 17 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 18 | rm log.t* log.r* 19 | rm triValues -r 20 | runApplication topoSet -dict ./system/topoSetDict4 21 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 22 | rm log.t* log.r* 23 | rm triValues -r 24 | runApplication topoSet -dict ./system/topoSetDict5 25 | runApplication refineMesh -dict ./system/refineMeshDict -overwrite 26 | rm log.t* log.r* 27 | rm triValues -r 28 | 29 | rotateMesh '(1 0 0)' '(1 -1 0)' -noZero 30 | 31 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/controlDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object controlDict; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | libs 18 | ( 19 | "libfiniteVolume.so" 20 | "libimmersedBoundary.so" 21 | "libimmersedBoundarySurfaceToCell.so" 22 | "libimmersedBoundaryTurbulence.so" 23 | "libimmersedBoundaryFvSolutions.so" 24 | "libimmersedBoundaryFvOptions.so" 25 | ) 26 | 27 | application ibSimpleFoam; 28 | 29 | startFrom startTime; 30 | 31 | startTime 0; 32 | 33 | stopAt endTime; 34 | 35 | endTime 5000; 36 | 37 | deltaT 1; 38 | 39 | writeControl timeStep; 40 | 41 | writeInterval 500; 42 | 43 | purgeWrite 0; 44 | 45 | writeFormat ascii; 46 | 47 | writePrecision 6; 48 | 49 | writeCompression uncompressed; 50 | 51 | timeFormat general; 52 | 53 | timePrecision 6; 54 | 55 | runTimeModifiable yes; 56 | 57 | functions 58 | ( 59 | ); 60 | 61 | 62 | // ************************************************************************* // 63 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/decomposeParDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object decomposeParDict; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | numberOfSubdomains 6; 18 | 19 | method simple; 20 | 21 | simpleCoeffs 22 | { 23 | n (3 2 1); 24 | delta 0.001; 25 | } 26 | 27 | hierarchicalCoeffs 28 | { 29 | n (1 1 1); 30 | delta 0.001; 31 | order xyz; 32 | } 33 | 34 | metisCoeffs 35 | { 36 | processorWeights 4(1 1 1 1); 37 | } 38 | 39 | manualCoeffs 40 | { 41 | dataFile "cellDecomposition"; 42 | } 43 | 44 | distributed no; 45 | 46 | roots 47 | ( 48 | ); 49 | 50 | 51 | // ************************************************************************* // 52 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/fvOptions: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 3.0.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object fvOptions; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | /* 18 | momentumSource 19 | { 20 | type ibMeanVelocityForce; 21 | active yes; 22 | 23 | ibMeanVelocityForceCoeffs 24 | { 25 | selectionMode all; 26 | 27 | fieldNames (U); 28 | Ubar (0.5 0 0); 29 | } 30 | } 31 | 32 | */ 33 | //************************************************************************* // 34 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/fvOptions_bak: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 3.0.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | location "constant"; 14 | object fvOptions; 15 | } 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | momentumSource 18 | { 19 | type ibMeanVelocityForce; 20 | active yes; 21 | 22 | ibMeanVelocityForceCoeffs 23 | { 24 | selectionMode all; 25 | 26 | fieldNames (U); 27 | Ubar (0.1 0 0); 28 | } 29 | } 30 | 31 | 32 | //************************************************************************* // 33 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/fvSchemes: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | foam-extend: Open Source CFD | 4 | | \\ / O peration | Version: 4.0 | 5 | | \\ / A nd | Web: http://www.foam-extend.org | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object fvSchemes; 14 | } 15 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 16 | 17 | ddtSchemes 18 | { 19 | default steadyState; 20 | } 21 | 22 | gradSchemes 23 | { 24 | default Gauss linear; 25 | } 26 | 27 | divSchemes 28 | { 29 | default none; 30 | div(phi,U) bounded Gauss vanLeer; 31 | div(phi,k) bounded Gauss upwind; 32 | div(phi,epsilon) bounded Gauss upwind; 33 | 34 | div((nuEff*dev(T(grad(U))))) Gauss linear; 35 | div((nuEff*dev2(T(grad(U))))) Gauss linear; 36 | } 37 | 38 | laplacianSchemes 39 | { 40 | default none; 41 | laplacian(nuEff,U) Gauss linear corrected; 42 | laplacian((1|A(U)),p) Gauss linear corrected; 43 | 44 | laplacian(DepsilonEff,epsilon) Gauss linear corrected; 45 | laplacian(DkEff,k) Gauss linear corrected; 46 | 47 | laplacian(1,p) Gauss linear corrected; 48 | } 49 | 50 | interpolationSchemes 51 | { 52 | default linear; 53 | interpolate(HbyA) linear; 54 | } 55 | 56 | snGradSchemes 57 | { 58 | default corrected; 59 | } 60 | 61 | 62 | // ************************************************************************* // 63 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/refineMeshDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object refineMeshDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | // Cells to refine; name of cell set 19 | set c; 20 | 21 | // Type of coordinate system: 22 | // - global : coordinate system same for every cell. Usually aligned with 23 | // x,y,z axis. Specify in globalCoeffs section below. 24 | // - patchLocal : coordinate system different for every cell. Specify in 25 | // patchLocalCoeffs section below. 26 | coordinateSystem global; 27 | //coordinateSystem patchLocal; 28 | 29 | 30 | // .. and its coefficients. x,y in this case. (normal direction is calculated 31 | // as tan1^tan2) 32 | globalCoeffs 33 | { 34 | tan1 (1 0 0); 35 | tan2 (0 1 0); 36 | } 37 | 38 | patchLocalCoeffs 39 | { 40 | patch outside; // Normal direction is facenormal of zero'th face of patch 41 | tan1 (1 0 0); 42 | } 43 | 44 | // List of directions to refine 45 | directions 46 | ( 47 | tan1 48 | tan2 49 | // normal 50 | ); 51 | 52 | // Whether to use hex topology. This will 53 | // - if patchLocal: all cells on selected patch should be hex 54 | // - split all hexes in 2x2x2 through the middle of edges. 55 | useHexTopology true; 56 | 57 | // Cut purely geometric (will cut hexes through vertices) or take topology 58 | // into account. Incompatible with useHexTopology 59 | geometricCut false; 60 | 61 | // Write meshes from intermediate steps 62 | writeMesh false; 63 | 64 | // ************************************************************************* // 65 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/topoSetDict: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | 25 | // Select based on immersed boundary surface 26 | source immersedBoundarySurfaceToCell; 27 | sourceInfo 28 | { 29 | file "./constant/triSurface/wallIB.stl"; 30 | outsidePoints ((0.005 0.025 0.005)); // definition of outside 31 | ibmRefineMeshInsideLayers 2; 32 | ibmRefineMeshOutsideLayers 5; 33 | } 34 | } 35 | 36 | ); 37 | 38 | 39 | // ************************************************************************* // 40 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/topoSetDict1: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | //source boxToCell; 25 | //sourceInfo 26 | //{ 27 | //box (0 -0.2 -1) (2 0.73 1); 28 | //} 29 | source rotatedBoxToCell; 30 | sourceInfo 31 | { 32 | origin (0 -0.2 -1); 33 | i (4 4 0); 34 | j (0 0.93 0); 35 | k (0 0 2); 36 | } 37 | } 38 | 39 | ); 40 | 41 | 42 | // ************************************************************************* // 43 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/topoSetDict2: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | /* source boxToCell;*/ 25 | /* sourceInfo*/ 26 | /* { */ 27 | /* box (0 -0.15 -1) (2 0.5 1);*/ 28 | /* }*/ 29 | source rotatedBoxToCell; 30 | sourceInfo 31 | { 32 | origin (0 -0.15 -1); 33 | i (4 4 0); 34 | j (0 0.65 0); 35 | k (0 0 2); 36 | } 37 | } 38 | 39 | ); 40 | 41 | 42 | // ************************************************************************* // 43 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/topoSetDict3: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | /* source boxToCell;*/ 25 | /* sourceInfo*/ 26 | /* { */ 27 | /* box (0 -0.1 -1) (2 0.25 1);*/ 28 | /* }*/ 29 | source rotatedBoxToCell; 30 | sourceInfo 31 | { 32 | origin (0 -0.1 -1); 33 | i (4 4 0); 34 | j (0 0.35 0); 35 | k (0 0 2); 36 | } 37 | } 38 | 39 | ); 40 | 41 | 42 | // ************************************************************************* // 43 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/topoSetDict4: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | /* source boxToCell;*/ 25 | /* sourceInfo*/ 26 | /* { */ 27 | /* box (0 -0.03 -1) (2 0.05 1);*/ 28 | /* }*/ 29 | source rotatedBoxToCell; 30 | sourceInfo 31 | { 32 | origin (0 -0.03 -1); 33 | i (4 4 0); 34 | j (0 0.1 0); 35 | k (0 0 2); 36 | } 37 | } 38 | 39 | ); 40 | 41 | 42 | // ************************************************************************* // 43 | -------------------------------------------------------------------------------- /cases/ibm_inclined_45/system/topoSetDict5: -------------------------------------------------------------------------------- 1 | /*--------------------------------*- C++ -*----------------------------------*\ 2 | | ========= | | 3 | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | 4 | | \\ / O peration | Version: 1.7.1 | 5 | | \\ / A nd | Web: www.OpenFOAM.com | 6 | | \\/ M anipulation | | 7 | \*---------------------------------------------------------------------------*/ 8 | FoamFile 9 | { 10 | version 2.0; 11 | format ascii; 12 | class dictionary; 13 | object cellSetDict; 14 | } 15 | 16 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 17 | 18 | actions 19 | ( 20 | { 21 | name c; 22 | type cellSet; 23 | action new; 24 | /* source boxToCell;*/ 25 | /* sourceInfo*/ 26 | /* { */ 27 | /* box (0 -0.03 -1) (2 0.05 1);*/ 28 | /* }*/ 29 | source rotatedBoxToCell; 30 | sourceInfo 31 | { 32 | origin (0 -0.03 -1); 33 | i (4 4 0); 34 | j (0 0.075 0); 35 | k (0 0 2); 36 | } 37 | } 38 | 39 | ); 40 | 41 | 42 | // ************************************************************************* // 43 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/Allwclean: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd ${0%/*} || exit 1 # run from this directory 3 | set -x 4 | 5 | wclean ibLibraries/triSurfaceFieldTools 6 | wclean ibLibraries/immersedBoundary 7 | wclean ibLibraries/immersedBoundaryTurbulence 8 | wclean ibLibraries/immersedBoundaryForce 9 | wclean ibLibraries/immersedBoundarySurfaceToCell 10 | wclean ibLibraries/ibmFvOptions 11 | 12 | wclean ibUtilities/modifyPatches 13 | 14 | wclean ibSolvers/ibSimpleFoam 15 | wclean ibSolvers/ibPimpleFoam 16 | wclean ibSolvers/ibMorphFoam 17 | # ----------------------------------------------------------------- end-of-file 18 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/Allwmake: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd ${0%/*} || exit 1 # run from this directory 3 | set -x 4 | 5 | wmake ibLibraries/triSurfaceFieldTools 6 | wmake ibLibraries/immersedBoundary 7 | wmake ibLibraries/immersedBoundaryTurbulence 8 | wmake ibLibraries/immersedBoundaryForce 9 | wmake ibLibraries/immersedBoundarySurfaceToCell 10 | wmake ibLibraries/immersedBoundaryDynamicMesh 11 | wmake ibLibraries/ibmFvSolutions 12 | wmake ibLibraries/ibmFvOptions 13 | wmake ibLibraries/ibmFvSchemes 14 | 15 | wmake ibUtilities/modifyPatches 16 | 17 | wmake ibSolvers/ibSimpleFoam 18 | wmake ibSolvers/ibPimpleFoam 19 | wmake ibSolvers/ibMorphFoam 20 | # ----------------------------------------------------------------- end-of-file 21 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/Allwclean: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd ${0%/*} || exit 1 # run from this directory 3 | set -x 4 | 5 | wclean triSurfaceFieldTools 6 | wclean immersedBoundary 7 | wclean immersedBoundaryTurbulence 8 | wclean immersedBoundaryForce 9 | wclean immersedBoundarySurfaceToCell 10 | wclean immersedBoundaryDynamicMesh 11 | wclean ibmFvSolutions 12 | wclean ibmFvOptions 13 | wclean ibmFvSchemes 14 | 15 | # ----------------------------------------------------------------- end-of-file 16 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/Allwmake: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd ${0%/*} || exit 1 # run from this directory 3 | set -x 4 | 5 | wmake triSurfaceFieldTools 6 | wmake immersedBoundary 7 | wmake immersedBoundaryTurbulence 8 | wmake immersedBoundaryForce 9 | wmake immersedBoundarySurfaceToCell 10 | wmake immersedBoundaryDynamicMesh 11 | wmake ibmFvOptions 12 | # ----------------------------------------------------------------- end-of-file 13 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/ibmFvOptions/Make/files: -------------------------------------------------------------------------------- 1 | sources/ibMeanVelocityForce/ibMeanVelocityForce.C 2 | sources/ibMeanVelocityForce/ibMeanVelocityForceIO.C 3 | 4 | 5 | LIB = $(FOAM_LIBBIN)/libNewFvOptions 6 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/ibmFvOptions/Make/options: -------------------------------------------------------------------------------- 1 | EXE_INC = \ 2 | -I$(LIB_SRC)/finiteVolume/lnInclude \ 3 | -I$(LIB_SRC)/meshTools/lnInclude \ 4 | -I$(LIB_SRC)/sampling/lnInclude \ 5 | -I$(LIB_SRC)/transportModels/compressible/lnInclude \ 6 | -I$(LIB_SRC)/fvOptions/lnInclude 7 | 8 | 9 | LIB_LIBS = \ 10 | -lfiniteVolume \ 11 | -lsampling \ 12 | -lmeshTools \ 13 | -lturbulenceModels \ 14 | -lcompressibleTurbulenceModels \ 15 | -lfvOptions 16 | 17 | 18 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/ibmFvOptions/sources/ibMeanVelocityForce/ibMeanVelocityForceIO.C: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------------------------*\ 2 | ========= | 3 | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 4 | \\ / O peration | 5 | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation 6 | \\/ M anipulation | 7 | ------------------------------------------------------------------------------- 8 | License 9 | This file is part of OpenFOAM. 10 | 11 | OpenFOAM is free software: you can redistribute it and/or modify it 12 | under the terms of the GNU General Public License as published by 13 | the Free Software Foundation, either version 3 of the License, or 14 | (at your option) any later version. 15 | 16 | OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 18 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 19 | for more details. 20 | 21 | You should have received a copy of the GNU General Public License 22 | along with OpenFOAM. If not, see . 23 | 24 | \*---------------------------------------------------------------------------*/ 25 | 26 | #include "ibMeanVelocityForce.H" 27 | 28 | // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // 29 | 30 | bool Foam::fv::ibMeanVelocityForce::read(const dictionary& dict) 31 | { 32 | notImplemented 33 | ( 34 | "bool Foam::fv::ibMeanVelocityForce::read" 35 | "(" 36 | "const dictionary&" 37 | ") const" 38 | ); 39 | 40 | return false; 41 | } 42 | 43 | 44 | // ************************************************************************* // 45 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/immersedBoundary/Make/files: -------------------------------------------------------------------------------- 1 | 2 | ibmRBFInterpolation/LUinvert.C 3 | 4 | ibmRBFInterpolation/ibmRBFInterpolation.C 5 | ibmRBFInterpolation/RBFFunctions/RBFFunction/RBFFunction.C 6 | ibmRBFInterpolation/RBFFunctions/RBFFunction/newRBFFunction.C 7 | ibmRBFInterpolation/RBFFunctions/W2/W2.C 8 | ibmRBFInterpolation/RBFFunctions/Gauss/Gauss.C 9 | ibmRBFInterpolation/RBFFunctions/TPS/TPS.C 10 | ibmRBFInterpolation/RBFFunctions/IMQB/IMQB.C 11 | 12 | 13 | ibTriSurfaceTools/ibTriSurfaceTools.C 14 | 15 | 16 | 17 | surfWriters = ibTriSurfaceTools/ibSurfaceWriters 18 | 19 | $(surfWriters)/ibSurfaceWriters.C 20 | $(surfWriters)/foamFile/foamFileIbSurfaceWriterRunTime.C 21 | $(surfWriters)/dx/dxIbSurfaceWriterRunTime.C 22 | $(surfWriters)/null/nullIbSurfaceWriterRunTime.C 23 | $(surfWriters)/proxy/proxyIbSurfaceWriterRunTime.C 24 | $(surfWriters)/raw/rawIbSurfaceWriterRunTime.C 25 | $(surfWriters)/vtk/vtkIbSurfaceWriterRunTime.C 26 | 27 | 28 | immersedBoundaryPolyPatch/immersedBoundaryPolyPatch.C 29 | immersedBoundaryPointPatch/immersedBoundaryPointPatch.C 30 | immersedBoundaryFvPatch/immersedBoundaryFvPatch.C 31 | immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C 32 | immersedBoundaryFvPatch/immersedBoundaryFvPatchSamplingWeights.C 33 | immersedBoundaryFvPatch/immersedBoundaryFvPatchNewSamplingWeights.C 34 | immersedBoundaryFvPatch/immersedBoundaryFvPatchTriAddressing.C 35 | 36 | immersedBoundaryFvPatchField/immersedBoundaryFvPatchFields.C 37 | immersedBoundaryFvsPatchField/immersedBoundaryFvsPatchFields.C 38 | 39 | immersedBoundaryAdjustPhi/immersedBoundaryAdjustPhi.C 40 | 41 | refineImmersedBoundaryMesh/refineImmersedBoundaryMesh.C 42 | 43 | 44 | 45 | immersedBoundaryMappedFixedValue/immersedBoundaryMappedFixedValueFvPatchFields.C 46 | 47 | 48 | 49 | 50 | 51 | LIB = $(FOAM_USER_LIBBIN)/libimmersedBoundary 52 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/immersedBoundary/Make/options: -------------------------------------------------------------------------------- 1 | sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB) 2 | sinclude $(RULES)/mplib$(WM_MPLIB) 3 | 4 | EXE_INC = \ 5 | $(PFLAGS) $(PINC) \ 6 | -I$(LIB_SRC)/finiteVolume/lnInclude \ 7 | -I$(LIB_SRC)/triSurface/lnInclude \ 8 | -I$(LIB_SRC)/meshTools/lnInclude \ 9 | -I$(LIB_SRC)/surfMesh/lnInclude \ 10 | -I$(LIB_SRC)/sampling/lnInclude \ 11 | -I$(LIB_SRC)/dynamicMesh/lnInclude \ 12 | -I$(LIB_SRC)/transportModels \ 13 | -I../triSurfaceFieldTools/lnInclude \ 14 | -I./foamInclude \ 15 | -I./include 16 | 17 | EXE_LIBS = \ 18 | $(PLIBS) \ 19 | -lfiniteVolume \ 20 | -lmeshTools \ 21 | -lsurfMesh \ 22 | -L$(FOAM_USER_LIBBIN) -ltriSurfaceFieldTools \ 23 | -lsampling \ 24 | -ldynamicMesh 25 | -------------------------------------------------------------------------------- /immersed_boundary_openfoam/ibLibraries/immersedBoundary/foamInclude/dynamicLabelList.H: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------------------------*\ 2 | ========= | 3 | \\ / F ield | foam-extend: Open Source CFD 4 | \\ / O peration | Version: 4.0 5 | \\ / A nd | Web: http://www.foam-extend.org 6 | \\/ M anipulation | For copyright notice see file Copyright 7 | ------------------------------------------------------------------------------- 8 | License 9 | This file is part of foam-extend. 10 | 11 | foam-extend is free software: you can redistribute it and/or modify it 12 | under the terms of the GNU General Public License as published by the 13 | Free Software Foundation, either version 3 of the License, or (at your 14 | option) any later version. 15 | 16 | foam-extend is distributed in the hope that it will be useful, but 17 | WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | General Public License for more details. 20 | 21 | You should have received a copy of the GNU General Public License 22 | along with foam-extend. If not, see . 23 | 24 | Typedef 25 | Foam::dynamicLabelList 26 | 27 | Description 28 | Label container classes 29 | 30 | \*---------------------------------------------------------------------------*/ 31 | 32 | #ifndef dynamicLabelList_H 33 | #define dynamicLabelList_H 34 | 35 | #include "label.H" 36 | #include "DynamicList.H" 37 | 38 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 39 | 40 | namespace Foam 41 | { 42 | typedef DynamicList