Commit Graph

1736 Commits

Author SHA1 Message Date
46df3ab456 kineticTheoryModel: Corrected handling of the SuSp term in the Theta equation
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2002
2016-02-19 13:26:41 +00:00
8b71babfdd interFoam, interMixingFoam, interPhaseChangeFoam: construct rho with calculated BCs
Avoids problems with inherited complex BCs for which the controlling
fields and parameters are not initialized.
2016-02-18 21:26:25 +00:00
9162fedfc4 chemFoam: use default (empty) BCs for U rather than inheriting from p 2016-02-18 21:18:54 +00:00
aa81dee52d sprayEngineFoam: Corrected included pEqn.H
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2000
2016-02-18 08:27:21 +00:00
350d03246e scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
fc2ce73723 Solvers: Added support for extrapolated pressure boundary conditions
The boundary conditions of HbyA are now constrained by the new "constrainHbyA"
function which applies the velocity boundary values for patches for which the
velocity cannot be modified by assignment and pressure extrapolation is
not specified via the new
"fixedFluxExtrapolatedPressureFvPatchScalarField".

The new function "constrainPressure" sets the pressure gradient
appropriately for "fixedFluxPressureFvPatchScalarField" and
"fixedFluxExtrapolatedPressureFvPatchScalarField" boundary conditions to
ensure the evaluated flux corresponds to the known velocity values at
the boundary.

The "fixedFluxPressureFvPatchScalarField" boundary condition operates
exactly as before, ensuring the correct flux at fixed-flux boundaries by
compensating for the body forces (gravity in particular) with the
pressure gradient.

The new "fixedFluxExtrapolatedPressureFvPatchScalarField" boundary
condition may be used for cases with or without body-forces to set the
pressure gradient to compensate not only for the body-force but also the
extrapolated "HbyA" which provides a second-order boundary condition for
pressure.  This is useful for a range a problems including impinging
flow, extrapolated inlet conditions with body-forces or for highly
viscous flows, pressure-induced separation etc.  To test this boundary
condition at walls in the motorBike tutorial case set

    lowerWall
    {
        type            fixedFluxExtrapolatedPressure;
    }

    motorBikeGroup
    {
        type            fixedFluxExtrapolatedPressure;
    }

Currently the new extrapolated pressure boundary condition is supported
for all incompressible and sub-sonic compressible solvers except those
providing implicit and tensorial porosity support.  The approach will be
extended to cover these solvers and options in the future.

Note: the extrapolated pressure boundary condition is experimental and
requires further testing to assess the range of applicability,
stability, accuracy etc.

Henry G. Weller
CFD Direct Ltd.
2016-02-13 17:48:26 +00:00
566512bc28 driftFluxFoam: Set Udm BCs to type calculated 2016-02-11 08:48:15 +00:00
3205337e81 scalarTransportFoam: Added support for steady-state solution and all fvOptions
Optional under-relaxation is provided for steady-state solution.
Added missing fvOptions.constrain and fvOptions.correct calls.
2016-01-19 21:20:03 +00:00
bbb5a8086a reactingEulerFoam/interfacialModels/wallLubricationModels: Apply zero-gradient condition at walls 2016-01-19 15:26:42 +00:00
8effc018c1 reactingEulerFoam,twoPhaseEulerFoam: Corrected pressure equations for transonic operation
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1971
2016-01-17 11:02:21 +00:00
f19f48132e Consistently indent continuation backslashes in macro definitions 2016-01-11 13:00:56 +00:00
56fa7c0906 Update code to use the simpler C++11 template syntax removing spaces between closing ">"s 2016-01-10 22:41:16 +00:00
75cf86b769 Correct formatting: "forAll (" -> "forAll("
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1967
2016-01-09 23:10:16 +00:00
2647d178fa solvers: Change from pure RAS to any turbulence model
Provides support for running laminar.
2015-12-16 10:13:09 +00:00
4976c6e522 SRFSimpleFoam: Change from pure RAS to any turbulence model
Provides support for running laminar.
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1951
2015-12-15 19:05:08 +00:00
fc98b1f6dc reactingEulerFoam/interfacialModels/dragModels/TomiyamaKataokaZunSakaguchi: New drag model
Drag model for gas-liquid system of Tomiyama et al.

