From f872a9760d3358ac3dc1771eff0069f7c6fcff25 Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 6 Jun 2011 13:31:46 +0100 Subject: [PATCH 1/6] BUG: Avoid name clashes in db --- .../solvers/lagrangian/reactingParcelFilmFoam/createFields.H | 2 +- .../lagrangian/reactingParcelFilmPyrolysisFoam/createFields.H | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H index a5a87c73ef..e2db33f1f7 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H +++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H @@ -88,7 +88,7 @@ Info<< "Calculating field g.h\n" << endl; volScalarField gh("gh", g & mesh.C()); - surfaceScalarField ghf("gh", g & mesh.Cf()); + surfaceScalarField ghf("ghf", g & mesh.Cf()); volScalarField p_rgh ( diff --git a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/createFields.H index 96a3457b83..f1e152dc32 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/createFields.H +++ b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/createFields.H @@ -110,7 +110,7 @@ Info<< "Calculating field g.h\n" << endl; volScalarField gh("gh", g & mesh.C()); - surfaceScalarField ghf("gh", g & mesh.Cf()); + surfaceScalarField ghf("ghf", g & mesh.Cf()); volScalarField p_rgh ( From d88bedb3ce66a4cd556d169eba78405430e84d11 Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 6 Jun 2011 14:28:32 +0100 Subject: [PATCH 2/6] BUG: Corrected injection of new film parcel thermo particles --- .../SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C index cb0bc500a3..6a423cd5b6 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C @@ -205,6 +205,9 @@ void Foam::SurfaceFilmModel::inject(TrackData& td) tetPtI ); + // Check/set new parcel thermo properties + td.cloud().setParcelThermoProperties(*pPtr, 0.0); + setParcelProperties(*pPtr, j); // Check new parcel properties From 8961e44dc5f63de77f1efee2ad44403988bc2df7 Mon Sep 17 00:00:00 2001 From: graham Date: Mon, 6 Jun 2011 14:35:07 +0100 Subject: [PATCH 3/6] COMP: clang caught ambiguous constructions from tmp. --- .../infinitelyFastChemistry.C | 8 +++-- .../directMappedFlowRateFvPatchVectorField.C | 4 +-- .../autoHexMeshDriver/autoSnapDriver.C | 2 +- .../autoHexMeshDriver/autoSnapDriverFeature.C | 2 +- .../reactingOneDim/reactingOneDim.C | 32 +++++++++++-------- ...rolysisVelocityCoupledFvPatchVectorField.C | 2 +- .../sampledSet/writers/csv/csvSetWriter.C | 4 +-- ...peratureThermoBaffle1DFvPatchScalarField.C | 20 +++++++----- 8 files changed, 43 insertions(+), 31 deletions(-) diff --git a/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C b/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C index fb0dbe79b4..2748e31efa 100644 --- a/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C +++ b/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.C @@ -109,11 +109,13 @@ Foam::combustionModels::infinitelyFastChemistry::R(volScalarField& Y) const const label fNorm = singleMixture_.specieProd()[specieI]; - const volScalarField fres = singleMixture_.fres(specieI); + const volScalarField fres(singleMixture_.fres(specieI)); - const volScalarField wSpecie = + const volScalarField wSpecie + ( wFuelNorm_*singleMixture_.specieStoichCoeffs()[specieI] - / max(fNorm*(Y - fres), scalar(0.001)); + / max(fNorm*(Y - fres), scalar(0.001)) + ); return -fNorm*wSpecie*fres + fNorm*fvm::Sp(wSpecie, Y); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/directMappedFlowRate/directMappedFlowRateFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/directMappedFlowRate/directMappedFlowRateFvPatchVectorField.C index 3bc74d3e05..91ed7d1a2e 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/directMappedFlowRate/directMappedFlowRateFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/directMappedFlowRate/directMappedFlowRateFvPatchVectorField.C @@ -134,9 +134,9 @@ void Foam::directMappedFlowRateFvPatchVectorField::updateCoeffs() const surfaceScalarField& phiName = db().lookupObject(phiName_); - scalarField U = -phi/patch().magSf(); + scalarField U(-phi/patch().magSf()); - vectorField n = patch().nf(); + vectorField n(patch().nf()); if (phiName.dimensions() == dimVelocity*dimArea) { diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C index 6c1925f064..8b68e53e6b 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.C @@ -648,7 +648,7 @@ Foam::scalarField Foam::autoSnapDriver::calcSnapDistance -GREAT // null value ); - return snapParams.snapTol()*maxEdgeLen; + return scalarField(snapParams.snapTol()*maxEdgeLen); } diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C index e357dbba65..8d2a2b77b2 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C @@ -773,7 +773,7 @@ void Foam::autoSnapDriver::determineAllFeatures labelList nearPointFeat; labelList nearPointIndex; { - scalarField snapDistSqr = sqr(snapDist); + scalarField snapDistSqr(sqr(snapDist)); features.findNearestEdge ( pp.localPoints(), diff --git a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C index 606957c459..6b95d77d03 100644 --- a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C +++ b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C @@ -133,8 +133,8 @@ void reactingOneDim::updatePhiGas() const volScalarField& HsiGas = tHsiGas(); const volScalarField& RRiGas = tRRiGas(); - const surfaceScalarField HsiGasf = fvc::interpolate(HsiGas); - const surfaceScalarField RRiGasf = fvc::interpolate(RRiGas); + const surfaceScalarField HsiGasf(fvc::interpolate(HsiGas)); + const surfaceScalarField RRiGasf(fvc::interpolate(RRiGas)); forAll(intCoupledPatchIDs_, i) { @@ -185,7 +185,7 @@ void reactingOneDim::updateMesh(const scalarField& mass0) return; } - const scalarField newV = mass0/rho_; + const scalarField newV(mass0/rho_); Info<< "Initial/final volumes = " << gSum(regionMesh().V()) << ", " << gSum(newV) << " [m3]" << endl; @@ -227,7 +227,7 @@ void reactingOneDim::solveSpeciesMass() Info<< "reactingOneDim::solveSpeciesMass()" << endl; } - volScalarField Yt = 0.0*Ys_[0]; + volScalarField Yt(0.0*Ys_[0]); for (label i=0; i 0) { - surfaceScalarField KrhoCpbyDelta = + surfaceScalarField KrhoCpbyDelta + ( regionMesh().surfaceInterpolation::deltaCoeffs() * fvc::interpolate(K_) - / fvc::interpolate(Cp()*rho_); + / fvc::interpolate(Cp()*rho_) + ); DiNum = max(KrhoCpbyDelta.internalField())*time_.deltaTValue(); diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C index 57955d166c..b956492d01 100644 --- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C +++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C @@ -199,7 +199,7 @@ void Foam::filmPyrolysisVelocityCoupledFvPatchVectorField::updateCoeffs() << exit(FatalError); } - const scalarField UAvePyr = -phiPyr/patch().magSf(); + const scalarField UAvePyr(-phiPyr/patch().magSf()); const vectorField& nf = patch().nf(); forAll(deltaFilm, i) diff --git a/src/sampling/sampledSet/writers/csv/csvSetWriter.C b/src/sampling/sampledSet/writers/csv/csvSetWriter.C index a102057626..8b5e7fa892 100644 --- a/src/sampling/sampledSet/writers/csv/csvSetWriter.C +++ b/src/sampling/sampledSet/writers/csv/csvSetWriter.C @@ -76,7 +76,7 @@ void Foam::csvSetWriter::write columns[i] = valueSets[i]; } - writeTable(points, columns, os); + this->writeTable(points, columns, os); } @@ -110,7 +110,7 @@ void Foam::csvSetWriter::write columns[i] = &valueSets[i][trackI]; } - writeTable(points[trackI], columns, os); + this->writeTable(points[trackI], columns, os); os << nl << nl; } } diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureThermoBaffle1D/temperatureThermoBaffle1DFvPatchScalarField.C b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureThermoBaffle1D/temperatureThermoBaffle1DFvPatchScalarField.C index ee926c706e..4da5d82bb1 100644 --- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureThermoBaffle1D/temperatureThermoBaffle1DFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/temperatureThermoBaffle1D/temperatureThermoBaffle1DFvPatchScalarField.C @@ -230,7 +230,7 @@ void temperatureThermoBaffle1DFvPatchScalarField::updateCoeffs() const scalarField Cpw(model.thermo().Cp(Ti, patchI)); - scalarField myh = patch().deltaCoeffs()*alphaw*Cpw; + scalarField myh(patch().deltaCoeffs()*alphaw*Cpw); scalarField alphawCp(alphaw*Cpw); @@ -265,15 +265,16 @@ void temperatureThermoBaffle1DFvPatchScalarField::updateCoeffs() scalarField nbrTi(nbrField.patchInternalField()); mpp.map().distribute(nbrTi); - const scalarField nbrCpw = model.thermo().Cp + const scalarField nbrCpw ( - nbrField.patchInternalField(), - nbrPatchI + model.thermo().Cp(nbrField.patchInternalField(), nbrPatchI) ); - scalarField nbrh = + scalarField nbrh + ( nbrPatch.deltaCoeffs()*nbrCpw - *model.alphaEff()().boundaryField()[nbrPatchI]; + *model.alphaEff()().boundaryField()[nbrPatchI] + ); mpp.map().distribute(nbrh); @@ -290,8 +291,11 @@ void temperatureThermoBaffle1DFvPatchScalarField::updateCoeffs() KDeltaw[i] = solid_().K((Tp[i] + nbrTp[i])/2.0)/thickness_[i]; } - const scalarField q = - (Ti() - nbrTi)/(1.0/KDeltaw + 1.0/nbrh + 1.0/myh); + const scalarField q + ( + (Ti() - nbrTi)/(1.0/KDeltaw + 1.0/nbrh + 1.0/myh) + ); + forAll(qDot, i) { From 159e79f68135f1e71c23c4d0082d3d0554a86d75 Mon Sep 17 00:00:00 2001 From: graham Date: Mon, 6 Jun 2011 15:46:22 +0100 Subject: [PATCH 4/6] COMP: More clang caught compilation errors. --- .../lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H | 4 ++-- src/lagrangian/spray/clouds/Templates/SprayCloud/SprayCloud.C | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H index 7606d9ce72..18ebd5915f 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H @@ -12,14 +12,14 @@ tmp > mvConvection combustion->correct(); dQ = combustion->dQ(); label inertIndex = -1; - volScalarField Yt = 0.0*Y[0]; + volScalarField Yt(0.0*Y[0]); forAll(Y, i) { if (Y[i].name() != inertSpecie) { volScalarField& Yi = Y[i]; - fvScalarMatrix R = combustion->R(Yi); + fvScalarMatrix R(combustion->R(Yi)); fvScalarMatrix YiEqn ( diff --git a/src/lagrangian/spray/clouds/Templates/SprayCloud/SprayCloud.C b/src/lagrangian/spray/clouds/Templates/SprayCloud/SprayCloud.C index 5b23717b71..c0cee6bacc 100644 --- a/src/lagrangian/spray/clouds/Templates/SprayCloud/SprayCloud.C +++ b/src/lagrangian/spray/clouds/Templates/SprayCloud/SprayCloud.C @@ -345,7 +345,7 @@ void Foam::SprayCloud::motion(TrackData& td) parcelType& p = iter(); if (p.mass() < VSMALL) { - deleteParticle(p); + this->deleteParticle(p); } } } From 698c222591d5d19f2f2821320ee66b3cf2cfa22e Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 6 Jun 2011 16:30:08 +0100 Subject: [PATCH 5/6] STYLE: spelling correction --- .../intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H index 604304a72a..fa3c05e809 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H @@ -167,7 +167,7 @@ public: // Private data //- Local copy of carrier specific heat field - // Cp not stored on acrrier thermo, but returned as tmp<...> + // Cp not stored on carrier thermo, but returned as tmp<...> const volScalarField Cp_; From e634f63a6a506a217114f65e2e4b8dadafe60dab Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 6 Jun 2011 17:08:43 +0100 Subject: [PATCH 6/6] ENH: Updated hotBoxes film tutorial --- .../hotBoxes/patchifyObstacles | 48 ++++++++++++++----- .../hotBoxes/system/extrudeToRegionMeshDict | 7 +-- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchifyObstacles b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchifyObstacles index 8875fc3604..97de34bd99 100755 --- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchifyObstacles +++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/patchifyObstacles @@ -21,6 +21,27 @@ nz=2 tmpSetSet='patchify.setSet' +rm -f patchify.setSet >/dev/null 2>&1 + + +initialiseFaceSet() +{ + echo "faceSet cubeFaces clear" >> $tmpSetSet; +} + +addToFaceSet() +{ + name=$1 + x1=$2 + x2=$3 + y1=$4 + y2=$5 + z1=$6 + z2=$7 + + echo "faceSet cubeFaces add boxToFace ($x1 $y1 $z1) ($x2 $y2 $z2)" >> $tmpSetSet + echo " $name: (x1=$x1 y1=$y1 z1=$z1) (x2=$x2 y2=$y2 z2=$z2)" +} createSetsAndZone() { @@ -32,13 +53,12 @@ createSetsAndZone() z1=$6 z2=$7 - echo "faceSet ${name} new boxToFace ($x1 $y1 $z1) ($x2 $y2 $z2)" >> $tmpSetSet - echo "cellSet ${name}Cells new faceToCell ${name} owner" >> $tmpSetSet - echo "faceZoneSet ${name} new setsToFaceZone ${name} ${name}Cells" >> $tmpSetSet - + echo "faceSet ${name}Faces new boxToFace ($x1 $y1 $z1) ($x2 $y2 $z2)" >> $tmpSetSet echo " $name: (x1=$x1 y1=$y1 z1=$z1) (x2=$x2 y2=$y2 z2=$z2)" } +initialiseFaceSet + # loop over cubes n=1 @@ -63,7 +83,7 @@ for xi in $(seq 1 1 $nx); do y2=`echo $y $l $tol | awk '{print $1 + $2 + $3}'` z1=`echo $z $l $tol | awk '{print $1 + $2 - $3}'` z2=`echo $z $l $tol | awk '{print $1 + $2 + $3}'` - createSetsAndZone cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 + addToFaceSet cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 # side 2 side=2 @@ -73,7 +93,7 @@ for xi in $(seq 1 1 $nx); do y2=`echo $y $l $tol | awk '{print $1 + $2 + $3}'` z1=`echo $z $tol | awk '{print $1 - $2}'` z2=`echo $z $l $tol | awk '{print $1 + $2 + $3}'` - createSetsAndZone cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 + addToFaceSet cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 # side 3 side=3 @@ -83,7 +103,7 @@ for xi in $(seq 1 1 $nx); do y2=`echo $y $l $tol | awk '{print $1 + $2 + $3}'` z1=`echo $z $tol | awk '{print $1 - $2}'` z2=`echo $z $tol | awk '{print $1 + $2}'` - createSetsAndZone cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 + addToFaceSet cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 # side 4 side=4 @@ -93,7 +113,7 @@ for xi in $(seq 1 1 $nx); do y2=`echo $y $l $tol | awk '{print $1 + $2 + $3}'` z1=`echo $z $tol | awk '{print $1 - $2}'` z2=`echo $z $l $tol | awk '{print $1 + $2 + $3}'` - createSetsAndZone cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 + addToFaceSet cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 # side 5 side=5 @@ -103,7 +123,7 @@ for xi in $(seq 1 1 $nx); do y2=`echo $y $l $tol | awk '{print $1 + $2 + $3}'` z1=`echo $z $tol | awk '{print $1 - $2}'` z2=`echo $z $l $tol | awk '{print $1 + $2 + $3}'` - createSetsAndZone cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 + addToFaceSet cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 # side 6 side=6 @@ -113,7 +133,7 @@ for xi in $(seq 1 1 $nx); do y2=`echo $y $tol | awk '{print $1 + $2}'` z1=`echo $z $tol | awk '{print $1 - $2}'` z2=`echo $z $l $tol | awk '{print $1 + $2 + $3}'` - createSetsAndZone cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 + addToFaceSet cube${pad}${n}_side${side} $x1 $x2 $y1 $y2 $z1 $z2 let n+=1 @@ -126,12 +146,16 @@ for xi in $(seq 1 1 $nx); do x=`echo $x $offset | awk '{print $1 + $2}'` done +echo "cellSet cubeFacesCells new faceToCell cubeFaces owner" >> $tmpSetSet +echo "faceZoneSet cubeFaces new setsToFaceZone cubeFaces cubeFacesCells" >> $tmpSetSet + echo "processing floor" floorMax=`echo 1 $tol | awk '{print $1 + $2}'` createSetsAndZone floor -$tol $floorMax -$tol $floorMax -$tol $tol +echo "cellSet floorCells new faceToCell floorFaces owner" >> $tmpSetSet +echo "faceZoneSet floorFaces new setsToFaceZone floorFaces floorCells" >> $tmpSetSet -setSet -batch $tmpSetSet >> log.setSet.patchifyObstacles -rm -f $tmpSetSet +setSet -batch $tmpSetSet > log.setSet.patchifyObstacles >/dev/null 2>&1 # ************************************************************************* diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/extrudeToRegionMeshDict b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/extrudeToRegionMeshDict index 8c5cdae28b..838f1e8c64 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/extrudeToRegionMeshDict +++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/extrudeToRegionMeshDict @@ -18,11 +18,8 @@ region wallFilmRegion; faceZones ( - cube01_side1 cube01_side2 cube01_side3 cube01_side4 cube01_side5 cube01_side6 - cube02_side1 cube02_side2 cube02_side3 cube02_side4 cube02_side5 cube02_side6 - cube03_side1 cube03_side2 cube03_side3 cube03_side4 cube03_side5 cube03_side6 - cube04_side1 cube04_side2 cube04_side3 cube04_side4 cube04_side5 cube04_side6 - floor + cubeFaces + floorFaces ); oneD false;