75#ifndef Foam_faOption_H
76#define Foam_faOption_H
101 void constructMeshObjects();
175 const word& modelType,
189 const word& modelType,
448#include "faOptionI.H"
Forwards and collection of common area field types.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A special matrix type and solver, designed for finite area solutions of scalar equations....
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
autoPtr< option > operator()(Istream &is) const
iNew(const fvPatch &patch, const word &name)
Base abstract class for handling finite area options (i.e. faOption).
autoPtr< option > clone() const
Return clone.
const word modelType_
Model type.
const word & name() const noexcept
Return const access to the source name.
const dictionary & coeffs() const noexcept
Return dictionary.
List< bool > applied_
Applied flag list - corresponds to each fieldNames_ entry.
const fvMesh & mesh_
Reference to the mesh database.
void setApplied(const label fieldi)
Set the applied flag to true for field index fieldi.
virtual ~option()=default
Destructor.
word regionName_
Region name (finite-area)
TypeName("option")
Runtime type information.
wordList fieldNames_
Field names to apply source to - populated by derived models.
virtual void addSup(const areaScalarField &h, faMatrix< scalar > &eqn, const label fieldi)
virtual void checkApplied() const
Check that the source has been applied.
dictionary dict_
Top level source dictionary.
bool active() const noexcept
True if source is active.
virtual label applyToField(const word &fieldName) const
Return index of field name if found in fieldNames list.
virtual bool read(const dictionary &dict)
Read source dictionary.
dictionary coeffs_
Dictionary containing source coefficients.
declareRunTimeSelectionTable(autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvPatch &patch),(name, modelType, dict, patch))
virtual void writeHeader(Ostream &) const
Write the source header information.
virtual void writeFooter(Ostream &) const
Write the source footer information.
const word & regionName() const noexcept
The region name.
virtual bool isActive()
Is the source active?
static autoPtr< option > New(const word &name, const dictionary &dict, const fvPatch &patch)
Return a reference to the selected faOption model.
void resetApplied()
Resize/reset applied flag list for all fieldNames_ entries.
const fvPatch & patch_
Reference to the patch.
virtual void writeData(Ostream &) const
Write the source properties.
virtual void constrain(faMatrix< scalar > &eqn, const label fieldi)
const volSurfaceMapping & vsm() const
Return volSurfaceMapping (demand-driven)
const fvMesh & mesh() const noexcept
Return const access to the mesh database.
const faMesh & regionMesh() const
Return the region mesh database (demand-driven)
const fvPatch & patch() const noexcept
Return const access to fvPatch.
bool log
Switch write log to Info.
const word name_
Source name.
Mesh data needed to do the Finite Volume discretisation.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Volume to surface and surface to volume mapping.
A class for handling words, derived from Foam::string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Forward declarations of standard faMatrix types/specializations.
List< word > wordList
A List of words.
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.