ENH: Documentation updates

This commit is contained in:
andy
2013-02-26 15:55:44 +00:00
parent 95cb3a268f
commit fe20510296
8 changed files with 234 additions and 201 deletions

View File

@ -8,10 +8,10 @@
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the under the terms of the GNU General Public License as published by
Free Software Foundation; either version 3 of the License, or (at your the Free Software Foundation, either version 3 of the License, or
option) any later version. (at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@ -19,8 +19,7 @@ License
for more details. for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation, along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class Class
Foam::fv::MRFSource Foam::fv::MRFSource
@ -28,14 +27,18 @@ Class
Description Description
Multiple Reference Frame (MRF) source Multiple Reference Frame (MRF) source
Example usage: \heading Source usage
Example usage:
\verbatim
MRFSourceCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega 104.72;
}
\endverbatim
MRFSourceCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega 104.72;
}
SourceFiles SourceFiles
MRFSource.C MRFSource.C

View File

@ -8,10 +8,10 @@
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the under the terms of the GNU General Public License as published by
Free Software Foundation; either version 3 of the License, or (at your the Free Software Foundation, either version 3 of the License, or
option) any later version. (at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@ -19,8 +19,7 @@ License
for more details. for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation, along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class Class
Foam::fv::actuationDiskSource Foam::fv::actuationDiskSource
@ -29,27 +28,36 @@ Description
Actuation disk source Actuation disk source
Constant values for momentum source for actuation disk Constant values for momentum source for actuation disk
\f[
T = 2*rho*A*sqr(Uo)*a*(1-a) T = 2 \rho A U_{o}^2 a (1-a)
U1 = (1 -a)Uo \f]
and
\f[
U_1 = (1 - a)U_{o}
\f]
where: where:
A: disk area \vartable
Uo: upstream velocity A | disk area
a: 1 - Cp/Ct U_o | upstream velocity
U1: velocity at the disk a | 1 - Cp/Ct
U_1 | velocity at the disk
\endvartable
Sources described by: \heading Source usage
actuationDiskSourceCoeffs Example usage:
{ \verbatim
fieldNames (U); // names of fields to apply source actuationDiskSourceCoeffs
diskDir (-1 0 0); // disk direction {
Cp 0.1; // power coefficient fieldNames (U); // names of fields to apply source
Ct 0.5; // thrust coefficient diskDir (-1 0 0); // disk direction
diskArea 5.0; // disk area Cp 0.1; // power coefficient
upstreamPoint (0 0 0); // upstream point Ct 0.5; // thrust coefficient
} diskArea 5.0; // disk area
upstreamPoint (0 0 0); // upstream point
}
\endverbatim
SourceFiles SourceFiles

View File

