OF-POSTECH-1/solvers_post/LagrangianCMCSprayFoam/Flamegroup_old.H

70 lines
1.8 KiB
C

PtrList<volScalarField> Fsource(nf); //spray source term fields for an each flame group
for(label k = 0 ; k < nf ; k++)
{
word Fsourcek = "Fsource_"+Foam::name(k);
Fsource.set (k,
new volScalarField
(
IOobject
(
Fsourcek,
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedScalar("Fsource", dimless, 0.0)
)
);
}
if(nf > 1)
{
scalar groupTemp = group; // To check change of flame group
for(label k = 0; k<nf-1 ; k++)
{
if(runTime.value() > InitializationTime[k])
{
group = k+1;
}
}
if(groupTemp != group)
{
Need_Re_init = true;
}
}
Info<<"Now, evaporation source term is added to flame group = "<<group<<endl;
Fsource[group] = Sevap;
for (label k=0; k<=group ; k++)
{
volScalarField Fk = F[k];
volScalarField& Fsourcek = Fsource[k];
solve
(
fvm::ddt(rho,Fk)
//+ fvm::div(phi,Fk)
+ mvConvection->fvmDiv(phi, Fk)
//+ fvm::div(phi, Fk, "div(phi,Fk)")
- fvm::laplacian(1.47*turbulence->mut(), Fk) //let 1/Sc = 1.47
//- fvm::laplacian(1.47*turbulence->muEff(), Fk) //let 1/Sc = 1.47
==
Fsourcek
,mesh.solver("Fk")//define matrix solver for F[i] at fvSolution
);
F[k] = Fk;
}
F_total = 0.0;
for(label k = 0 ; k < nf ; k++)
{
F_total += F[k];
}