Reference:
    "Drag coefficients of single bubbles under normal and microgravity
     conditions"
    Tomiyama, A., Kataoka, I., Zun, I., Sakaguchi, T.
    JSME International Series B, Fluids and Thermal Engineering,
    Vol. 41, 1998, pp. 472-479

Provided by Alberto Passalacq
2015-12-09 16:51:46 +00:00
4930a5169a reactingMultiphaseEulerFoam: Correct and test LTS support 2015-12-09 15:39:45 +00:00
1d893a0bd6 reactingEulerFoam: Move LTS controls maxCo, maxDeltaT and rDeltaTSmoothingCoeff into the PIMPLE sub-dictionary
For consistency with all other solvers supporting the LTS option
2015-12-09 15:38:09 +00:00
fb871828a5 fvPatchFields, fvsPatchFields, pointPatchFields: specifically declare namespace of functions
It is better to declare the namespace of each function in the C file
rather than "open" the namespace as this may lead to inconsistencies
between the declaration in the H files and definition in the C file.
2015-12-08 22:29:05 +00:00
17cc8483ef saturationModels/Antoine: Corrected dimensions in Tsat
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1940
2015-12-05 16:12:57 +00:00
4025d6ebdd reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels: Added support for fvOptions 2015-12-03 16:39:13 +00:00
a52cae9102 reactingEulerFoam: Lookup fvOptions from the mesh rather than construct a local copy 2015-12-02 15:39:45 +00:00
736621b945 fvOptions: Reorganized and updated to simplify use in sub-models and maintenance
fvOptions are transferred to the database on construction using
fv::options::New which returns a reference.  The same function can be
use for construction and lookup so that fvOptions are now entirely
demand-driven.

The abstract base-classes for fvOptions now reside in the finiteVolume
library simplifying compilation and linkage.  The concrete
implementations of fvOptions are still in the single monolithic
fvOptions library but in the future this will be separated into smaller
libraries based on application area which may be linked at run-time in
the same manner as functionObjects.
2015-12-02 11:49:52 +00:00
ba2f46f12a applications: Added fvOptions library to link 2015-12-01 16:09:19 +00:00
3dfe844d9a applications/solvers: Added call to validate the turbulence model after construction
See also commit 52d83407f3
2015-12-01 10:25:38 +00:00
90afa6ddb5 adjointShapeOptimizationFoam: Added support for fvOptions 2015-12-01 10:05:44 +00:00
d7c56992e3 boundaryFoam: Added support for fvOptions 2015-12-01 10:05:22 +00:00
8995550787 PDRFoam: Added support for fvOptions 2015-12-01 10:04:56 +00:00
d047107489 chtMultiRegionFoam, chtMultiRegionSimpleFoam, buoyantPimpleFoam, buoyantSimpleFoam: Added support for hRef 2015-11-30 16:29:10 +00:00
402c8710d9 alphatWallBoilingWallFunctionFvPatchScalarField: Updated to compile SP 2015-11-29 21:40:16 +00:00
c0ddac32ae turbulenceModels/RAS/kEpsilon/kEpsilon: Added experimental support for fvOptions 2015-11-28 19:07:42 +00:00
2dbf835485 reactingTwoPhaseEulerFoam: Added thermal wall-functions with support for wall-boiling
Code and tutorial case provided by Juho Peltola
2015-11-27 18:51:23 +00:00
0a7ce682d2 fixedMultiPhaseHeatFlux: Corrected patch kappaEff evaluation 2015-11-24 11:09:50 +00:00
c40faa99e6 fixedMultiPhaseHeatFlux: Added optional relaxation 2015-11-23 16:52:18 +00:00
cb04874671 alphatFixedDmdtWallBoilingWallFunction: Obtain the turbulence model directly from the phase 2015-11-23 14:59:46 +00:00
64690f39cc fixedMultiPhaseHeatFlux: Calculates a wall temperature that produces the specified overall wall heat flux
across all the phases in an Eulerian multi-phase simulation.

Intended to be used with copiedFixedValue to ensure that phase wall
temperature are consistent:
    - Set 'fixedMultiPhaseHeatFlux' boundary for one of the phases
    - Use 'copiedFixedValue' for all the other phases.

