Commit Graph

45 Commits

Author SHA1 Message Date
644d51b466 processorPolyPatch, processorCyclicPolyPatch: Rationalized the construction of the patch name
This change ensures that these patches are named consistently so that
they can be looked-up as required in e.g. patchMeanVelocityForce
2016-02-02 20:07:16 +00:00
699e4f2135 patchMeanVelocityForce: Add support for processorCyclic patches
If the mean velocity force is applied to a cyclic patch for parallel
    runs include contributions from processorCyclic patches generated
    from the decomposition of the cyclic patch
2016-02-01 10:36:58 +00:00
70b74c9371 interRegionExplicitPorositySource: Corrected initialization of firstIter_ 2016-01-20 20:51:09 +00:00
a23f79fa7e Info -> InfoInFunction and updated comments 2016-01-20 16:21:37 +00:00
eb3cf2c880 interRegionExplicitPorositySource: Corrected initialization of firstIter_
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1978
2016-01-20 10:20:54 +00:00
94c05a1e6c Update code to use the simpler C++11 template syntax removing spaces between closing ">"s 2016-01-10 22:41:16 +00:00
9a536b02a7 fvOptions: Reorganized and updated to simplify use in sub-models and maintenance
fvOptions are transferred to the database on construction using
fv::options::New which returns a reference.  The same function can be
use for construction and lookup so that fvOptions are now entirely
demand-driven.

The abstract base-classes for fvOptions now reside in the finiteVolume
library simplifying compilation and linkage.  The concrete
implementations of fvOptions are still in the single monolithic
fvOptions library but in the future this will be separated into smaller
libraries based on application area which may be linked at run-time in
the same manner as functionObjects.
2015-12-02 11:49:52 +00:00
0517efd7db turbulenceModels/RAS/kEpsilon/kEpsilon: Added experimental support for fvOptions 2015-11-28 19:07:42 +00:00
56913f6307 fvOptions: New buoyancyForce and buoyancyEnergy
Provides run-time selection of buoyancy sources for compressible solvers

Replaces the built-in buoyancy sources in XiFoam, reactingFoam and
rhoReactingFoam.

e.g. in constant/fvOptions specify

momentumSource
{
    type            buoyancyForce;

    buoyancyForceCoeffs
    {
        fieldNames      (U);
    }
}

and optionally specify the buoyancy energy source in the enthalpy
equation:

energySource
{
    type            buoyancyEnergy;

    buoyancyEnergyCoeffs
    {
        fieldNames      (h);
    }
}

or internal energy equation

energySource
{
    type            buoyancyEnergy;

    buoyancyEnergyCoeffs
    {
        fieldNames      (e);
    }
}
2015-11-23 09:29:10 +00:00
5e6a7ea282 Completed update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-11 09:03:39 +00:00
03494fef5d Updated notImplemented -> NotImplemented
The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible
compilers otherwise __func__ to provide the function name string.
2015-11-01 10:26:37 +00:00
24495c009c Rename localAxesRotation -> cylindrical
This class does not simply rotate the coordinate system is also changes
it from Cartesian to cylindrical which is not clear from the original name.

We plan to rewrite the coordinateRotation classes to be
coordinateTransformation classes and massively simplify the interface
from the currently unintelligible mess.
2015-08-13 09:25:28 +01:00
77bf182edc Resolved issues with virtual function inheritance and warning from clang
Also removed __GNUC__ conditional compilation statements which are no
longer needed.
2015-07-17 12:11:37 +01:00
3c209a32e9 rotorDiskSource: Debugged the duplicated interpolation functions
Needs rewriting to avoid unnecessary code duplication, preferably using
standard OpenFOAM interpolation functionality.
2015-07-03 12:41:25 +01:00
9794225b49 meanVelocityForce: Added selectionMode to example dict 2015-07-02 09:46:56 +01:00
83961e1de1 tutorials/incompressible/simpleFoam/rotorDisk: Tutorial for the rotorDiskSource functionObject
Provided by Richard Jones
2015-07-01 12:37:21 +01:00
7bf57f6b2b fvOptions/sources/derived/rotorDiskSource: Added more documentation
Provided by Richard Jones
2015-07-01 11:02:32 +01:00
6b4ff9fca5 patchMeanVelocityForce: Variant of patchMeanVelocityForce in which the velocity is averaged over a patch
rather than a cellSet

This is useful to drive mean flow in a duct with a non-uniform
cross-section.
2015-06-30 22:39:59 +01:00
3255714f72 meanVelocityForce: Updated and corrected documentation 2015-06-30 19:20:08 +01:00
6897692212 Renamed pressureGradientExplicitSource to meanVelocityForce
as it is the applied the force necessary to maintain the specified mean velocity
2015-06-30 19:13:16 +01:00
61ba5f0268 Use basicThermo::dictName rather than hard-coding "thermophysicalProperties" 2015-06-24 10:44:57 +01:00
944e09742c solidificationMeltingSource: Removed all need for the "alwaysApply" hack
Also removed the underlying structure for "alwaysApply" from fvOption
2015-06-01 21:53:13 +01:00
940e63c9c4 Updated header 2015-06-01 15:47:50 +01:00
d84fc7adf3 fixedTemperatureConstraint,effectivenessHeatExchangerSource: Set the field name to that of the energy
field from which the temperature is obtained

