int main(int argc, char *argv[]) { argList::addOption ( "cloudName", "name", "specify alternative cloud name. default is 'kinematicCloud'" ); #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" pimpleControl pimple(mesh); #include "createTimeControls.H" #include "readGravitationalAcceleration.H" #include "createFields.H" #include "initContinuityErrs.H" Info<< "\nStarting time loop\n" << endl; while (runTime.run()) { #include "readTimeControls.H" #include "CourantNo.H" #include "setDeltaT.H" runTime++; Info<< "Time = " << runTime.timeName() << nl << endl; continuousPhaseTransport.correct(); muc = rhoc*continuousPhaseTransport.nu(); Info<< "Evolving " << kinematicCloud.name() << endl; kinematicCloud.evolve(); // Update continuous phase volume fraction field alphac = max(1.0 - kinematicCloud.theta(), alphacMin); alphac.correctBoundaryConditions(); alphacf = fvc::interpolate(alphac); alphaPhic = alphacf*phic; fvVectorMatrix cloudSU(kinematicCloud.SU(Uc)); volVectorField cloudVolSUSu ( IOobject ( "cloudVolSUSu", runTime.timeName(), mesh ), mesh, dimensionedVector ( "0", cloudSU.dimensions()/dimVolume, vector::zero ), zeroGradientFvPatchVectorField::typeName ); cloudVolSUSu.internalField() = -cloudSU.source()/mesh.V(); cloudVolSUSu.correctBoundaryConditions(); cloudSU.source() = vector::zero; // --- Pressure-velocity PIMPLE corrector loop while (pimple.loop()) { #include "UcEqn.H" // --- PISO loop while (pimple.correct()) { #include "pEqn.H" } if (pimple.turbCorr()) { continuousPhaseTurbulence->correct(); } } runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; } Info<< "End\n" << endl; return 0; }
int main(int argc, char *argv[]) { argList::addOption ( "cloudName", "name", "specify alternative cloud name. default is 'kinematicCloud'" ); #include "postProcess.H" #include "setRootCaseLists.H" #include "createTime.H" #include "createDynamicFvMesh.H" #include "createDyMControls.H" #include "createFields.H" #include "createUcfIfPresent.H" #include "initContinuityErrs.H" Info<< "\nStarting time loop\n" << endl; while (runTime.run()) { #include "readDyMControls.H" #include "CourantNo.H" #include "setDeltaT.H" runTime++; Info<< "Time = " << runTime.timeName() << nl << endl; // Store the particle positions kinematicCloud.storeGlobalPositions(); mesh.update(); if (mesh.changing()) { if (correctPhi) { // Calculate absolute flux from the mapped surface velocity phic = mesh.Sf() & Ucf(); #include "correctPhic.H" // Make the flux relative to the mesh motion fvc::makeRelative(phic, Uc); } if (checkMeshCourantNo) { #include "meshCourantNo.H" } } continuousPhaseTransport.correct(); muc = rhoc*continuousPhaseTransport.nu(); Info<< "Evolving " << kinematicCloud.name() << endl; kinematicCloud.evolve(); // Update continuous phase volume fraction field alphac = max(1.0 - kinematicCloud.theta(), alphacMin); alphac.correctBoundaryConditions(); alphacf = fvc::interpolate(alphac); alphaPhic = alphacf*phic; fvVectorMatrix cloudSU(kinematicCloud.SU(Uc)); volVectorField cloudVolSUSu ( IOobject ( "cloudVolSUSu", runTime.timeName(), mesh ), mesh, dimensionedVector ( "0", cloudSU.dimensions()/dimVolume, Zero ), zeroGradientFvPatchVectorField::typeName ); cloudVolSUSu.primitiveFieldRef() = -cloudSU.source()/mesh.V(); cloudVolSUSu.correctBoundaryConditions(); cloudSU.source() = Zero; // --- Pressure-velocity PIMPLE corrector loop while (pimple.loop()) { #include "UcEqn.H" // --- PISO loop while (pimple.correct()) { #include "pEqn.H" } if (pimple.turbCorr()) { continuousPhaseTurbulence->correct(); } } runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; } Info<< "End\n" << endl; return 0; }