CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

OODLES MOVING MESH

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 8, 2007, 22:41
Default Dear Forum, I created a new
  #1
Member
 
Alessandro Spadoni
Join Date: Mar 2009
Location: Atlanta, GA
Posts: 65
Rep Power: 17
gtg627e is on a distinguished road
Dear Forum,

I created a new solver which includes oodles (incompressible LES solver) and moving mesh capabilities. I am currently running some simulations to valid oodlesDyMFoam, and everything seems to behave properly. I am going to check that no mass is produced at the boundaries, that the new solver is free-stream capturing, etc.

I was wondering if anybody could tell me if the following calls are acceptable:

Application
oodlesDyMFoam

Description
Incompressible LES solver with moving-mesh capabilities (dynamic mesh).

\*---------------------------------------------------------------------------*/

#include "fvCFD.H"
#include "dynamicFvMesh.H"
#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
#include "incompressible/transportModel/transportModel.H"
#include "incompressible/LESmodel/LESmodel.H"
#include "IFstream.H"
#include "OFstream.H"
#include "Random.H"

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

int main(int argc, char *argv[])
{

# include "setRootCase.H"
# include "createTime.H"
//# include "createMeshNoClear.H"
# include "createDynamicFvMesh.H"
# include "createFields.H"
# include "createAverages.H"
# include "initContinuityErrs.H"


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

Info<< "\nStarting time loop\n" << endl;

for (runTime++; !runTime.end(); runTime++)
{
Info<< "Time = " << runTime.timeName() << nl << endl;

# include "readPISOControls.H"
# include "CourantNo.H"

//------------ MOVING-MESH COMMANDS ---------------------//

// Make the fluxes absolute
fvc::makeAbsolute(phi, U);

//# include "setDeltaT.H"

// runTime++;

// Info<< "Time = " << runTime.timeName() << nl << endl;

bool meshChanged = mesh.update();

if (mesh.moving() || meshChanged)
{
# include "correctPhi.H"
}

// Make the fluxes relative to the mesh motion
fvc::makeRelative(phi, U);

//-----------------------------------------------------//


sgsModel->correct();

fvVectorMatrix UEqn
(
fvm::ddt(U)
+ fvm::div(phi, U)
+ sgsModel->divB(U)
);

if (momentumPredictor)
{
solve(UEqn == -fvc::grad(p));
}


// --- PISO loop

for (int corr=0; corr<nCorr; corr++)
{
volScalarField rUA = 1.0/UEqn.A();

U = rUA*UEqn.H();
phi = (fvc::interpolate(U) & mesh.Sf())
+ fvc::ddtPhiCorr(rUA, U, phi);

adjustPhi(phi, U, p);

for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
{
fvScalarMatrix pEqn
(
fvm::laplacian(rUA, p) == fvc::div(phi)
);

pEqn.setReference(pRefCell, pRefValue);

if (corr == nCorr-1 && nonOrth == nNonOrthCorr)
{
pEqn.solve(mesh.solver(p.name() + "Final"));
}
else
{
pEqn.solve(mesh.solver(p.name()));
}

if (nonOrth == nNonOrthCorr)
{
phi -= pEqn.flux();
}
}

# include "continuityErrs.H"

U -= rUA*fvc::grad(p);
U.correctBoundaryConditions();
}


# include "calculateAverages.H"

runTime.write();

# include "writeNaveragingSteps.H"

Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
<< nl << endl;
}

Info<< "End\n" << endl;

return(0);
}


// ************************************************** *********************** //

I copied the calls to the mesh solver dynamicFvMesh (finite volume solver), and I would like to make sure that they are called correctly in the above solver.

Thank you in advance,

Alessandro Spadoni
gtg627e is offline   Reply With Quote

Old   October 9, 2007, 05:01
Default Hi, Alessandro! I'd like to
  #2
Member
 
Paul Mauk
Join Date: Mar 2009
Posts: 39
Rep Power: 17
plmauk is on a distinguished road
Hi, Alessandro!

I'd like to test your new solver too.
For the case, I have to solve, it seem to be
right solver.
plmauk is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Coefficienct in the oodles loneboard OpenFOAM Running, Solving & CFD 4 March 12, 2009 21:18
Moving Reference frame - UDF - Moving mesh modisa FLUENT 0 April 18, 2008 13:31
Oodles and more r2d2 OpenFOAM Running, Solving & CFD 10 September 23, 2007 01:54
Parallel oodles sriharsha OpenFOAM Running, Solving & CFD 8 January 3, 2007 11:29
Parallel oodles sriharsha OpenFOAM Running, Solving & CFD 0 December 27, 2006 17:25


All times are GMT -4. The time now is 12:53.