fvOptions: Added massSource option

This fvOption applies a mass source to the continuity equation and to
all field equations.

Example usage:

    massSource
    {
        type            massSource;

        selectionMode   cellSet;
        cellSet         massSource;

        massFlowRate    1e-4;

        fieldValues
        {
            U               (10 0 0);
            T               350;
            k               0.375;
            epsilon         14.855;
        }
    }

Values should be provided for all solved for fields. Warnings will be
issued if values are not provided for fields for which transport equations
are solved. Warnings will also be issued if values are provided for fields
which are not solved for.
This commit is contained in:
Will Bainbridge
2021-02-05 13:47:07 +00:00
parent 07f5080f2e
commit 69e98dc28d
6 changed files with 785 additions and 50 deletions

View File

@ -19,26 +19,21 @@ options
{
massSource
{
type semiImplicitSource;
timeStart 0;
duration 1e6;
type massSource;
selectionMode points;
points
(
(0.075 0.925 0.05)
);
points ((0.075 0.925 0.05));
volumeMode absolute;
sources
massFlowRate 1;
phase water;
rho thermo:rho.water;
fieldValues
{
thermo:rho.water
{
explicit 1; // kg/s
implicit 0;
}
U.water (0 0 0);
}
}
}

View File

@ -19,7 +19,7 @@ options
{
massSource
{
type semiImplicitSource;
type massSource;
timeStart 0.1;
duration 5;
@ -32,25 +32,22 @@ options
volumeMode absolute;
sources
phase air;
rho thermo:rho.air;
massFlowRate
{
thermo:rho.air
{
explicit 1e-3; // kg/s
implicit 0;
}
type scale;
scale squarePulse;
start 0.1;
duration 5;
value 1e-3;
}
U.air
{
explicit (0 -1e-2 0); // kg*m/s^2
implicit 0;
}
e.air
{
explicit 500; // kg*m^2/s^3
implicit 0;
}
fieldValues
{
U.air (0 -10 0);
T.air 300;
}
}
}

View File

@ -19,7 +19,7 @@ options
{
massSource
{
type semiImplicitSource;
type massSource;
timeStart 1;
duration 500;
@ -32,25 +32,22 @@ options
volumeMode absolute;
sources
phase steam;
rho thermo:rho.steam;
massFlowRate
{
thermo:rho.steam
{
explicit 1.0e-3; // kg/s
implicit 0;
}
type scale;
scale squarePulse;
start 1;
duration 1e6;
value 1e-3;
}
U.steam
{
explicit (0 1e-1 0); // kg*m/s^2
implicit 0;
}
h.steam
{
explicit 3700; // kg*m^2/s^3
implicit 0;
}
fieldValues
{
U.steam (0 10 0);
h.steam 3700000;
}
}