Based on code provided by Juho Peltola
2015-11-23 14:50:05 +00:00
f147cba245 alphatFixedDmdtWallBoilingWallFunction: Added relaxation
Patch provided by Juho Peltola
2015-11-23 14:22:36 +00:00
85c79d8398 fvOptions: New buoyancyForce and buoyancyEnergy
Provides run-time selection of buoyancy sources for compressible solvers

Replaces the built-in buoyancy sources in XiFoam, reactingFoam and
rhoReactingFoam.

e.g. in constant/fvOptions specify

momentumSource
{
    type            buoyancyForce;

    buoyancyForceCoeffs
    {
        fieldNames      (U);
    }
}

and optionally specify the buoyancy energy source in the enthalpy
equation:

energySource
{
    type            buoyancyEnergy;

    buoyancyEnergyCoeffs
    {
        fieldNames      (h);
    }
}

or internal energy equation

energySource
{
    type            buoyancyEnergy;

    buoyancyEnergyCoeffs
    {
        fieldNames      (e);
    }
}
2015-11-23 09:29:10 +00:00
62945ab1ea chemFoam: Remove unused turbulence model 2015-11-21 18:30:35 +00:00
341b5b832b reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine: Corrected Tsat expression
Patch provided by Daniel Jasinski
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1893
2015-11-21 10:41:46 +00:00
d968ee30e1 TurbulenceModels: Improved instantiation of single-phase models in solvers
Simplifies lookup of RAS or LES models
2015-11-18 21:10:03 +00:00
3050ff925a rhoReactingFoam: Updated to use the latest UEqn.H from reactingFoam 2015-11-18 21:09:10 +00:00
91261b3047 reactingFoam: Added support for PIMPLE-consistent and pressure relaxation
Pressure relaxation is useful with LTS to damp acoustic waves
2015-11-18 09:34:16 +00:00
9be1bc411c reactingEulerFoam: Updated phase-change support
Patches provided by Juho Peltola
2015-11-15 16:57:52 +00:00
17fdf51000 reactingEulerFoam/interfacialModels/wallDampingModels: Added interpolatedWallDamping abstract base-class
To simplify linear, sine and cosine wall-damping implementation
2015-11-15 13:32:19 +00:00
7197f68670 reactingEulerFoam/interfacialModels/wallDampingModels: Added cosine and sine damping functions 2015-11-14 21:25:09 +00:00
6a59811e09 reactingEulerFoam/interfacialModels/liftModels: wallDampedLift
New lift model supporting near-wall damping using the new
wallDampingModels.

e.g.

lift
(
    (air in water)
    {
        type            wallDamped;
        lift
        {
            type            constantCoefficient;
            Cl              0.5;
        }
        wallDamping
        {
            type            linear;
            Cd              0.5;
        }
    }
);

in which a linear near-wall damping function min(y/(Cd*d), 1) is applied to the constant
coefficient lift model.  Additional wall-damping functions will be added.
2015-11-14 19:31:41 +00:00
6fe856136d reactingTwoPhaseEulerFoam, reactingMultiphaseEulerFoam: Added nEnergyCorrectors
to allow iteration over the energy equations to improve stability for phase-change.
Additionally if nEnergyCorrectors is set to 0 the energy equations are
not solved which may be beneficial during the startup of some cases.
2015-11-13 22:06:52 +00:00
e2ef006b91 applications: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 17:53:31 +00:00
78d7482e5b SolverPerformance: Complete the integration of the templated SolverPerformance<Type>
Now solvers return solver performance information for all components
with backward compatibility provided by the "max" function which created
the scalar solverPerformance from the maximum component residuals from
the SolverPerformance<Type>.

The residuals functionObject has been upgraded to support
SolverPerformance<Type> so that now the initial residuals for all
(valid) components are tabulated, e.g. for the cavity tutorial case the
residuals for p, Ux and Uy are listed vs time.

Currently the residualControl option of pimpleControl and simpleControl
is supported in backward compatibility mode (only the maximum component
residual is considered) but in the future this will be upgraded to
support convergence control for the components individually.

This development started from patches provided by Bruno Santos, See
http://www.openfoam.org/mantisbt/view.php?id=1824
2015-11-10 08:50:11 +00:00