Commit Graph

2325 Commits

Author SHA1 Message Date
11eaf751d3 distanceSurface, sampledCuttingPlane, foamyHexMeshBackgroundMesh: Updated for new isoSurface implementation 2018-11-13 14:50:08 +00:00
c4dc7f0f8e isoSurface: Improved iso-surface algorithm
Includes topological point generation and optional removal of all points (and
triangles) that do not originate from mesh edges.  This generates
polygons rather than triangles providing smoother surfaces and significantly
small files (~ factor of 3-4 smaller).

Contributed by Mattijs Janssens
2018-11-13 14:47:19 +00:00
0b99b5af1a sampling: Removed deprecated isoSurfaceCell 2018-11-13 12:14:13 +00:00
c3018b3f07 limitedSchemes OSPRE, vanAlbada: ensure r is positive
Patch contributed by Alberto Passalacqua
Resolves bug-report https://bugs.openfoam.org/view.php?id=3100
2018-11-12 22:48:13 +00:00
3e45506246 SubDimensionedField: Removed
This was not being used and had not been kept up to date. It also didn't
actually do dimension checking, so the name was misleading, and the
functionality added on top of SubField was minimal.
2018-11-12 15:03:36 +00:00
06d8f79814 coneInjection: Combined cone and coneNozzle injections
coneInjection has been extended to include the functionality of
coneNozzleInjection, and the latter has been removed.

Some parameters have changed names. The "positionAxis" entry from
coneInjection has been removed in preferance of coneNozzleInjection's
single "position" and "direction" entries. This means that only one
injection site is possible per model (dictionary substitutions mean that
only minimal additions are required to add further injection sites with
the same parameters). The name of the velocity magnitude has been
standardised as "Umag" and "innerDiameter" and "outerDiamater" have been
renamed "dInner" and "dOuter" for consistency with the inner and outer
spray angles.

Velocity magnitude and diameters are no longer read when they are not
required.

The randomisation has been altered so that the injections generate a
uniform distribution on an cross section normal to the direction of
injection. Previously there was an unexplained bias towards the
centreline.

An example specification with a full list of parameters is shown below.

    injectionModels
    {
        model1
        {
            type            coneInjection;

            // Times
            SOI             0;
            duration        1;

            // Quantities
            massTotal       0; // <-- not used with these settings
            parcelBasisType fixed;
            parcelsPerSecond 1000000;
            flowRateProfile constant 1;
            nParticle       1;

            // Sizes
            sizeDistribution
            {
                type        fixedValue;
                fixedValueDistribution
                {
                    value   0.0025;
                }
            }

            // Geometry
            positions       (-0.15 -0.1 0);
            directions      (1 0 0);
            thetaInner      0;
            thetaOuter      45;
            // - Inject at a point
            injectionMethod point;
            // - Or, inject over a disc:
            /*
            injectionMethod disc;
            dInner          0;
            dOuter          0.05;
            */

            // Velocity
            // - Inject with constant velocity
            flowType        constantVelocity;
            Umag            1;
            // - Or, inject with flow rate and discharge coefficient
            //   This also requires massTotal, dInner and dOuter
            /*
            flowType        flowRateAndDischarge;
            Cd              0.9;
            */
            // - Or, inject at a pressure
            /*
            flowType        pressureDrivenVelocity;
            Pinj            10e5;
            */
        }

        model2
        {
            // The same as model1, but at a different position
            $model1;
            position        (-0.15 0.1 0);
        }
    }
