diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/H2O b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/H2O new file mode 100644 index 000000000..308a9b29d --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/H2O @@ -0,0 +1,20 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object T; +} + +dimensions [ 0 0 0 0 0 0 0 ]; + +internalField uniform 1.0; + +boundaryField +{ + ".*" + { + type fixedValue; + value uniform 1.0; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/T b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/T new file mode 100644 index 000000000..abf1bce54 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/T @@ -0,0 +1,49 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object T; +} + +dimensions [ 0 0 0 1 0 0 0 ]; + +internalField uniform 300; + +boundaryField +{ + interface + { + type fixedGradient; + gradient uniform 0; + } + inlet + { + type fixedValue; + value $internalField; + } + outlet + { + type zeroGradient; + } + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + slip-bottom + { + type zeroGradient; + } + outerWall + { + type zeroGradient; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/U b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/U new file mode 100644 index 000000000..cfe775cf3 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/U @@ -0,0 +1,44 @@ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} + +dimensions [ 0 1 -1 0 0 0 0 ]; + +internalField uniform ( 0.1 0 0 ); + +boundaryField +{ + interface + { + type noSlip; + } + inlet + { + type fixedValue; + value $internalField; + } + outlet + { + type zeroGradient; + } + top + { + type slip; + } + bottom + { + type noSlip; + } + slip-bottom + { + type slip; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/alphat b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/alphat new file mode 100644 index 000000000..1d3ac72d0 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/alphat @@ -0,0 +1,49 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat; +} + +dimensions [ 1 -1 -1 0 0 0 0 ]; + +internalField uniform 0; + +boundaryField +{ + interface + { + type compressible::alphatWallFunction; + value uniform 0; + } + inlet + { + type compressible::alphatWallFunction; + value uniform 0; + } + outlet + { + type compressible::alphatWallFunction; + value uniform 0; + } + top + { + type compressible::alphatWallFunction; + value uniform 0; + } + bottom + { + type compressible::alphatWallFunction; + value uniform 0; + } + slip-bottom + { + type compressible::alphatWallFunction; + value uniform 0; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/epsilon b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/epsilon new file mode 100644 index 000000000..c419576fc --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/epsilon @@ -0,0 +1,49 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object epsilon; +} + +dimensions [ 0 2 -3 0 0 0 0 ]; + +internalField uniform 0.01; + +boundaryField +{ + interface + { + type epsilonWallFunction; + value uniform 0.01; + } + inlet + { + type epsilonWallFunction; + value uniform 0.01; + } + outlet + { + type epsilonWallFunction; + value uniform 0.01; + } + top + { + type epsilonWallFunction; + value uniform 0.01; + } + bottom + { + type epsilonWallFunction; + value uniform 0.01; + } + slip-bottom + { + type epsilonWallFunction; + value uniform 0.01; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/k b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/k new file mode 100644 index 000000000..a09c9617c --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/k @@ -0,0 +1,49 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object k; +} + +dimensions [ 0 2 -2 0 0 0 0 ]; + +internalField uniform 0.1; + +boundaryField +{ + interface + { + type kqRWallFunction; + value uniform 0.1; + } + inlet + { + type kqRWallFunction; + value uniform 0.1; + } + outlet + { + type kqRWallFunction; + value uniform 0.1; + } + top + { + type kqRWallFunction; + value uniform 0.1; + } + slip-bottom + { + type kqRWallFunction; + value uniform 0.1; + } + bottom + { + type kqRWallFunction; + value uniform 0.1; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/nut b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/nut new file mode 100644 index 000000000..580e908d7 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/nut @@ -0,0 +1,49 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} + +dimensions [ 0 2 -1 0 0 0 0 ]; + +internalField uniform 0; + +boundaryField +{ + interface + { + type nutkWallFunction; + value uniform 0; + } + inlet + { + type nutkWallFunction; + value uniform 0; + } + outlet + { + type nutkWallFunction; + value uniform 0; + } + top + { + type nutkWallFunction; + value uniform 0; + } + bottom + { + type nutkWallFunction; + value uniform 0; + } + slip-bottom + { + type nutkWallFunction; + value uniform 0; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/p b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/p new file mode 100644 index 000000000..654bb4023 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/p @@ -0,0 +1,54 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} + +dimensions [ 1 -1 -2 0 0 0 0 ]; + +internalField uniform 103500; + +boundaryField +{ + interface + { + type calculated; + value $internalField; + } + inlet + { + type calculated; + value $internalField; + } + outlet + { + type calculated; + value $internalField; + } + outerWall + { + type calculated; + value $internalField; + } + top + { + type calculated; + value $internalField; + } + bottom + { + type calculated; + value $internalField; + } + slip-bottom + { + type calculated; + value $internalField; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/p_rgh b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/p_rgh new file mode 100644 index 000000000..c5eebe883 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/0/p_rgh @@ -0,0 +1,44 @@ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p_rgh; +} + +dimensions [ 1 -1 -2 0 0 0 0 ]; + +internalField uniform 103500; + +boundaryField +{ + interface + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + outlet + { + type fixedValue; + value $internalField; + } + top + { + type zeroGradient; + } + slip-bottom + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + defaultFaces + { + type empty; + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/clean.sh b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/clean.sh new file mode 100755 index 000000000..b64fc5101 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/clean.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env sh +set -e -u + +. ../../tools/cleaning-tools.sh + +clean_openfoam . diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/chemistryProperties b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/chemistryProperties new file mode 100644 index 000000000..5abe8feba --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/chemistryProperties @@ -0,0 +1,15 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object chemistryProperties; +} + +chemistryType +{ + solver noChemistrySolver; +} + +chemistry off; + diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/combustionProperties b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/combustionProperties new file mode 100644 index 000000000..840ed7664 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/combustionProperties @@ -0,0 +1,11 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object combustionProperties; +} + +combustionModel none; +active false; + diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/foam.inp b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/foam.inp new file mode 100644 index 000000000..72f8618bd --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/foam.inp @@ -0,0 +1,11 @@ +elements +( +); + +species +( + H2O +); + +reactions +{} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/g b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/g new file mode 100644 index 000000000..ca544e1f1 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/g @@ -0,0 +1,10 @@ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + object g; +} + +dimensions [0 1 -2 0 0 0 0]; +value (0 -9.81 0); diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/radiationProperties b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/radiationProperties new file mode 100644 index 000000000..8c98c1b86 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/radiationProperties @@ -0,0 +1,12 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object radiationProperties; +} + +radiation off; + +radiationModel none; + diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/reactingCloud1Properties b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/reactingCloud1Properties new file mode 100644 index 000000000..98d7d0410 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/reactingCloud1Properties @@ -0,0 +1,161 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object reactingCloud1Properties; +} + +cloudType basicReactingCloud; + +solution +{ + active yes; + coupled true; + transient yes; + + maxCo 0.3; + cellValueSourceCorrection off; + + sourceTerms + { + resetOnStartup false; + schemes + { + rho explicit 1; + U explicit 1; + Yi explicit 1; + h explicit 1; + radiation explicit 1; + } + } + + interpolationSchemes + { + rho cell; + U cellPoint; + thermo:mu cell; + T cell; + Cp cell; + kappa cell; + p cell; + } + + integrationSchemes + { + U Euler; + T analytical; + } +} + + +constantProperties +{ + rho0 1; + Cp0 5000; + T0 300; + hRetentionCoeff 0; + volumeUpdateMethod constantRho; +} + + +subModels +{ + particleForces + { + sphereDrag; + gravity; + } + + injectionModels + { + model1 + { + type implicitPatchInjection; + patch inlet; + U0 (0.4 0 0); + T0 300; + + parcelBasisType fixed; + nParticle 1; + parcelsPerSecond 200; + + SOI 0; + duration 0.5; + massTotal 9999999; + + flowRateProfile constant 1; + + sizeDistribution + { + type fixedValue; + fixedValueDistribution + { + value 0.001; + } + } + } + } + + dispersionModel none; + + patchInteractionModel standardWallInteraction; + + standardWallInteractionCoeffs + { + type rebound; + e 0.9; + mu 0.9; + } + + heatTransferModel RanzMarshall; + + RanzMarshallCoeffs + { + BirdCorrection off; + } + + compositionModel singleMixtureFraction; + + singleMixtureFractionCoeffs + { + phases + ( + gas + { + } + liquid + { + H2O 1; + } + solid + { + tutorialParticle 1; + } + ); + YGasTot0 0; + YLiquidTot0 0.0; + YSolidTot0 1; + } + + phaseChangeModel none; + + devolatilisationModel none; + + surfaceReactionModel none; + + stochasticCollisionModel none; + + surfaceFilmModel none; + + radiation off; + + heterogeneousReactingModel none; + +} + + +cloudFunctions +{ +} + diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/thermophysicalProperties b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/thermophysicalProperties new file mode 100644 index 000000000..8cbbd5076 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/thermophysicalProperties @@ -0,0 +1,47 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} + +thermoType +{ + type heRhoThermo; + mixture reactingMixture; + transport const; + thermo hConst; + equationOfState perfectGas; + specie specie; + energy sensibleEnthalpy; +} + +chemistryReader foamChemistryReader; + +foamChemistryFile "/foam.inp"; + +foamChemistryThermoFile "/foam.dat"; + +inertSpecie H2O; + +liquids +{ + H2O; +} + +solids +{ + tutorialParticle + { + defaultCoeffs no; + rho 1; + Cp 5000; + kappa 0.04; + Hf 0; + emissivity 1.0; + W 58; + } +} + diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/turbulenceProperties b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/turbulenceProperties new file mode 100644 index 000000000..b75c49530 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/constant/turbulenceProperties @@ -0,0 +1,9 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} + +simulationType laminar; diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/run.sh b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/run.sh new file mode 100755 index 000000000..8f55fbfa5 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/run.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -e -u + +. ../../tools/log.sh +exec > >(tee --append "$LOGFILE") 2>&1 + +blockMesh + +../../tools/run-openfoam.sh "$@" +. ../../tools/openfoam-remove-empty-dirs.sh && openfoam_remove_empty_dirs + +close_log diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/blockMeshDict b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/blockMeshDict new file mode 100644 index 000000000..de95b0ace --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/blockMeshDict @@ -0,0 +1,101 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} + +vertices +( + (0 0 0) + (1 0 0) + (1 .5 0) + (0 .5 0) + + (0 0 .4) + (1 0 .4) + (1 .5 .4) + (0 .5 .4) + + (3 0 0) + (3 .5 0) + + (3 0 .4) + (3 .5 .4) + + (-.5 0 0) + (-.5 .5 0) + + (-.5 .5 .4) + (-.5 0 .4) + +); + +blocks +( + hex (12 0 3 13 15 4 7 14) (81 41 1) simpleGrading (.2 15 1) + hex (0 1 2 3 4 5 6 7) (161 41 1) simpleGrading (5 15 1) + hex (1 8 9 2 5 10 11 6) (51 41 1) simpleGrading (1 15 1) +); + +boundary +( + + inlet + { + type wall; + faces + ( + (13 12 15 14) + ); + } + + outlet + { + type wall; + faces + ( + (8 9 11 10) + ); + } + + top + { + type wall; + faces + ( + (7 6 2 3) + (9 2 6 11) + (13 3 7 14) + ); + } + + slip-bottom + { + type wall; + faces + ( + (15 12 0 4) + ); + } + + bottom + { + type wall; + faces + ( + (1 8 10 5) + ); + } + + interface + { + type wall; + faces + ( + (4 0 1 5) + ); + } + +); diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/controlDict b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/controlDict new file mode 100644 index 000000000..a8c904611 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/controlDict @@ -0,0 +1,53 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} + +application reactingParcelFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 20; + +deltaT 0.01; + +writeControl runTime; + +writeInterval 0.2; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable false; + +libs +( + "libpreciceAdapterFunctionObject.so" + "libimplicitInjectors.so" +); + +functions +{ + preCICE_Adapter + { + type preciceAdapterFunctionObject; + libs ("libpreciceAdapterFunctionObject.so"); + errors strict; // Available since OpenFOAM v2012 + } +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/decomposeParDict b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/decomposeParDict new file mode 100644 index 000000000..0d1859e14 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/decomposeParDict @@ -0,0 +1,16 @@ +FoamFile { + version 2.0; + class dictionary; + object decomposeParDict; + format ascii; +} + +numberOfSubdomains 2; + +method simple; + +simpleCoeffs +{ + n (2 1 1); + delta 0.001; +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/fvSchemes b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/fvSchemes new file mode 100644 index 000000000..fe217d056 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/fvSchemes @@ -0,0 +1,49 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss upwind; + div(phi,h) Gauss upwind; + div(phi,e) Gauss upwind; + div(phi,k) Gauss upwind; + div(phi,epsilon) Gauss upwind; + div(phi,Yi_h) Gauss upwind; + div(phi,R) Gauss upwind; + div(phi,K) Gauss linear; + div(phi,Ekp) Gauss linear; + div(R) Gauss linear; + div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/fvSolution b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/fvSolution new file mode 100644 index 000000000..e7047fa96 --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/fvSolution @@ -0,0 +1,55 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} + +solvers +{ + "rho.*" + { + solver PCG; + preconditioner DIC; + tolerance 0; + relTol 0; + } + + p_rgh + { + solver PCG; + preconditioner DIC; + tolerance 1e-8; + relTol 0.01; + } + + p_rghFinal + { + $p_rgh; + relTol 0; + } + + "(U|h|e|k|epsilon|R)" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-6; + relTol 0.1; + } + + "(U|h|e|k|epsilon|R)Final" + { + $U; + relTol 0; + } +} + +PIMPLE +{ + momentumPredictor yes; + nOuterCorrectors 1; + nCorrectors 2; + nNonOrthogonalCorrectors 0; +} diff --git a/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/preciceDict b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/preciceDict new file mode 100644 index 000000000..be3dc807c --- /dev/null +++ b/flow-over-heated-plate/fluid-openfoam-basicReactingMultiphaseCloud/system/preciceDict @@ -0,0 +1,33 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object preciceDict; +} + +preciceConfig "../precice-config.xml"; + +participant Fluid; + +modules (CHT); + +interfaces +{ + Interface1 + { + mesh Fluid-Mesh; + patches (interface); + + readData + ( + Heat-Flux + ); + + writeData + ( + Temperature + ); + }; +};