fvOptions: The "<type>Coeffs" sub-dictionary is now optional

For example the actuationDiskSource fvOption may now be specified

disk1
{
    type            actuationDiskSource;

    fields      (U);

    selectionMode   cellSet;
    cellSet         actuationDisk1;
    diskDir         (1 0 0);    // Orientation of the disk
    Cp              0.386;
    Ct              0.58;
    diskArea        40;
    upstreamPoint   (581849 4785810 1065);
}

rather than

disk1
{
    type            actuationDiskSource;
    active          on;

    actuationDiskSourceCoeffs
    {
        fields      (U);

        selectionMode   cellSet;
        cellSet         actuationDisk1;
        diskDir         (1 0 0);    // Orientation of the disk
        Cp              0.386;
        Ct              0.58;
        diskArea        40;
        upstreamPoint   (581849 4785810 1065);
    }
}

but this form is supported for backward compatibility.
This commit is contained in:
Henry Weller
2017-04-13 13:30:17 +01:00
parent e9ba8242ca
commit 8b55ea4fb1
39 changed files with 383 additions and 529 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -52,7 +52,12 @@ Foam::fv::option::option
modelType_(modelType), modelType_(modelType),
mesh_(mesh), mesh_(mesh),
dict_(dict), dict_(dict),
coeffs_(dict.subDict(modelType + "Coeffs")), coeffs_
(
dict.found(modelType + "Coeffs")
? dict.subDict(modelType + "Coeffs")
: dict
),
active_(dict_.lookupOrDefault<Switch>("active", true)), active_(dict_.lookupOrDefault<Switch>("active", true)),
fieldNames_(), fieldNames_(),
applied_() applied_()
@ -75,6 +80,13 @@ Foam::autoPtr<Foam::fv::option> Foam::fv::option::New
Info<< indent Info<< indent
<< "Selecting finite volume options model type " << modelType << endl; << "Selecting finite volume options model type " << modelType << endl;
const_cast<Time&>(mesh.time()).libs().open
(
coeffs,
"libs",
dictionaryConstructorTablePtr_
);
dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(modelType); dictionaryConstructorTablePtr_->find(modelType);

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -53,7 +53,15 @@ void Foam::fv::option::writeData(Ostream& os) const
bool Foam::fv::option::read(const dictionary& dict) bool Foam::fv::option::read(const dictionary& dict)
{ {
dict.readIfPresent("active", active_); dict.readIfPresent("active", active_);
coeffs_ = dict.subDict(modelType_ + "Coeffs");
if (dict.found(modelType_ + "Coeffs"))
{
coeffs_ = dict.subDict(modelType_ + "Coeffs");
}
else
{
coeffs_ = dict;
}
return true; return true;
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,15 +31,12 @@ Description
type scalarExplicitSource // Source type type scalarExplicitSource // Source type
active on; // on/off switch active on; // on/off switch
scalarExplicitSourceCoeffs timeStart 0.0; // Start time
{ duration 1000.0; // Duration
timeStart 0.0; // Start time selectionMode cellSet; // cellSet, points, cellZone
duration 1000.0; // Duration .
selectionMode cellSet; // cellSet, points, cellZone .
. .
.
.
}
\endverbatim \endverbatim
Note Note

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2012-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -34,16 +34,13 @@ Usage
type fixedTemperatureConstraint; type fixedTemperatureConstraint;
active yes; active yes;
fixedTemperatureConstraintCoeffs mode uniform; // uniform or lookup
{
mode uniform; // uniform or lookup
// For uniform option // For uniform option
temperature constant 500; // fixed temperature with time [K] temperature constant 500; // fixed temperature with time [K]
// For lookup option // For lookup option
// T <Tname>; // optional temperature field name // T <Tname>; // optional temperature field name
}
} }
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2016-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -35,15 +35,12 @@ Usage
type scalarFixedValueConstraint; type scalarFixedValueConstraint;
active yes; active yes;
scalarFixedValueConstraintCoeffs selectionMode cellZone;
cellZone porosity;
fieldValues
{ {
selectionMode cellZone; k 1;
cellZone porosity; epsilon 150;
fieldValues
{
k 1;
epsilon 150;
}
} }
} }
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2012-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -36,12 +36,9 @@ Usage
type limitTemperature; type limitTemperature;
active yes; active yes;
limitTemperatureCoeffs selectionMode all;
{ min 200;
selectionMode all; max 500;
min 200;
max 500;
}
} }
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2016-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -35,11 +35,8 @@ Usage
type limitVelocity; type limitVelocity;
active yes; active yes;
limitVelocityCoeffs selectionMode all;
{ max 100;
selectionMode all;
max 100;
}
} }
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -47,15 +47,12 @@ Description
Usage Usage
Example usage: Example usage:
\verbatim \verbatim
actuationDiskSourceCoeffs fields (U); // names of fields to apply source
{ diskDir (-1 0 0); // disk direction
fields (U); // names of fields to apply source Cp 0.1; // power coefficient
diskDir (-1 0 0); // disk direction Ct 0.5; // thrust coefficient
Cp 0.1; // power coefficient diskArea 5.0; // disk area
Ct 0.5; // thrust coefficient upstreamPoint (0 0 0); // upstream point
diskArea 5.0; // disk area
upstreamPoint (0 0 0); // upstream point
}
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,10 +31,7 @@ Description
Usage Usage
Example usage: Example usage:
\verbatim \verbatim
buoyancyEnergyCoeffs fields (h); // Name of energy field
{
fields (h); // Name of energy field
}
\endverbatim \endverbatim
SourceFiles SourceFiles

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,10 +31,7 @@ Description
Usage Usage
Example usage: Example usage:
\verbatim \verbatim
buoyancyForceCoeffs fields (U); // Name of velocity field
{
fields (U); // Name of velocity field
}
\endverbatim \endverbatim
SourceFiles SourceFiles

