Optional CPU load caching can be switched-on for Lagrangian cloud tracking
and/or chemistry integration using the new cpuLoad switch in the cloudProperties
or chemistryProperties dictionary files respectively and used for
multi-constraint load-balancing by the fvMeshDistributorsLoadBalancer specified
in the dynamicMeshDict file
distributor
{
type loadBalancer;
libs ("libfvMeshDistributors.so");
multiConstraint true;
redistributionInterval 10;
}
which used the distributor specified in the decomposeParDict file, e.g.
numberOfSubdomains 12;
decomposer simple;
distributor zoltan;
libs ("libzoltanDecomp.so");
simpleCoeffs
{
n (2 2 3);
}
zoltanCoeffs
{
lb_method rcb;
}
The incompressibleDenseParticleFluid/cyclone case has been updated to
demonstrate this new functionality and shows a speedup ~50% using the Zoltan RCB
multi-constraint distributor. The multicomponentFluid/counterFlowFlame2D_GRI
case has also been updated to use the new cpuLoad switch.
185 lines
3.5 KiB
C++
185 lines
3.5 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: dev
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
format ascii;
|
|
class dictionary;
|
|
location "constant";
|
|
object cloudProperties;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
type MPPICCloud;
|
|
|
|
cpuLoad true;
|
|
|
|
solution
|
|
{
|
|
coupled true;
|
|
transient yes;
|
|
cellValueSourceCorrection off;
|
|
|
|
maxCo 1.0;
|
|
|
|
interpolationSchemes
|
|
{
|
|
rho.air cell;
|
|
U.air cellPoint;
|
|
mu.air cell;
|
|
alpha.air cell;
|
|
}
|
|
|
|
averagingMethod dual;
|
|
|
|
integrationSchemes
|
|
{
|
|
U Euler;
|
|
}
|
|
|
|
sourceTerms
|
|
{
|
|
schemes
|
|
{
|
|
U semiImplicit 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
constantProperties
|
|
{
|
|
rho0 1000;
|
|
}
|
|
|
|
subModels
|
|
{
|
|
particleForces
|
|
{
|
|
ErgunWenYuDrag
|
|
{
|
|
alphac alpha.air;
|
|
}
|
|
gravity;
|
|
}
|
|
|
|
injectionModels
|
|
{
|
|
model1
|
|
{
|
|
type patchInjection;
|
|
massFlowRate 10;
|
|
SOI 1;
|
|
uniformParcelSize volume;
|
|
patchName inlet;
|
|
duration 4;
|
|
parcelsPerSecond 100644;
|
|
U0 (-10 0 0);
|
|
flowRateProfile constant 1;
|
|
sizeDistribution
|
|
{
|
|
type normal;
|
|
Q 3;
|
|
min 20e-6;
|
|
max 180e-6;
|
|
mu 100e-6;
|
|
sigma 25e-6;
|
|
}
|
|
}
|
|
}
|
|
|
|
dispersionModel none;
|
|
|
|
patchInteractionModel localInteraction;
|
|
|
|
localInteractionCoeffs
|
|
{
|
|
patches
|
|
(
|
|
walls
|
|
{
|
|
type rebound;
|
|
e 0.97;
|
|
mu 0.09;
|
|
}
|
|
inlet
|
|
{
|
|
type rebound;
|
|
e 0.97;
|
|
mu 0.09;
|
|
}
|
|
outlet
|
|
{
|
|
type escape;
|
|
}
|
|
);
|
|
}
|
|
|
|
heatTransferModel none;
|
|
|
|
surfaceFilmModel none;
|
|
|
|
packingModel implicit;
|
|
|
|
explicitCoeffs
|
|
{
|
|
particleStressModel
|
|
{
|
|
type HarrisCrighton;
|
|
alphaPacked 0.6;
|
|
pSolid 10.0;
|
|
beta 2.0;
|
|
eps 1.0e-7;
|
|
}
|
|
correctionLimitingMethod
|
|
{
|
|
type absolute;
|
|
e 0.9;
|
|
}
|
|
}
|
|
|
|
implicitCoeffs
|
|
{
|
|
alphaMin 0.0001;
|
|
rhoMin 1.0;
|
|
applyLimiting true;
|
|
applyGravity false;
|
|
particleStressModel
|
|
{
|
|
type HarrisCrighton;
|
|
alphaPacked 0.6;
|
|
pSolid 5.0;
|
|
beta 2.0;
|
|
eps 1.0e-2;
|
|
}
|
|
}
|
|
|
|
dampingModel none;
|
|
|
|
isotropyModel stochastic;
|
|
|
|
stochasticCoeffs
|
|
{
|
|
timeScaleModel
|
|
{
|
|
type isotropic;
|
|
alphaPacked 0.6;
|
|
e 0.9;
|
|
}
|
|
}
|
|
|
|
stochasticCollisionModel none;
|
|
|
|
radiation off;
|
|
}
|
|
|
|
|
|
cloudFunctions
|
|
{}
|
|
|
|
|
|
// ************************************************************************* //
|