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 24b7901d09
commit e3c67dc111
39 changed files with 383 additions and 529 deletions

View File

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

View File

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

View File

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

View File

@ -18,7 +18,6 @@ FoamFile
porosity1
{
type explicitPorositySource;
active yes;
explicitPorositySourceCoeffs
{
@ -32,21 +31,18 @@ porosity1
// D 500; // Slight waviness in the far wake
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;
origin (0 0 0);
coordinateRotation
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}
}
}

View File

@ -17,89 +17,85 @@ FoamFile
disk
{
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;
cellZone rotatingZone;
theta0 0;
theta1c 0;
theta1s 0;
}
fields (U); // Names of fields on which to apply source
nBlades 3; // Number of blades
tipEffect 0.96; // Normalised radius above which lift = 0
flapCoeffs
{
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
inletVelocity (0 1 0);
blade
{
data
(
(profile1 (0.1 -6 0.02))
(profile1 (0.25 -6 0.02))
);
}
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
{
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
profiles
{
profile1
{
type lookup;
data
(
(profile1 (0.1 -6 0.02))
(profile1 (0.25 -6 0.02))
(-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)
);
}
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
{
type actuationDiskSource;
active on;
actuationDiskSourceCoeffs
{
fields (U);
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);
}
selectionMode cellSet;
cellSet actuationDisk1;
diskDir (1 0 0); // Orientation of the disk
Cp 0.386;
Ct 0.58;
diskArea 40;
upstreamPoint (581849 4785810 1065);
}
disk2
{
type actuationDiskSource;
active on;
actuationDiskSourceCoeffs
{
fields (U);
fields (U);
selectionMode cellSet;
cellSet actuationDisk2;
diskDir (1 0 0); // Orientation of the disk
Cp 0.53;
Ct 0.58;
diskArea 40;
upstreamPoint (581753 4785663 1070);
}
selectionMode cellSet;
cellSet actuationDisk2;
diskDir (1 0 0); // Orientation of the disk
Cp 0.53;
Ct 0.58;
diskArea 40;
upstreamPoint (581753 4785663 1070);
}