View File

@ -67,18 +67,15 @@ Usage
type effectivenessHeatExchangerSource; type effectivenessHeatExchangerSource;
active yes; active yes;
effectivenessHeatExchangerSourceCoeffs selectionMode cellZone;
{ cellZone porosity;
selectionMode cellZone;
cellZone porosity;
secondaryMassFlowRate 1.0; secondaryMassFlowRate 1.0;
secondaryInletT 336; secondaryInletT 336;
primaryInletT 293; primaryInletT 293;
faceZone facesZoneInletOriented; faceZone facesZoneInletOriented;
outOfBounds clamp; outOfBounds clamp;
fileName "effTable"; fileName "effTable";
}
} }
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -33,13 +33,10 @@ Description
Usage Usage
Example usage: Example usage:
\verbatim \verbatim
meanVelocityForceCoeffs selectionMode all; // Apply force to all cells
{ fields (U); // Name of velocity field
selectionMode all; // Apply force to all cells Ubar (10.0 0 0); // Desired mean velocity
fields (U); // Name of velocity field relaxation 0.2; // Optional relaxation factor
Ubar (10.0 0 0); // Desired mean velocity
relaxation 0.2; // Optional relaxation factor
}
\endverbatim \endverbatim
SourceFiles SourceFiles

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -33,14 +33,11 @@ Description
Usage Usage
Example usage: Example usage:
\verbatim \verbatim
patchMeanVelocityForceCoeffs selectionMode all; // Apply force to all cells
{ fields (U); // Name of velocity field
selectionMode all; // Apply force to all cells patch inlet; // Name of the patch
fields (U); // Name of velocity field Ubar (10.0 0 0); // Desired mean velocity
patch inlet; // Name of the patch relaxation 0.2; // Optional relaxation factor
Ubar (10.0 0 0); // Desired mean velocity
relaxation 0.2; // Optional relaxation factor
}
\endverbatim \endverbatim
SourceFiles SourceFiles

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -53,16 +53,13 @@ Description
Usage Usage
Example usage: Example usage:
\verbatim \verbatim
actuationDiskSourceCoeffs fieldName U; // name of field to apply source
{ diskDir (-1 0 0); // disk direction
fieldName U; // name of field to apply source Cp 0.1; // power coefficient
diskDir (-1 0 0); // disk direction Ct 0.5; // thrust coefficient
Cp 0.1; // power coefficient diskArea 5.0; // disk area
Ct 0.5; // thrust coefficient coeffs (0.1 0.5 0.01); // radial distribution coefficients
diskArea 5.0; // disk area upstreamPoint (0 0 0); // upstream point
coeffs (0.1 0.5 0.01); // radial distribution coefficients
upstreamPoint (0 0 0); // upstream point
}
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -33,8 +33,6 @@ Description
Usage Usage
Example usage: Example usage:
\verbatim \verbatim
rotorDiskSourceCoeffs
{
fields (U); // names of fields on which to apply source fields (U); // names of fields on which to apply source
nBlades 3; // number of blades nBlades 3; // number of blades
tipEffect 0.96; // normalised radius above which lift = 0 tipEffect 0.96; // normalised radius above which lift = 0
@ -73,7 +71,6 @@ Usage
... ...
} }
} }
}
\endverbatim \endverbatim
Where: Where:

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -243,7 +243,7 @@ Foam::fv::solidificationMeltingSource::solidificationMeltingSource
} }
} }
applied_.setSize(2, false); applied_.setSize(fieldNames_.size(), false);
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -53,17 +53,14 @@ Usage
type solidificationMeltingSource; type solidificationMeltingSource;
active yes; active yes;
solidificationMeltingSourceCoeffs selectionMode cellZone;
{ cellZone iceZone;
selectionMode cellZone;
cellZone iceZone;
Tmelt 273; Tmelt 273;
L 334000; L 334000;
thermoMode thermo; thermoMode thermo;
beta 50e-6; beta 50e-6;
rhoRef 800; rhoRef 800;
}
} }
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -35,10 +35,7 @@ Usage
type tabulatedAccelerationSource; type tabulatedAccelerationSource;
active yes; active yes;
tabulatedAccelerationSourceCoeffs timeDataFileName "constant/acceleration-terms.dat";
{
timeDataFileName "constant/acceleration-terms.dat";
}
} }
\endverbatim \endverbatim

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -42,14 +42,11 @@ Description
Example of the source specification: Example of the source specification:
\verbatim \verbatim
<Type>SemiImplicitSourceCoeffs volumeMode absolute; // specific
injectionRateSuSp
{ {
volumeMode absolute; // specific k (30.7 0);
injectionRateSuSp epsilon (1.5 0);
{
k (30.7 0);
epsilon (1.5 0);
}
} }
\endverbatim \endverbatim

