fvOptions: Separate options for all cells, cellSets and inter-region coupling

by introducing rational base-classes rather than using the hideous
'switch' statement.  Further rationalization of the cell-selection
mechanism will be implemented via an appropriate class hierarchy to
replace the remaining 'switch' statement.

Mesh-motion is currently handled very inefficiently for cellSets and not
at all for inter-region coupling.  The former will be improved when the
cell-selection classes are written and the latter by making the
meshToMesh class a MeshObject after it has been corrected for mapFields.
This commit is contained in:
Henry
2015-05-31 16:38:01 +01:00
parent c3ee2348a6
commit 3a004fda10
75 changed files with 1647 additions and 1068 deletions

View File

@ -18,12 +18,13 @@ FoamFile
porosity1
{
type explicitPorositySource;
active true;
selectionMode cellZone;
cellZone porosity;
active yes;
explicitPorositySourceCoeffs
{
selectionMode cellZone;
cellZone porosity;
type DarcyForchheimer;
DarcyForchheimerCoeffs

View File

@ -22,13 +22,8 @@ boundaryField
{
outlet
{
type totalPressure;
p0 $internalField;
U U.air;
phi phi.air;
rho thermo:rho.air;
psi none;
gamma 1;
type prghPressure;
p $internalField;
value $internalField;
}

View File

@ -17,8 +17,7 @@ FoamFile
injector1
{
active true;
timeStart 0;
timeStart 0.1;
duration 5;
selectionMode points;
points
@ -32,10 +31,11 @@ options
massSource1
{
type scalarSemiImplicitSource;
$injector1;
scalarSemiImplicitSourceCoeffs
{
$injector1;
volumeMode absolute;
injectionRateSuSp
{
@ -47,10 +47,11 @@ options
momentumSource1
{
type vectorSemiImplicitSource;
$injector1;
vectorSemiImplicitSourceCoeffs
{
$injector1;
volumeMode absolute;
injectionRateSuSp
{
@ -62,10 +63,11 @@ options
energySource1
{
type scalarSemiImplicitSource;
$injector1;
scalarSemiImplicitSourceCoeffs
{
$injector1;
volumeMode absolute;
injectionRateSuSp
{