Removes the need for the 'alwaysApply' hack.
2015-06-01 15:46:17 +01:00
4726029e06 limitTemperature: Set the field name to that of the energy field from which the temperature is obtained
Removes the need for the 'alwaysApply' hack.
2015-06-01 14:21:44 +01:00
39466811bf fvOption: Rationalize corrections 2015-06-01 11:18:45 +01:00
6cddfdda74 fvOptions: Rationalize naming convention for constraints 2015-06-01 09:58:33 +01:00
a99fb1de93 Update headers 2015-05-31 17:15:44 +01:00
4c753e1e4c fvOption: Rationalize read to support re-reading
writeData is not yet completely consistent with read.
2015-05-31 17:14:32 +01:00
b8d15ba459 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.
2015-05-31 16:38:01 +01:00
2b9a2adf8c MRF: Separate MRF from fvOptions
fvOptions does not have the appropriate structure to support MRF as it
is based on option selection by user-specified fields whereas MRF MUST
be applied to all velocity fields in the particular solver.  A
consequence of the particular design choices in fvOptions made it
difficult to support MRF for multiphase and it is easier to support
frame-related and field related options separately.

Currently the MRF functionality provided supports only rotations but
the structure will be generalized to support other frame motions
including linear acceleration, SRF rotation and 6DoF which will be
run-time selectable.
2015-05-29 23:35:43 +01:00
7a4b3ce655 tabulatedAccelerationSource: New fvOption to support 6-DoF solid-body motion
Example usage:

SBM
{
    type            tabulatedAccelerationSource;
    active          true;
    selectionMode   all;

    tabulatedAccelerationSourceCoeffs
    {
        timeDataFileName "constant/acceleration.dat";
    }
}

Where the file constant/acceleration.dat contains a list of tuples
containing time and a vector of the linear acceleration, angular
velocity and angular acceleration e.g.

100
(
(0 ((0 0 0) (0 0 0) (0 0 0)))
(0.001 ((-0.0001 0 4e-05) (5e-5 -0.0002 -3e-8) (0.24 -0.8 -1e-4)))
.
.
.
)
2015-05-28 15:25:22 +01:00
526d7efeb0 Updated header 2015-05-26 11:32:04 +01:00
a917fbdf53 Corrected comment 2015-05-26 11:31:54 +01:00
7047154fee MRFZone: Add regex and group support to the specification of nonRotatingPatches 2015-04-26 16:38:07 +01:00
8bec8510fa Update headers 2015-04-26 16:37:43 +01:00
db4ac98fd8 faceSource: Writing the total area of the faceSource (sum(magSf)) for each time is now optional
Previous behavior which may be useful for moving-mesh cases can be
selected using the optional entry:
    writeTotalArea  yes;

The initial total area is written in the log and data file header e.g.:

 #   Source : faceZone f0
 #   Faces  : 8
 #   Area   : 1.063860e-02
2015-04-26 16:32:19 +01:00
f58fd14271 Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
ebc88a4680 MRFSource: Update the velocity boundary conditions for changes in rotation speed 2015-02-04 23:03:45 +00:00
2c25b8db52 Add support for reading and updating the debug switches of templated
classes in the DebugSwitches sub-dictionary of system/controlDict
2015-02-04 22:08:27 +00:00
93732c8af4 Updated the whole of OpenFOAM to use the new templated TurbulenceModels library
The old separate incompressible and compressible libraries have been removed.

Most of the commonly used RANS and LES models have been upgraded to the
new framework but there are a few missing which will be added over the
next few days, in particular the realizable k-epsilon model.  Some of
the less common incompressible RANS models have been introduced into the
new library instantiated for incompressible flow only.  If they prove to
be generally useful they can be templated for compressible and
multiphase application.

The Spalart-Allmaras DDES and IDDES models have been thoroughly
debugged, removing serious errors concerning the use of S rather than
Omega.

The compressible instances of the models have been augmented by a simple
backward-compatible eddyDiffusivity model for thermal transport based on
alphat and alphaEff.  This will be replaced with a separate run-time
selectable thermal transport model framework in a few weeks.

For simplicity and ease of maintenance and further development the
turbulent transport and wall modeling is based on nut/nuEff rather than
mut/muEff for compressible models so that all forms of turbulence models
can use the same wall-functions and other BCs.

All turbulence model selection made in the constant/turbulenceProperties
dictionary with RAS and LES as sub-dictionaries rather than in separate
files which added huge complexity for multiphase.

All tutorials have been updated so study the changes and update your own
cases by comparison with similar cases provided.

Sorry for the inconvenience in the break in backward-compatibility but
this update to the turbulence modeling is an essential step in the
future of OpenFOAM to allow more models to be added and maintained for a
wider range of cases and physics.  Over the next weeks and months more
turbulence models will be added of single and multiphase flow, more
additional sub-models and further development and testing of existing
models.  I hope this brings benefits to all OpenFOAM users.

Henry G. Weller
2015-01-21 19:21:39 +00:00
34f4b64bf8 Updated header 2015-01-01 16:27:47 +00:00
b70ebf82af explicitPorositySource: corrected doc 2015-01-01 16:27:26 +00:00
a61f07451f rotorDiskSource: Corrected coordinate transformations
Now the rotor axis may be specified in other than the z-direction
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1290
2014-12-22 19:54:58 +00:00
446e5777f0 Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00