View File

@ -18,7 +18,6 @@ FoamFile
porosity1 porosity1
{ {
type explicitPorositySource; type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs explicitPorositySourceCoeffs
{ {
@ -27,21 +26,18 @@ porosity1
type DarcyForchheimer; type DarcyForchheimer;
DarcyForchheimerCoeffs d (7e5 -1000 -1000);
{ f (0 0 0);
d (7e5 -1000 -1000);
f (0 0 0);
coordinateSystem coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{ {
type cartesian; type axesRotation;
origin (0 0 0); e1 (0.70710678 0.70710678 0);
coordinateRotation e3 (0 0 1);
{
type axesRotation;
e1 (0.70710678 0.70710678 0);
e3 (0 0 1);
}
} }
} }
} }

View File

@ -18,7 +18,6 @@ FoamFile
porosity1 porosity1
{ {
type explicitPorositySource; type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs explicitPorositySourceCoeffs
{ {
@ -27,21 +26,18 @@ porosity1
type DarcyForchheimer; type DarcyForchheimer;
DarcyForchheimerCoeffs d (5e7 -1000 -1000);
{ f (0 0 0);
d (5e7 -1000 -1000);
f (0 0 0);
coordinateSystem coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{ {
type cartesian; type axesRotation;
origin (0 0 0); e1 (0.70710678 0.70710678 0);
coordinateRotation e2 (0 0 1);
{
type axesRotation;
e1 (0.70710678 0.70710678 0);
e2 (0 0 1);
}
} }
} }
} }

View File

@ -18,7 +18,6 @@ FoamFile
porosity1 porosity1
{ {
type explicitPorositySource; type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs explicitPorositySourceCoeffs
{ {
@ -27,21 +26,18 @@ porosity1
type DarcyForchheimer; type DarcyForchheimer;
DarcyForchheimerCoeffs d (1e5 -1000 -1000);
{ f (0 0 0);
d (1e5 -1000 -1000);
f (0 0 0);
coordinateSystem coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{ {
type cartesian; type axesRotation;
origin (0 0 0); e1 (1 0 0);
coordinateRotation e2 (0 1 0);
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}
} }
} }
} }

View File

@ -18,16 +18,12 @@ FoamFile
source1 source1
{ {
type fixedTemperatureConstraint; type fixedTemperatureConstraint;
active yes;
fixedTemperatureConstraintCoeffs selectionMode cellZone;
{ cellZone porosity;
selectionMode cellZone;
cellZone porosity;
mode uniform; mode uniform;
temperature 350; temperature 350;
}
} }

View File

@ -18,7 +18,6 @@ FoamFile
porosity porosity
{ {
type explicitPorositySource; type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs explicitPorositySourceCoeffs
{ {
@ -53,32 +52,24 @@ porosity
fixedTemperature fixedTemperature
{ {
type fixedTemperatureConstraint; type fixedTemperatureConstraint;
active yes;
fixedTemperatureConstraintCoeffs selectionMode cellZone;
{ cellZone porosity;
selectionMode cellZone; mode uniform;
cellZone porosity; temperature 350;
mode uniform;
temperature 350;
}
} }
porosityTurbulence porosityTurbulence
{ {
type scalarFixedValueConstraint; type scalarFixedValueConstraint;
active yes;
scalarFixedValueConstraintCoeffs selectionMode cellZone;
cellZone porosity;
fieldValues
{ {
selectionMode cellZone; k 1;
cellZone porosity; epsilon 150;
fieldValues
{
k 1;
epsilon 150;
}
} }
} }

View File

@ -18,24 +18,19 @@ FoamFile
airToporous airToporous
{ {
type constantHeatTransfer; type constantHeatTransfer;
active yes;
constantHeatTransferCoeffs interpolationMethod cellVolumeWeight;
{ nbrRegionName porous;
interpolationMethod cellVolumeWeight; master false;
nbrRegionName porous;
master false;
nbrModel porousToair; nbrModel porousToair;
fields (h); fields (h);
semiImplicit no; semiImplicit no;
}
} }
porosityBlockage porosityBlockage
{ {
type interRegionExplicitPorositySource; type interRegionExplicitPorositySource;
active yes;
interRegionExplicitPorositySourceCoeffs interRegionExplicitPorositySourceCoeffs
{ {
@ -44,21 +39,18 @@ porosityBlockage
type DarcyForchheimer; type DarcyForchheimer;
DarcyForchheimerCoeffs d (-1000 -1000 1e4);
{ f (0 0 0);
d (-1000 -1000 1e4);
f (0 0 0);
coordinateSystem coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{ {
type cartesian; type axesRotation;
origin (0 0 0); e1 (0 1 0);
coordinateRotation e2 (0 0 1);
{
type axesRotation;
e1 (0 1 0);
e2 (0 0 1);
}
} }
} }
} }

View File

@ -18,18 +18,14 @@ FoamFile
porousToair porousToair
{ {
type constantHeatTransfer; type constantHeatTransfer;
active yes;
constantHeatTransferCoeffs interpolationMethod cellVolumeWeight;
{ nbrRegionName air;
interpolationMethod cellVolumeWeight; master true;
nbrRegionName air;
master true;
nbrModel airToporous; nbrModel airToporous;
fields (h); fields (h);
semiImplicit no; semiImplicit no;
}
} }

View File

@ -18,15 +18,11 @@ FoamFile
momentumSource momentumSource
{ {
type meanVelocityForce; type meanVelocityForce;
active yes;
meanVelocityForceCoeffs selectionMode all;
{
selectionMode all;
fields (U); fields (U);
Ubar (0.1335 0 0); Ubar (0.1335 0 0);
}
} }

View File

@ -18,19 +18,15 @@ FoamFile
momentumSource momentumSource
{ {
type vectorSemiImplicitSource; type vectorSemiImplicitSource;
active yes;
vectorSemiImplicitSourceCoeffs timeStart 0.0;
duration 1000;
selectionMode all;
volumeMode specific;
injectionRateSuSp
{ {
timeStart 0.0; U ((5 0 0) 0);
duration 1000;
selectionMode all;
volumeMode specific;
injectionRateSuSp
{
U ((5 0 0) 0);
}
} }
} }

View File

@ -50,13 +50,7 @@ IOdictionary fvOptions
) )
); );
const dictionary& gradPDict = const dictionary& gradPDict =
fvOptions.subDict("momentumSource").subDict fvOptions.subDict("momentumSource").subDict("injectionRateSuSp");
(
"vectorSemiImplicitSourceCoeffs"
).subDict
(
"injectionRateSuSp"
);
const scalar K = const scalar K =
Tuple2<vector, scalar>(gradPDict.lookup("U")).first().x(); Tuple2<vector, scalar>(gradPDict.lookup("U")).first().x();

View File

@ -18,7 +18,6 @@ FoamFile
porosity1 porosity1
{ {
type explicitPorositySource; type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs explicitPorositySourceCoeffs
{ {
@ -32,21 +31,18 @@ porosity1
// D 500; // Slight waviness in the far wake // D 500; // Slight waviness in the far wake
D 1000; // Fully shedding behavior D 1000; // Fully shedding behavior
DarcyForchheimerCoeffs d ($D $D $D);
{ f (0 0 0);
d ($D $D $D);
f (0 0 0);
coordinateSystem coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{ {
type cartesian; type axesRotation;
origin (0 0 0); e1 (1 0 0);
coordinateRotation e2 (0 1 0);
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}
} }
} }
} }

View File

@ -17,89 +17,85 @@ FoamFile
disk disk
{ {
type rotorDisk; type rotorDisk;
active on;
rotorDiskCoeffs selectionMode cellZone;
cellZone rotatingZone;
fields (U); // Names of fields on which to apply source
nBlades 3; // Number of blades
tipEffect 0.96; // Normalised radius above which lift = 0
inletFlowType local; // Inlet flow type specification
inletVelocity (0 1 0);
geometryMode specified;
origin (0 0 0);
axis (0 1 0);
refDirection (0 0 1); // Reference direction
// - used as reference for psi angle
rpm 1000;
//pointAbove (0 0 0.25);
trimModel fixedTrim; // fixed || targetForce
rhoRef 1000;
rhoInf 1;
fixedTrimCoeffs
{ {
selectionMode cellZone; theta0 0;
cellZone rotatingZone; theta1c 0;
theta1s 0;
}
fields (U); // Names of fields on which to apply source flapCoeffs
nBlades 3; // Number of blades {
tipEffect 0.96; // Normalised radius above which lift = 0 beta0 0; // Coning angle [deg]
beta1c 0; // Lateral flapping coeff (cos coeff)
beta2s 0; // Longitudinal flapping coeff (sin coeff)
}
inletFlowType local; // Inlet flow type specification blade
inletVelocity (0 1 0); {
data
(
(profile1 (0.1 -6 0.02))
(profile1 (0.25 -6 0.02))
);
}
geometryMode specified; profiles
{
origin (0 0 0); profile1
axis (0 1 0);
refDirection (0 0 1); // Reference direction
// - used as reference for psi angle
rpm 1000;
//pointAbove (0 0 0.25);
trimModel fixedTrim; // fixed || targetForce
rhoRef 1000;
rhoInf 1;
fixedTrimCoeffs
{
theta0 0;
theta1c 0;
theta1s 0;
}
flapCoeffs
{
beta0 0; // Coning angle [deg]
beta1c 0; // Lateral flapping coeff (cos coeff)
beta2s 0; // Longitudinal flapping coeff (sin coeff)
}
blade
{ {
type lookup;
data data
( (
(profile1 (0.1 -6 0.02)) (-90 0.21 1.45)
(profile1 (0.25 -6 0.02)) (-18 0.21 1.45)
(-16 0.165 1.3)
(-14 0.125 1.1)
(-12 0.092 0.95)
(-10 0.07 0.8)
(-8 0.05 0.64)
(-6 0.04 0.5)
(-4 0.028 0.32)
(-2 0.022 0.18)
(0 0.02 0)
(2 0.022 0.18)
(4 0.028 0.32)
(6 0.04 0.5)
(8 0.05 0.64)
(10 0.07 0.8)
(12 0.092 0.95)
(14 0.125 1.1)
(16 0.165 1.3)
(18 0.21 1.45)
(90 0.21 1.45)
); );
} }
profiles
{
profile1
{
type lookup;
data
(
(-90 0.21 1.45)
(-18 0.21 1.45)
(-16 0.165 1.3)
(-14 0.125 1.1)
(-12 0.092 0.95)
(-10 0.07 0.8)
(-8 0.05 0.64)
(-6 0.04 0.5)
(-4 0.028 0.32)
(-2 0.022 0.18)
(0 0.02 0)
(2 0.022 0.18)
(4 0.028 0.32)
(6 0.04 0.5)
(8 0.05 0.64)
(10 0.07 0.8)
(12 0.092 0.95)
(14 0.125 1.1)
(16 0.165 1.3)
(18 0.21 1.45)
(90 0.21 1.45)
);
}
}
} }
} }

View File

@ -18,39 +18,31 @@ FoamFile
disk1 disk1
{ {
type actuationDiskSource; type actuationDiskSource;
active on;
actuationDiskSourceCoeffs fields (U);
{
fields (U);
selectionMode cellSet; selectionMode cellSet;
cellSet actuationDisk1; cellSet actuationDisk1;
diskDir (1 0 0); // Orientation of the disk diskDir (1 0 0); // Orientation of the disk
Cp 0.386; Cp 0.386;
Ct 0.58; Ct 0.58;
diskArea 40; diskArea 40;
upstreamPoint (581849 4785810 1065); upstreamPoint (581849 4785810 1065);
}
} }
disk2 disk2
{ {
type actuationDiskSource; type actuationDiskSource;
active on;
actuationDiskSourceCoeffs fields (U);
{
fields (U);
selectionMode cellSet; selectionMode cellSet;
cellSet actuationDisk2; cellSet actuationDisk2;
diskDir (1 0 0); // Orientation of the disk diskDir (1 0 0); // Orientation of the disk
Cp 0.53; Cp 0.53;
Ct 0.58; Ct 0.58;
diskArea 40; diskArea 40;
upstreamPoint (581753 4785663 1070); upstreamPoint (581753 4785663 1070);
}
} }

View File

@ -18,18 +18,14 @@ FoamFile
source1 source1
{ {
type fixedTemperatureConstraint; type fixedTemperatureConstraint;
active yes;
fixedTemperatureConstraintCoeffs timeStart 0.1;
{ duration 0.4;
timeStart 0.1; selectionMode cellSet;
duration 0.4; cellSet ignitionCells;
selectionMode cellSet;
cellSet ignitionCells;
mode uniform; mode uniform;
temperature 2000; temperature 2000;
}
} }

View File

@ -18,7 +18,6 @@ FoamFile
filter1 filter1
{ {
type explicitPorositySource; type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs explicitPorositySourceCoeffs
{ {
@ -27,21 +26,18 @@ filter1
type DarcyForchheimer; type DarcyForchheimer;
DarcyForchheimerCoeffs d (500000 -1000 -1000);
{ f (0 0 0);
d (500000 -1000 -1000);
f (0 0 0);
coordinateSystem coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{ {
type cartesian; type axesRotation;
origin (0 0 0); e1 (1 0 0);
coordinateRotation e2 (0 1 0);
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}
} }
} }
} }
@ -51,24 +47,20 @@ filter1
massSource1 massSource1
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
active yes;
scalarSemiImplicitSourceCoeffs timeStart 0.2;
duration 2.0;
selectionMode points;
points
(
(2.75 0.5 0)
);
volumeMode absolute;
injectionRateSuSp
{ {
timeStart 0.2; rho (1e-4 0); // kg/s
duration 2.0; H2O (1e-4 0); // kg/s
selectionMode points;
points
(
(2.75 0.5 0)
);
volumeMode absolute;
injectionRateSuSp
{
rho (1e-4 0); // kg/s
H2O (1e-4 0); // kg/s
}
} }
} }
@ -76,23 +68,19 @@ massSource1
momentumSource1 momentumSource1
{ {
type vectorSemiImplicitSource; type vectorSemiImplicitSource;
active yes;
vectorSemiImplicitSourceCoeffs timeStart 0.2;
duration 2.0;
selectionMode points;
points
(
(2.75 0.5 0)
);
volumeMode absolute;
injectionRateSuSp
{ {
timeStart 0.2; U ((0 0.005 0) 0);
duration 2.0;
selectionMode points;
points
(
(2.75 0.5 0)
);
volumeMode absolute;
injectionRateSuSp
{
U ((0 0.005 0) 0);
}
} }
} }
@ -100,23 +88,19 @@ momentumSource1
energySource1 energySource1
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
active yes;
scalarSemiImplicitSourceCoeffs timeStart 0.2;
duration 2.0;
selectionMode points;
points
(
(2.75 0.5 0)
);
volumeMode absolute;
injectionRateSuSp
{ {
timeStart 0.2; h (10 0);
duration 2.0;
selectionMode points;
points
(
(2.75 0.5 0)
);
volumeMode absolute;
injectionRateSuSp
{
h (10 0);
}
} }
} }

