This avoids potential hidden run-time errors caused by solvers running with boundary conditions which are not fully specified. Note that "null-constructor" here means the constructor from patch and internal field only, no data is provided. Constraint and simple BCs such as 'calculated', 'zeroGradient' and others which do not require user input to fully specify their operation remain on the null-constructor table for the construction of fields with for example all 'calculated' or all 'zeroGradient' BCs. A special version of the 'inletOutlet' fvPatchField named 'zeroInletOutlet' has been added in which the inlet value is hard-coded to zero which allows this BC to be included on the null-constructor table. This is useful for the 'age' functionObject to avoid the need to provide the 'age' volScalarField at time 0 unless special inlet or outlet BCs are required. Also for isothermalFilm in which the 'alpha' field is created automatically from the 'delta' field if it is not present and can inherit 'zeroInletOutlet' from 'delta' if appropriate. If a specific 'inletValue' is require or other more complex BCs then the 'alpha' field file must be provided to specify these BCs as before. Following this improvement it will now be possible to remove the null-constructors from all fvPatchFields not added to the null-constructor table, which is most of them, thus reducing the amount of code and maintenance overhead and making easier and more obvious to write new fvPatchField types.
README for OpenFOAM-dev
- About OpenFOAM
- Copyright
- Download and installation instructions
- Documentation
- Source code documentation
- OpenFOAM C++ Style Guide
- Reporting bugs in OpenFOAM
- Contacting the OpenFOAM Foundation
#
About OpenFOAM
OpenFOAM is a free, open source computational fluid dynamics (CFD) software package released by the OpenFOAM Foundation. It has a large user base across most areas of engineering and science, from both commercial and academic organisations. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.
Copyright
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 Free Software
Foundation, either version 3 of the License, or (at your option) any later
version. See the file COPYING in this directory or
http://www.gnu.org/licenses/, for a description of the GNU General Public
License terms under which you can copy the files.