fvPatchFields: Removed all fvPatchFields requiring user specified data from the null-constructor table
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.
This commit is contained in:
@ -4,5 +4,5 @@ Step to introduce the PDR fields:
|
||||
|
||||
1) Create zero-size patches for wall or/and coupled baffles in
|
||||
the boundary file.
|
||||
2) Specify the boundary contitions for these patches in the fields.
|
||||
2) Specify the boundary conditions for these patches in the fields.
|
||||
3) Create the new PDR mesh using the PDRMesh utility.
|
||||
|
||||
Reference in New Issue
Block a user