View File

@ -18,7 +18,6 @@ FoamFile
porosity1 porosity1
{ {
type explicitPorositySource; type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs explicitPorositySourceCoeffs
{ {
@ -27,21 +26,18 @@ porosity1
type DarcyForchheimer; type DarcyForchheimer;
DarcyForchheimerCoeffs d (2e8 -1000 -1000);
{ f (0 0 0);
d (2e8 -1000 -1000);
f (0 0 0);
coordinateSystem coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{ {
type cartesian; type axesRotation;
origin (0 0 0); e1 (0.70710678 0.70710678 0);
coordinateRotation e2 (0 0 1);
{
type axesRotation;
e1 (0.70710678 0.70710678 0);
e2 (0 0 1);
}
} }
} }
} }

View File

@ -32,15 +32,12 @@ options
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
scalarSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
thermo:rho.air (1e-3 0); // kg/s thermo:rho.air (1e-3 0); // kg/s
}
} }
} }
@ -48,15 +45,12 @@ options
{ {
type vectorSemiImplicitSource; type vectorSemiImplicitSource;
vectorSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
U.air ((0 -1e-2 0) 0); // kg*m/s^2 U.air ((0 -1e-2 0) 0); // kg*m/s^2
}
} }
} }
@ -64,15 +58,12 @@ options
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
scalarSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
e.air (500 0); // kg*m^2/s^3 e.air (500 0); // kg*m^2/s^3
}
} }
} }
} }