2018-11-12 15:02:03 +00:00
ecaa6fb966 totalFlowRateAdvectiveDiffusiveFvPatchScalarField: Generalised the turbulence models lookup to support LES and RAS
Patch provided by Daniel Jasinski
Resolves feature request https://bugs.openfoam.org/view.php?id=3075
2018-11-09 14:47:26 +00:00
c2e57015ee dictionary::includeEntry: Reinstate the parent dictionary FoamFile entry 2018-11-08 23:05:05 +00:00
8ee41932d6 externalWallHeatFluxTemperature: Avoid floating point exception
Patch contributed by Juho Peltola, VTT.
Resolves bug-report https://bugs.openfoam.org/view.php?id=3101
2018-11-07 12:11:30 +00:00
9ecbf3b46f Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-11-03 10:01:18 +00:00
3419593a95 liquidProperties::C3H6O: Corrected enthalpy coefficients
Patch contributed by Timo Niemi, VTT.
Resolves bug-report https://bugs.openfoam.org/view.php?id=3085
2018-11-03 09:59:52 +00:00
b1d3aefb6c rhoReactionThermos: Instantiated WLF transport model 2018-10-31 11:12:21 +00:00
80cc9603a1 thermophysicalModels::eRefConstThermo: New thermodynamics to be used with internal energy
in preference hRefConstThermo.
2018-10-26 18:19:44 +01:00
fc3861dacf functionObjects::turbulenceFields: The field name prefix "turbulenceProperties:" is now optional
By default the prefix is no longer added to the field names but the previous
behaviour can be reproduced by setting the optional "prefix" entry to "on" or
"yes".
2018-10-26 11:41:08 +01:00
2249f8ad5c functionObject::turbulenceFields: Added support for basic compressible turbulence models without heat transfer support 2018-10-25 20:32:00 +01:00
0f422c2a54 thermophysicalModels: Changed constFluidEThermoPhysics and constEThermoPhysics to use eConstThermo rather than hConstThermo
to avoid the need to evaluate departure functions and simplify evaluation of the
temperature.  In general it makes more sense to use and e/Cv based
thermodynamics when solving for internal energy rather than h/Cp and have
convert between the energy forms.

All related tutorials and test cases have also been updated.
2018-10-25 10:45:45 +01:00
94e8ac2a25 EtoHthermo.H: Corrected Ha 2018-10-24 23:23:25 +01:00
da339ac190 equationOfState::perfectFluid: Added Pstd term to departure function 2018-10-24 20:11:35 +01:00
139d75be31 TurbulenceModels::LRR: added wallDist.H 2018-10-23 12:17:44 +01:00
76425c1021 wave: Formatted references according the style guide 2018-10-19 11:06:25 +01:00
a0a88d66be volPointInterpolation: Interpolation with patch-type overrides
This resolves bug report https://bugs.openfoam.org/view.php?id=2057
2018-10-19 11:06:25 +01:00
f9971f80d7 thermophysicalModels::equationOfState: Completed departure functions for all except adiabaticPerfectFluid
Changed liquid thermo from sensibleEnthalpy to sensibleInternalEnergy in
tutorials.  It is generally more convergent and stable to solve for internal
energy if the fluid is incompressible or weakly compressible.
2018-10-19 10:31:42 +01:00
ffc354252f equationOfState::perfectFluid: Added enthalpy departure function
Updated steamInjection to solve for internal energy for the water.
2018-10-18 12:10:28 +01:00
62d278467c src/OpenFOAM/Make/files: Updated 2018-10-17 21:23:17 +01:00
625c6854fd equationOfState::Boussinesq, PengRobinsonGas, icoPolynomial added missing departure functions 2018-10-17 18:53:07 +01:00
91d3f06846 polynomialFunction: Removed unused class 2018-10-17 18:52:28 +01:00
a8fc88b8ee DimensionedField, GeometricField: Added assignment to zero
Zeroing a dimensioned field can now be achieved by assignment to the
zero type. This prevents the clutter associated with constructing an
appropriate dimensioned type, or having to use multiply-equals-zero as a
workaround.
2018-10-17 13:41:16 +01:00
63b641a068 interpolationCellPointWallModified: Restored interpolation method
This interpolation method was previously removed by commit fbf00209.

The intention of this method is to provide a slip-like wall boundary
condition for the velocity when interpolated to the location of a
Lagrangian element. This is difficult because any velocity which points
through the wall can cause a drag model and a rebound wall interaction
to "fight"; i.e., the drag pushes the particle to the wall, the wall
bounces it back. This can result in the program hanging.

This method extrapolates a vector field to the wall points and then
modifies the result so that it does not point through the wall. It does
this by rotating the vectors towards the (reversed) point normal. The
result is also scaled so that is reduced to zero if the necessary
rotation exceeds 90 degrees.