@ -8,10 +8,10 @@
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the under the terms of the GNU General Public License as published by
Free Software Foundation; either version 3 of the License, or (at your the Free Software Foundation, either version 3 of the License, or
option) any later version. (at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@ -19,38 +19,50 @@ License
for more details. for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation, along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class Class
Foam::fv::effectivenessHeatExchangerSource Foam::fv::effectivenessHeatExchangerSource
Description Description
Heat exchanger source model. Heat exchanger source model, in which the heat exchanger is defined as a
The total heat exchange is given by: selection of cells.
Qt = e(phi, secondaryMassFlowRate) The total heat exchange source is given by:
* (secondaryInletT - primaryInletT) \f[
* phi*Cp; Q_t = e(\phi, \dot{m}_2) (T_2 - T_1) \phi c_p
\f]
where: where:
e(phi, secondaryMassFlowRate) is a effectivenes table in function of \vartable
mass net flux coming imto the heat exchanger (phi) and Q_t | total heat source
secondaryMassFlowRate e(\phi,\dot{m}_2) | effectivenes table
\phi | net mass flux entering heat exchanger [kg/s]
\dot{m}_2 | secondary mass flow rate [kg/s]
T_1 | primary inlet temperature [K]
T_2 | secondary inlet temperature [K]
c_p | specific heat capacity [J/kg/K]
\endvartable
Then the distribution inside the hear exchanger is given by:
Qcell = Vcell*|Ucell|*(Tcell - Tref)/sum(Vcell*|Ucell|*(Tcell - Tref)); The distribution inside the hear exchanger is given by:
\f[
Q_c = \frac{V_c |U_c| (T_c - T_{ref})}{\sum(V_c |U_c| (T_c - T_{ref}))}
\f]
where: where:
Qcell is the source for cell \vartable
Vcell is the volume of the cell Q_c | source for cell
Ucell is the local cell velocity V_c | volume of the cell [m3]
Tcell is the local call temperature U_c | local cell velocity [m/s]
Tref : min(T) or max(T) in the cell zone depending on the sign of Qt T_c | local call temperature [K]
T_{ref} | min or max(T) in cell zone depending on the sign of Q_t [K]
\endvartable
Example : \heading Source usage
Example usage:
\verbatim
effectivenessHeatExchangerSource1 effectivenessHeatExchangerSource1
{ {
type effectivenessHeatExchangerSource; type effectivenessHeatExchangerSource;
@ -69,13 +81,14 @@ Description
fileName "effTable"; fileName "effTable";
} }
} }
\endverbatim
Note: Note
the table with name "fileName" should have the same units as - the table with name "fileName" should have the same units as the
secondaryMassFlowRate and kg/s for phi secondary mass flow rate and kg/s for phi
faceZone is the faces at the inlet of the cellzone, it needs to be - faceZone is the faces at the inlet of the cellzone, it needs to be
created with flip map flags. It is used to integrate the net mass flow created with flip map flags. It is used to integrate the net mass flow
rate into the heat exchanger rate into the heat exchanger
SourceFiles SourceFiles
@ -98,7 +111,7 @@ namespace fv
{ {
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class effectivenessHeatExchangerSource Declaration Class effectivenessHeatExchangerSource Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class effectivenessHeatExchangerSource class effectivenessHeatExchangerSource
@ -110,7 +123,7 @@ protected:
// Protected data // Protected data
//- Secondary flow mass rate [Kg/s] //- Secondary flow mass rate [kg/s]
scalar secondaryMassFlowRate_; scalar secondaryMassFlowRate_;
//- Inlet secondary temperature [K] //- Inlet secondary temperature [K]
@ -119,8 +132,8 @@ protected:
//- Primary air temperature at the heat exchanger inlet [K] //- Primary air temperature at the heat exchanger inlet [K]
scalar primaryInletT_; scalar primaryInletT_;
//- 2D look up table efficiency = F(total primary mass flow rate [Kg/s] //- 2D look up table efficiency = function of primary and secondary
//, secondary mass flow rate [Kg/s]) // mass flow rates [kg/s]
autoPtr<interpolation2DTable<scalar> > eTable_; autoPtr<interpolation2DTable<scalar> > eTable_;
//- Name of velocity field; default = U //- Name of velocity field; default = U
@ -144,8 +157,7 @@ protected:
//- Local list of patch ID per face //- Local list of patch ID per face
labelList facePatchId_; labelList facePatchId_;
//- List of +1/-1 representing face flip map //- List of +1/-1 representing face flip map (1 use as is, -1 negate)
// (1 use as is, -1 negate)
labelList faceSign_; labelList faceSign_;
//- Area of the face zone //- Area of the face zone

View File

@ -8,10 +8,10 @@
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the under the terms of the GNU General Public License as published by
Free Software Foundation; either version 3 of the License, or (at your the Free Software Foundation, either version 3 of the License, or
option) any later version. (at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@ -19,8 +19,7 @@ License
for more details. for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation, along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class Class
Foam::fv::explicitPorositySource Foam::fv::explicitPorositySource
@ -28,23 +27,26 @@ Class
Description Description
Explicit porosity source Explicit porosity source
Sources described by, for example using the DarcyForchheimer model: \heading Source usage
explicitPorositySourceCoeffs Example usage, here employing the Darcy-Forchheimer model:
\verbatim
explicitPorositySourceCoeffs
{
type DarcyForchheimer;
DarcyForchheimerCoeffs
{ {
type DarcyForchheimer; d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
DarcyForchheimerCoeffs f f [0 -1 0 0 0 0 0] (0 0 0);
{
d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
f f [0 -1 0 0 0 0 0] (0 0 0);
coordinateSystem coordinateSystem
{ {
e1 (0.70710678 0.70710678 0); e1 (0.70710678 0.70710678 0);
e2 (0 0 1); e2 (0 0 1);
}
} }
} }
}
\endverbatim
Note: Note:
The porous region must be selected as a cellZone. The porous region must be selected as a cellZone.

View File

@ -29,15 +29,17 @@ Description
Note: Currently only handles kinematic pressure Note: Currently only handles kinematic pressure
Sources described by: \heading Source usage
Example usage:
pressureGradientExplicitSourceCoeffs \verbatim
{ pressureGradientExplicitSourceCoeffs
fieldNames (U); // name of velocity field {
Ubar (10.0 0 0); // desired average velocity fieldNames (U); // name of velocity field
gradPini gradPini [0 2 -2 0 0] 0; // initial pressure gradient Ubar (10.0 0 0); // desired average velocity
flowDir (1 0 0); // flow direction gradPini gradPini [0 2 -2 0 0] 0; // initial pressure gradient
} flowDir (1 0 0); // flow direction
}
\endverbatim
SourceFiles SourceFiles

View File

@ -8,10 +8,10 @@
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the under the terms of the GNU General Public License as published by
Free Software Foundation; either version 3 of the License, or (at your the Free Software Foundation, either version 3 of the License, or
option) any later version. (at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@ -19,42 +19,52 @@ License
for more details. for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation, along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class Class
Foam::fv::radialActuationDiskSource Foam::fv::radialActuationDiskSource
Description Description
Actuation disk zone definition. Actuation disk source including radial thrust
Constant values for momentum source for actuation disk
T = 2*rho*A*sqr(Uo)*a*(1-a) Constant values for momentum source for actuation disk
U1 = (1 -a)Uo \f[
T = 2 \rho A U_{o}^2 a (1-a)
\f]
and
\f[
U_1 = (1 - a)U_{o}
\f]
where: where:
A: disk area \vartable
Uo: upstream velocity A | disk area
a: 1 - Cp/Ct U_o | upstream velocity
U1: velocity at the disk a | 1 - Cp/Ct
U_1 | velocity at the disk
\endvartable
The thrust is distributed by a radial function: The thrust is distributed by a radial function:
\f[
thrust(r) = T (C_0 + C_1 r^2 + C_2 r^4)
\f]
thrust(r) = T*(C0 + C1*r^2 + C2*r^4) \heading Source usage
Sources described by: Example usage:
\verbatim
actuationDiskSourceCoeffs actuationDiskSourceCoeffs
{ {
fieldName U; // name of field to apply source fieldName U; // name of field to apply source
diskDir (-1 0 0); // disk direction diskDir (-1 0 0); // disk direction
Cp 0.1; // power coefficient Cp 0.1; // power coefficient
Ct 0.5; // thrust coefficient Ct 0.5; // thrust coefficient
diskArea 5.0; // disk area diskArea 5.0; // disk area
coeffs (0.1 0.5 0.01); // radial distribution coefficients coeffs (0.1 0.5 0.01); // radial distribution coefficients
upstreamPoint (0 0 0); // upstream point upstreamPoint (0 0 0); // upstream point
} }
\endverbatim
SourceFiles SourceFiles

View File

@ -30,52 +30,54 @@ Description
Source approximates the mean effects of rotor forces on a cylindrical Source approximates the mean effects of rotor forces on a cylindrical
region within the domain region within the domain
Sources described by: \heading Source usage
rotorDiskSourceCoeffs Example usage:
\verbatim
rotorDiskSourceCoeffs
{
fieldNames (U); // names of fields on which to apply source
rhoName rho; // density field if compressible case
nBlades 3; // number of blades
tipEffect 0.96; // normalised radius above which lift = 0
inletFlowType local; // inlet flow type specification
geometryMode auto; // geometry specification
refDirection (-1 0 0); // reference direction
// - used as reference for psi angle
trimModel fixed; // fixed || targetForce
flapCoeffs
{ {
fieldNames (U); // names of fields on which to apply source beta0 0; // coning angle [deg]
rhoName rho; // density field if compressible case beta1c 0; // lateral flapping coeff (cos coeff)
nBlades 3; // number of blades beta2s 0; // longitudinal flapping coeff (sin coeff)
tipEffect 0.96; // normalised radius above which lift = 0
inletFlowType local; // inlet flow type specification
geometryMode auto; // geometry specification
refDirection (-1 0 0); // reference direction
// - used as reference for psi angle
trimModel fixed; // fixed || targetForce
flapCoeffs
{
beta0 0; // coning angle [deg]
beta1c 0; // lateral flapping coeff (cos coeff)
beta2s 0; // longitudinal flapping coeff (sin coeff)
}
blade
{
...
}
profiles
{
...
}
} }
blade
{
...
}
profiles
{
...
}
}
\endverbatim
Where: Where:
Valid options for the \c geometryMode entry include:
- auto : determine rototor co-ord system from cells
- specified : specified co-ord system
geometryMode = Valid options for the \c inletFlowType entry include:
auto : determine rototor co-ord system from cells - fixed : specified velocity
specified : specified co-ord system - local : use local flow conditions
- surfaceNormal : specified normal velocity (positive towards rotor)
inletFlowType =
fixed : specified velocity
surfaceNormal : specified normal velocity (positive towards rotor)
local : use local flow conditions
SourceFiles SourceFiles

View File

@ -25,52 +25,46 @@ Class
Foam::fv::codedSource Foam::fv::codedSource
Description Description
Constructs on-the-fly a new fvOption. Constructs on-the-fly source
E.g. in system/fvOptions \heading Source usage
momentumSource Example usage:
\verbatim
vectorCodedSourceCoeffs
{ {
type vectorCodedSource; fieldNames (U);
active on; //on/off switch redirectType ramp;
timeStart 0.0; //start time
duration 1000000.0; //duration
selectionMode all; //cellSet // points //cellZone
vectorCodedSourceCoeffs codeCorrect
{ #{
fieldNames (U); Pout<< "**codeCorrect**" << endl;
redirectType ramp; #};
codeCorrect codeAddSup
#{ #{
Pout<< "**codeCorrect**" << endl; Pout<< "**codeAddSup**" << endl;
#}; #};
codeAddSup codeSetValue
#{ #{
Pout<< "**codeAddSup**" << endl; Pout<< "**codeSetValue**" << endl;
#}; #};
codeSetValue // Dummy entry. Make dependent on above to trigger recompilation
#{ code
Pout<< "**codeSetValue**" << endl; #{
#}; $codeCorrect
$codeAddSup
// Dummy entry. Make dependent on above to trigger recompilation $codeSetValue
code #};
#{
$codeCorrect
$codeAddSup
$codeSetValue
#};
}
// Dummy entry
rampCoeffs
{}
} }
// Dummy entry
rampCoeffs
{}
\endverbatim
SourceFiles SourceFiles
codedSource.C codedSource.C