View File

@ -32,15 +32,12 @@ options
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
scalarSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
thermo:rho.steam (1.0e-3 0); // kg/s thermo:rho.steam (1.0e-3 0); // kg/s
}
} }
} }
@ -48,15 +45,12 @@ options
{ {
type vectorSemiImplicitSource; type vectorSemiImplicitSource;
vectorSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
U.steam ((0 1e-1 0) 0); // kg*m/s^2 U.steam ((0 1e-1 0) 0); // kg*m/s^2
}
} }
} }
@ -64,15 +58,12 @@ options
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
scalarSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
h.steam (3700 0); // kg*m^2/s^3 h.steam (3700 0); // kg*m^2/s^3
}
} }
} }
} }

View File

@ -32,15 +32,12 @@ options
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
scalarSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
thermo:rho.air (1e-3 0); // kg/s thermo:rho.air (1e-3 0); // kg/s
}
} }
} }
@ -48,15 +45,12 @@ options
{ {
type vectorSemiImplicitSource; type vectorSemiImplicitSource;
vectorSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
U.air ((0 -1e-2 0) 0); // kg*m/s^2 U.air ((0 -1e-2 0) 0); // kg*m/s^2
}
} }
} }
@ -64,15 +58,12 @@ options
{ {
type scalarSemiImplicitSource; type scalarSemiImplicitSource;
scalarSemiImplicitSourceCoeffs $injector1;
{
$injector1;
volumeMode absolute; volumeMode absolute;
injectionRateSuSp injectionRateSuSp
{ {
e.air (500 0); // kg*m^2/s^3 e.air (500 0); // kg*m^2/s^3
}
} }
} }
} }