Commit Graph

6745 Commits

Author SHA1 Message Date
5e8d1ff99e createBaffles: Fixed owner/neighbour indexing bug when operating in parallel
Resolves bug report https://bugs.openfoam.org/view.php?id=3970
2023-04-13 17:09:29 +01:00
ad678e1829 OSspecific/POSIX/signals: Improved documentation for sigWriteNow and sigStopAtWriteNow 2023-04-13 16:33:14 +01:00
2bb760e912 etc/caseDicts/postProcessing/control/stopAtTimeStep: Configuration file for functionObjects::stopAtTimeStep
Example:

functions
{
    #includeFunc stopAtTimeStep(minDeltaT=1e-8)
    .
    .
    .
}
2023-04-13 13:28:27 +01:00
4974cc2e1d functionObjects::stopAtTimeStep: New functionObject to stop the run if the time-step becomes too small
This is useful to write results before a case fails due to uncontrollable
automatic time-step reduction, usually caused by unstable pressure-velocity
coupling.

Class
    Foam::functionObjects::stopAtTimeStep

Description
    Stops the run if the time-step drops below the specified value in seconds
    and optionally write results before stopping.

    The following actions are supported:
    - noWriteNow
    - writeNow (default)
    - nextWrite

    Examples of function object specification:
    \verbatim
    stop
    {
        type            stopAtTimeStep;

        libs            ("libutilityFunctionObjects.so");

        minDeltaT       1e-8;
        action          writeNow;
    }
    \endverbatim
    will write the fields and stop if the time-step drops below 1e-8s.

Usage
    \table
        Property  | Description               | Required | Default value
        type      | type name: stopAtTimeStep | yes      |
        minDeltaT | Minimum time-step [s]     | yes      |
        action    | Action executed           | no       | writeNow
    \endtable
2023-04-13 13:01:42 +01:00
ea1e078463 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2023-04-12 15:36:55 +01:00
fff11f7b95 boundaryFoam: Updated post-processing of non-Newtonian viscosity
and adding output of omega+
2023-04-12 15:35:43 +01:00
33fc67203a wmake: Prevent Clang warning about Foam::move vs std::move 2023-04-12 11:31:28 +01:00
1e0c4cd7f5 fvMeshMovers::interpolator: Corrected copy of points0 on mapping 2023-04-12 11:31:28 +01:00
71979accf5 PrimitiveOldTimePatch: Fix construction from null reference 2023-04-12 11:31:28 +01:00
0cea17a41c emptyFvPatchField: Updated map function 2023-04-11 22:49:00 +01:00
1167f97234 momentumTransportModels::linearViscousStress: Ensure divDevTauCorrFlux is evaluated before U BCs
for both gcc and clang
2023-04-11 22:48:07 +01:00
96978e07f4 Minor updates for single precision compilation 2023-04-11 18:07:47 +01:00
e40198353b solvers::incompressibleDenseParticleFluid: New solver module for particle laden incompressible flow
executed with foamRun for single region simulations of foamMultiRun for
multi-region simulations.  Replaces denseParticleFoam and all the corresponding
tutorials have been updated and moved to
tutorials/modules/incompressibleDenseParticleFluid.

Class
    Foam::solvers::incompressibleDenseParticleFluid

Description

    Solver module for transient flow of incompressible isothermal fluids coupled
    with particle clouds including the effect of the volume fraction of
    particles on the continuous phase, with optional mesh motion and change.

    Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and
    pseudo-transient and steady simulations.

    Optional fvModels and fvConstraints are provided to enhance the simulation
    in many ways including adding various sources, constraining or limiting
    the solution.