This provides an alternate resolution to bug report
https://bugs.openfoam.org/view.php?id=2826
2018-10-17 08:22:13 +01:00
7ead70d89a thermophysicalModels::equationOfState: Added E and Cv departure functions 2018-10-16 17:53:17 +01:00
fc00e4c0c9 thermophysicalModels: Added direct support for Es, Ea and Cv as thermodynamic primitives 2018-10-16 09:59:42 +01:00
8102dd3e47 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-10-15 10:19:50 +01:00
47efc8f898 cyclicAMIPointPatchField: Fixed type-detection for ACMI 2018-10-15 09:17:19 +01:00
45a4930538 rhoThermos: Instantiate liquid thermo packages on eConstThermo rather than hConstThermo
to provide better numerical behaviour of the conversion of internal energy to temperature.
2018-10-13 21:50:10 +01:00
7f16808709 eConstThermo: Improve consistency between the H and E functions
so that conversions between H and E and back again reproduce the original
values.
2018-10-13 21:46:48 +01:00
e1e7d4d763 nutkAtmRoughWallFunctionFvPatchScalarField: Minor improvement to documentation 2018-10-13 21:46:22 +01:00
c17e6dbfe4 KinematicParcel: Do not execute face/patch functions when inactive
Resolves bug report https://bugs.openfoam.org/view.php?id=3084
2018-10-12 08:57:10 +01:00
8f3f2f7365 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-10-05 21:30:13 +01:00
ff2c2dfea3 turbulentTransportModel: Renamed template parameter
Resolves request https://bugs.openfoam.org/view.php?id=3081
2018-10-05 21:29:05 +01:00
94d5db7198 treeBoundBox: Improved asymmetry
This fixes a failure in the foamyHexMesh mixerVessel case
2018-10-05 16:06:26 +01:00
94d0b9ffe5 TurbulenceModels::generalizedNewtonian: New structure to support generalized Newtonian laminar transport
Within this structure the BirdCarreau, Casson, CrossPowerLaw, HerschelBulkley,
powerLaw and strainRateFunction strain-dependent viscosity based non-Newtonian
fluid models may be selected for incompressible or compressible flow.

In the case of compressible flow the strain-dependent viscosity functions are
applied to the temperature dependent viscosity so that if the WLF viscosity
model is chosen in conjunction with the CrossPowerLaw the effective model is
Cross-WLF which is commonly used for polymer flow.

These models are selected in the constant/turbulenceProperties file, e.g.

simulationType  laminar;

laminar
{
    laminarModel generalizedNewtonian;

    viscosityModel CrossPowerLaw;

    nuInf      10;
    m          0.4;
    n          3;
}

This new implementation is more general and flexible than the previous
incompressible only non-Newtonian viscosity models, which were selected in the
constant/transportProperties file.  This implementation is now deprecated and
will be phased-out.
2018-10-04 22:31:48 +01:00
79771811d8 thermophysicalModels/specie/transport: Added WLF transport model
Description
    Transport package using the Williams-Landel-Ferry model.

    Templated into a given thermodynamics package (needed for thermal
    conductivity).

    Dynamic viscosity [kg/m.s]
    \f[
        \mu = \mu_0 \exp \left(\frac{-C_1 ( T - T_r )}{C_2 + T - T_r}\right)
    \f]

    References:
    \verbatim
        Williams, M. L., Landel, R. F., & Ferry, J. D. (1955).
        The temperature dependence of relaxation mechanisms
        in amorphous polymers and other glass-forming liquids.
        Journal of the American Chemical society, 77(14), 3701-3707.
    \endverbatim
2018-10-04 22:29:38 +01:00
a7520838f9 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-10-04 22:25:11 +01:00
c9ae73f1e1 SingleKineticRateDevolatilisation.H: Corrected documentation 2018-10-04 22:24:09 +01:00
6aa4fe45f8 Corrected line lengths over 80 characters 2018-10-03 12:18:58 +01:00
39ad49bc34 meshSearch: Prevent hang in calculation of line-boundary intersections
This fix changes how the intersections loop ignores previously
intersected faces. It now marks them by their index so that subsequent
iterations ignore them.

Before this change, after an intersection was found the start point was
advanced by a small amount to move the past the intersection. The
problem with this was if multiple boundary faces or the end point were
in close proximity to the intersection then the move forward might span
them. This could lead to intersections being missed or counted multiple
times, in some cases indefinitely.

Based on a patch contributed by Mattijs Janssens
Resolves bug report https://bugs.openfoam.org/view.php?id=1147
2018-10-03 08:48:21 +01:00
13fe8ed035 VectorSpace: Return result of normalise in the original form 2018-10-02 11:47:01 +01:00
36ac553826 primitives:1️⃣ Specialize the '+' and '-' operators for scalar 2018-10-01 10:36:44 +01:00
de1621ee65 POSIX::readDir: Simplified handling of dirEntries 2018-09-29 10:33:50 +01:00
0c866b5e10 POSIX::readDir: Filter duplicates generated by the filtering of variants
Resolves bug-report https://bugs.openfoam.org/view.php?id=3078
2018-09-28 16:32:57 +01:00
774f76fc66 primitives/one: Corrected return type of '+' and '-' operators 2018-09-28 14:37:22 +01:00