- Mar 19, 2025
-
-
Mark OLESEN authored
- sourcing a file with '-no-recursion "$@"' does not work with dash. Need to modify the argument list directly.
-
- Mar 17, 2025
-
-
Mark OLESEN authored
-
- The register keyword has been removed from c++17 but old flex versions (version < 2.6.0) produce code including it, leading to compilation errors when using clang (despite disabling the diagnostic). gcc compiles but issues warnings. - use '#define register' as empty as a workaround
-
- Jan 27, 2025
-
-
Mark OLESEN authored
- poor naming (eg, 'exponential.[CH]') within the same set of library files means that the lnInclude/ contents are inconsistent or partly meaningless (related to #2520 and !542). Remedied by adding model-type qualifiers to the file names.
-
- Jan 24, 2025
-
-
Mark OLESEN authored
- remove unneeded -Wno-old-style flags with boost/cgal elements - add nvc equivalent to gcc/clang -Wno-invalid-offsetof - avoid warnings about set-but-unused variable and change of scoping STYLE: remove wmake 'CGAL' rule - was a transitional forward to 'cgal' rule since DEC-2020
-
- Jan 10, 2025
-
-
Description: The plicRDF interface reconstruction scheme calculates a reconstructed distance function (RDF) in all interface cells and their point neighbours. In point neighbours to interface cells, the RDF is calculated as a weighted average of the distances to all adjacent interface cell centres with the weight being the inverse distance to the cell centre. By using the zoneDistribute class written by Henning Scheufler, the required stencil data is communicated efficiently for stencil cells living on different sides of one or more processor patches. Some of the data required for the RDF reconstruction are cell centre and interface centre positions. When a stencil extends across a cyclic patch these positions have so far not been properly transformed in OpenFOAM. This issue is fixed by the current contribution. The fix is done by modifying the zoneDistribute class to hold the required information about zone cells adjacent to cyclic patches. Positions are then communicated with a new getPosition function which replaces getValue for position data in the reconstructedDistanceFunction and plicRDF classes. The implementation does not change the behaviour for cells not on a cyclic patch and should have insignificant effect on efficiency for these. The implementation can probably be optimised in terms of efficiency for zone cells on cyclic patches, but we note that there are generally only very few of these (interface cells and their point neighbours on cyclic patches) and so the potential for speedup is expected to be limited. Current limitations: - In parallel, the user must constrain the decomposition to preserve cyclic patches on the same processor, for the implementation to work properly. - See an example here: tutorials/discInConstantFlowCyclicBCs/system/decomposeParDict - In the case of parallel rotational cyclics that are split by the decomposition the current bugfix does not work and therefore throws an error. This is ongoing work and should be reported and fixed by a future patch. For further details, please see the modified files and the comments therein: - $FOAM_SRC/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.H - $FOAM_SRC/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.C - $FOAM_SRC/finiteVolume/fvMesh/zoneDistribute/zoneDistributeI.H - $FOAM_SRC/transportModels/geometricVoF/reconstructedDistanceFunction/reconstructedDistanceFunction.C - $FOAM_SRC/src/transportModels/geometricVoF/reconstructionSchemes/plicSchemes/plicRDF/plicRDF.C Co-authored-by: David Müller <> KIT Co-authored-by: Konstantinos Missios <> Roskilde University Co-authored-by: Johan Roenby <> Roskilde University and STROMNING
-
- Jan 06, 2025
-
-
mattijs authored
-
- Dec 24, 2024
-
-
Andrew Heather authored
-
- Dec 23, 2024
- Dec 20, 2024
-
-
Replaces user-supplied keywords by run-time computed values in a text file. Usage Example using system/controlDict.functions: foamReport1 { // Mandatory entries (unmodifiable) type foamReport; libs (foamUtilityFunctionObjects); template "<system>/myTemplate.md"; substitutions { divSchemes1 { type dictionaryValue; object fvSchemes; entries { divSchemes "divSchemes"; } } fvSolution1 { type dictionaryValue; path "<system>/fvSolution"; entries { solver_p "solvers/p/solver"; solver_p_tol "solvers/p/tolerance"; solver_p_reltol "solvers/p/relTol"; solver_U "solvers/U/solver"; solver_U_tol "solvers/U/tolerance"; solver_U_reltol "solvers/U/relTol"; } } controlDict1 { type dictionaryValue; path "<system>/controlDict"; entries { initial_deltaT "deltaT"; } } continuityErrors { type functionObjectValue; functionObject continuityError1; entries { cont_error_local local; cont_error_global global; cont_error_cumulative cumulative; } } }
-
Accumulates function object result values and renders into a graph in SVG format Minimal example by using system/controlDict.functions to plot the residuals from the solverInfo function Object: residualGraph { type graphFunctionObject; libs (utilityFunctionObjects); writeControl writeTime; logScaleX no; logScaleY yes; xlabel "Iteration"; ylabel "log10(Initial residual)"; functions { line1 { object solverInfo1; entry Ux_initial; } line2 { object solverInfo1; entry Uy_initial; } line3 { object solverInfo1; entry Uz_initial; } line4 { object solverInfo1; entry p_initial; } } }
-
- Dec 19, 2024
-
-
Activated using the [optional] 'shielding' keyword having the options: - standard: [default] same as v2406 and earlier - ZDES2020: new option based on the reference: Deck, S., Renard, N. (2020). Towards an enhanced protection of attached boundary layers in hybrid RANS/LES methods. Journal of Computational Physics, 400, 108970. DOI:10.1016/j.jcp.2019.108970 Contribution from Marian Fuchs at UpstreamCFD GmbH Integrated by Andrew Heather OpenCFD Ltd.
-
Kutalmış Berçin authored
-
Multi-faceZone based blending differencing scheme. Schemes are set in dictonary format according to: divSchemes { . . div(phi,U) Gauss zoneBlended { default defaultScheme; faceZone1 scheme1; faceZone2 scheme2; ... faceZoneN schemeN; } . . } The default entry specifies the background scheme; additional schemes can be set per faceZone, e.g. scheme1 is applied to facZone1, scheme2 is applied to facZone2 etc.
-
-
-
- The edgeInterpolation::makeCorrectionVectors() disables the non-orthogonality correction if the calculated non-orthogonality coefficient is below 0.1. However, this activation routine only considers internal edges, and excludes any processor edges, resulting in inconsistent parallel calculations. This routine is removed. - Fatal errors are replaced with zero-valued fields for non-orthogonality- and skewness-correction routines.
-
- Dec 18, 2024
-
-
Co-authored-by:
Kutalmis Bercin <kutalmis.bercin@esi-group.com>
-
Andrew Heather authored
The basis of the table is specified according to the mode: - velocity: deltap = F(velocity per face) \[DEFAULT\] - uniformVelocity: deltap = F(patch area-averaged velocity) - volumeFlowRate: deltap = F(patch volume flow rate) - nonDimensional: non-dim deltap = F(non-dim volume flow rate) Example of the boundary condition specification: <patchName> { type fan; patchType cyclic; jumpTable csvFile; mode velocity; // New entry jumpTableCoeffs { nHeaderLine 1; refColumn 0; componentColumns 1(1); separator ","; mergeSeparators no; file "<constant>/UvsPressure"; } value uniform 0; }
-
Andrew Heather authored
BUG: fieldAverage - handle duplicate entries
-
Kutalmış Berçin authored
-
Kutalmış Berçin authored
-
Kutalmış Berçin authored
-
Mark OLESEN authored
- fixes -Wdeprecated-copy complaints
-
- Dec 15, 2024
-
-
mattijs authored
-
- Dec 12, 2024
-
-
Mattijs Janssens authored
-
Mattijs Janssens authored
-
Mark OLESEN authored
- only affected v2406. Root cause is #3281
-
- Dec 11, 2024
-
-
Andrew Heather authored
-
Andrew Heather authored
-
Andrew Heather authored
-
Andrew Heather authored
-
-
- Dec 10, 2024
-
-
Co-authored-by: David Müller <> Co-authored-by: Konstantinos Missios <>
-
Mark OLESEN authored
-
Mark OLESEN authored
- only affected v2406
-
-