2023-04-11 16:56:13 +01:00
288fc74ff0 multiphaseEuler::virtualMassModel.H: Corrected documentation 2023-04-11 15:48:36 +01:00
2a9b999701 VoFSolver: Fixed use of as yet uninitialised reference 2023-04-11 14:54:04 +01:00
8323185dc9 Function1, Function2: Removed dynamic casts from field evaluations 2023-04-11 12:18:41 +01:00
fb052b9d79 solvers: Provided public constant access to state fields 2023-04-08 16:05:39 +01:00
59218933a3 denseParticleFoam: Use Dcf*phid rather than Fdf for consistency 2023-04-08 16:04:42 +01:00
0c08c2888c solvers: Provided public constant access to state fields 2023-04-07 19:55:21 +01:00
983cba0dca solvers::solid,solidDisplacement: Provided public constant access to state fields 2023-04-07 16:47:59 +01:00
2b74f9486f denseParticleFoam: New face-stabilised phase drag formulation
to provide consistent and stable continuous phase velocity solution without
staggering patterns at the boundary with packed regions of dispersed phase.
2023-04-07 14:16:21 +01:00
2f0346d68e libwaves.so: Now included in the alpha and U wave BC specification
rather than in controlDict.
2023-04-06 09:55:13 +01:00
f1a57dde9c tutorials/modules/incompressibleFluid/channel395/system/postChannelDict: Removed
The postChannel utility has been replaced by the more flexible layerAverage
functionObject.
2023-04-06 09:27:53 +01:00
13562fa31a multiphaseEuler::wallBoiling,IATEwallBoiling: Completed moving to multiphaseThermophysicalTransportModels
to avoid compilation cyclic dependency
2023-04-06 08:06:53 +01:00
05ffb6a6ff Info: Use nl rather than "\n..." to ensure region-prefixed printing 2023-04-05 17:14:24 +01:00
3229b0e645 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2023-04-05 15:58:53 +01:00
cb241c5f00 fvModels::checkApplied: Check for sub-cycling
so that fvModel usage is not checked within the sub-cycling loop.
2023-04-05 15:57:52 +01:00
6a3b5d1c25 mappedPatchBase: Clear out if the neighbour is cleared out
This fixes situations in which the mapping is used between a region with
a changing mesh and a region with a non-changing mesh, and where the
non-changing-mesh region owns the mapping. It ensures that changes in
the changing-mesh region trigger re-generation of the mapping in the
adjacent non-changing-mesh region.
2023-04-05 14:35:31 +01:00
28e581831c tutorials: mixerVessel2D: Consistency improvements
Horizontal mixers have been renamed to mixerVesselHorizontal2D. The
incompressible mixerVessel2D has been reinstated to provide a comparison
with the corresponding MRF case. All rotational speeds have been
standardised at 60 rpm, except for the compressible case in which the
higher speed is justified in order to demonstrate the simulation of
compressibility effects.
2023-04-05 11:01:20 +01:00
becee61eef parcelCloud: Ensure region-prefixed printing 2023-04-04 17:14:09 +01:00
fa296c0454 mappedPatchBase: Fix typo Neigbour -> Neighbour 2023-04-04 16:59:39 +01:00
0080177d88 invIncGammaRatio_P: Additional divide by zero protection 2023-04-04 16:42:34 +01:00
9ea964a525 fv::sixDoFAccelerationSource: Added sources for phase-momentum equations 2023-04-04 16:24:09 +01:00
42d26690ab multiphaseEuler/interfacialModels/dragModels/Gibilaro: Minor efficiency improvement 2023-04-04 16:10:30 +01:00
2df8c2549a Test-incGamma: Added test application
This checks the consistency of incGamma and invIncGamma. It writes files
with columns containing values for different 'a' parameters. The
incGammaRatio_P.xy and invIncGammaRatio_P.xy files should generate the same
lines when the plot axis order is reversed. E.g., in gnuplot:

    plot "incGammaRatio_P.xy" us 1:5 w l, \
         "invIncGammaRatio_P.xy" us 5:1 w p
2023-04-04 15:19:01 +01:00
28fc55b1f0 invIncGammaRatio_P: Completed implementation
Added the iterative improvement stage detailed at the end of section 4
of the reference:

    DiDonato, A. R., & Morris Jr, A. H. (1986).
    Computation of the incomplete gamma function ratios and their inverse.
    ACM Transactions on Mathematical Software (TOMS), 12(4), 377-393.
2023-04-04 15:19:01 +01:00
d33eafe7df multiphaseEuler/interfacialModels: Reverted handling of the continuous phase-fraction
back to the form in the original multiphaseEulerFoam, i.e. using the continuous
phase-fraction directly rather than 1 - dispersed phase fraction.
2023-04-04 14:59:20 +01:00
b414884142 solvers::multiphaseEuler::cellPressureCorrector: Use near-wall drag coefficient at wall patch
Avoids numerical imbalance between forces at wall patches normal to gravity for
phases with zero phase fraction.
2023-04-04 09:41:47 +01:00
91d48d2eb6 multiphaseEuler::cellPressureCorrector: add Kds[phasei] if defined for phasei 20230403 2023-04-03 15:02:09 +01:00
9e0373cc12 codedFunctionObjectTemplate: Added #include "volFields.H"
The codedFunctionObjectTemplate is based on regionFunctionObject requiring
fvMesh.H and most manipulate volFields so it makes sense for volFields.H to be
included by default.
2023-04-02 10:41:22 +01:00
0e8c5edada tutorials/modules/incompressibleFluid/pitzDailyScalarTransport/system/controlDict: Added volFields.H 2023-04-01 22:53:46 +01:00
cd8ab17ea5 tutorials/modules/incompressibleFluid/blockedChannel/system/generateAlphas: Added volFields.H 2023-04-01 22:22:56 +01:00
e32a449300 applications/solvers: Replaced fvCFD.H with appropriate include files 2023-04-01 19:59:49 +01:00
5048b7e54a applications/solvers: Replaced fvCFD.H with appropriate include files 2023-04-01 19:31:01 +01:00
d5023b907f applications/utilities: Replaced fvCFD.H with appropriate include files 2023-04-01 18:59:28 +01:00
f6a730f0ac multiphaseEuler::cellPressureCorrector: Use constrainH rather than constrainHbyA 2023-04-01 17:22:14 +01:00
bcddcc89f6 applications/test: Replaced fvCFD.H with appropriate include files 2023-04-01 16:50:10 +01:00
e66484a82d fvCorrectPhi: Wrapper for CorrectPhi to simplify solvers 2023-04-01 16:23:57 +01:00
de174c2b82 solvers: Cache rAU and/or divU fields for CorrectPhi if mesh.topoChanging() 2023-04-01 09:56:52 +01:00
07478d25c0 fvMeshTopoChanger: Corrected header documentation 2023-03-31 17:12:52 +01:00