Commit Graph

2979 Commits

Author SHA1 Message Date
Andrew Heather
66f473b11c ENH: Updated extractEulerianParticles and deps after change to barycentric tracking 2017-12-22 13:19:41 +00:00
sergio
1d77b78418 ENH: changing endTime for sonicFoam/RAS/nacaAirfoil
Fixing fvOption in multiphase/reactingTwoPhaseEulerFoam/laminar/steamInjection
2017-12-21 12:53:10 -08:00
Mark Olesen
9c38ad6ae4 TUT: relocate tutorial log analysis as functions for reuse in modules
- removed some unneeded tutorial files
2017-12-21 14:17:20 +01:00
mattijs
d259402e40 GIT: .foam: left over 2017-12-21 13:03:52 +00:00
Andrew Heather
351fa4f979 TUT: updated sonicFoam case (see #677) 2017-12-21 11:16:28 +00:00
sergio
e7d9a1accf ENH: Changing BC for U to slip 2017-12-20 08:32:53 -08:00
sergio
ef08bc56ba BUG: Removing finiteArea lib from option file for reconstructPar.
Modifying relaxation factors for the angledDuct for rhoPimpleFoam
2017-12-19 14:51:42 -08:00
sergio
985a18df75 Adding overPotentialFoam and overRhoSimpleFoam and tutorials 2017-12-19 11:33:43 -08:00
sergio
a6d88f2fe7 Adding turbulence to RAS-Tjunction and reducing MRF in mixerVessel2D to make it laminar 2017-12-19 11:02:31 -08:00
Mark Olesen
d20b981fef STYLE: add End markers to some tutorials and finiteArea utils (issue #671) 2017-12-19 14:59:24 +01:00
Mark Olesen
8bf98e74da TUT: added tutorial files (issue #671)
- also cleanup by using 0.orig/ directory.
- use foamListRegions to obtain region names
2017-12-19 14:40:33 +01:00
Mark Olesen
95e357ede4 TUT: use uniform scaling short form
Eg,
    transformPoints -scaling 0.01
instead of
    transformPoints -scaling '(0.01 0.01 0.01)'
2017-12-19 09:41:54 +01:00
sergio
709d2f43b1 Addition of tutorial using energyTransport FO + ArrheniusBirdCarreau laminar transport 2017-12-18 16:12:48 -08:00
sergio
6b33d0ec6b Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-12-18 08:24:58 -08:00
Andrew Heather
00a8c8bc5f BUG: liquidFilmFoam - corrected double looping 2017-12-18 11:21:07 +00:00
Will Bainbridge
f37ec93404 ENH: chtMultiRegionFoam: Added support for reactions
chtMultiRegionFoam now supports reaction/combustion modelling in fluid
regions in the same way as reactingFoam.

TUT: chtMultiRegionFoam: Added reverseBurner tutorial

This tutorial demonstrates chtMultiRegionFoam's combustion capability
2017-12-13 08:37:25 +00:00
Andrew Heather
700e17bdb4 INT: Initial check-in of IH Cantabria streamFunction wave generation
model and test case

Code supplied by Gabriel BARAJAS OJEDA
2017-12-08 15:54:34 +00:00
Andrew Heather
1af512ae51 ENH: Added divergence scheme test case 2017-12-05 11:43:09 +00:00
Andrew Heather
dcad66f7d3 INT: Additional integration updates/clean-up 2018-05-14 13:21:22 +01:00
Will Bainbridge
22aae2816d ENH: combustionModels: Changed the construction order
The combustion and chemistry models no longer select and own the
thermodynamic model; they hold a reference instead. The construction of
the combustion and chemistry models has been changed to require a
reference to the thermodyanmics, rather than the mesh and a phase name.

At the solver-level the thermo, turbulence and combustion models are now
selected in sequence. The cyclic dependency between the three models has
been resolved, and the raw-pointer based post-construction step for the
combustion model has been removed.

The old solver-level construction sequence (typically in createFields.H)
was as follows:

    autoPtr<combustionModels::psiCombustionModel> combustion
    (
        combustionModels::psiCombustionModel::New(mesh)
    );

    psiReactionThermo& thermo = combustion->thermo();

    // Create rho, U, phi, etc...

    autoPtr<compressible::turbulenceModel> turbulence
    (
        compressible::turbulenceModel::New(rho, U, phi, thermo)
    );

    combustion->setTurbulence(*turbulence);

The new sequence is:

    autoPtr<psiReactionThermo> thermo(psiReactionThermo::New(mesh));

    // Create rho, U, phi, etc...

    autoPtr<compressible::turbulenceModel> turbulence
    (
        compressible::turbulenceModel::New(rho, U, phi, *thermo)
    );

    autoPtr<combustionModels::psiCombustionModel> combustion
    (
        combustionModels::psiCombustionModel::New(*thermo, *turbulence)
    );

ENH: combustionModel, chemistryModel: Simplified model selection

The combustion and chemistry model selection has been simplified so
that the user does not have to specify the form of the thermodynamics.

Examples of new combustion and chemistry entries are as follows:

    In constant/combustionProperties:

        combustionModel PaSR;

        combustionModel FSD;

    In constant/chemistryProperties:

        chemistryType
        {
            solver          ode;
            method          TDAC;
        }

All the angle bracket parts of the model names (e.g.,
<psiThermoCombustion,gasHThermoPhysics>) have been removed as well as
the chemistryThermo entry.

The changes are mostly backward compatible. Only support for the
angle bracket form of chemistry solver names has been removed. Warnings
will print if some of the old entries are used, as the parts relating to
thermodynamics are now ignored.

ENH: combustionModel, chemistryModel: Simplified model selection

Updated all tutorials to the new format

STYLE: combustionModel: Namespace changes

Wrapped combustion model make macros in the Foam namespace and removed
combustion model namespace from the base classes. This fixes a namespace
specialisation bug in gcc 4.8. It is also somewhat less verbose in the
solvers.

This resolves bug report https://bugs.openfoam.org/view.php?id=2787

ENH: combustionModels: Default to the "none" model

When the constant/combustionProperties dictionary is missing, the solver
will now default to the "none" model. This is consistent with how
radiation models are selected.
2017-11-23 16:57:12 +00:00
Henry Weller
ede4759b80 ENH: interFoam: Merged dynamic mesh functionality of interDyMFoam into interFoam
and replaced interDyMFoam with a script which reports this change.

The interDyMFoam tutorials have been moved into the interFoam directory.

This change is one of a set of developments to merge dynamic mesh functionality
into the standard solvers to improve consistency, usability, flexibility and
maintainability of these solvers.

Henry G. Weller
CFD Direct Ltd.

interMixingFoam, multiphaseInterFoam: Updated for changes to interFoam
2017-11-30 23:56:42 +00:00
Henry Weller
e50af751a4 ENH: pimpleFoam, rhoPimpleFoam, interDyMFoam: Rationalized mesh-motion support
Added support for mesh-motion update within PIMPLE loop in pimpleFoam and rhoPimpleFoam.
2017-11-30 13:07:42 +00:00
Henry Weller
2f888d1684 ENH: rhePimpleFoam: Merged dynamic mesh functionality of rhoPimpleDyMFoam into rhoPimpleFoam
and replaced rhoPimpleDyMFoam with a script which reports this change.

The rhoPimpleDyMFoam tutorials have been moved into the rhoPimpleFoam directory.

This change is the first of a set of developments to merge dynamic mesh
functionality into the standard solvers to improve consistency, usability,
flexibility and maintainability of these solvers.

Henry G. Weller
CFD Direct Ltd.

rhoReactingFoam: Updated for changes to rhoPimpleFoam files
2017-11-23 12:13:37 +00:00
Andrew Heather
c2ff8ea99e ENH: Added finiteArea support to foamToVTK 2017-11-21 16:33:33 +00:00
Henry Weller
81cea09983 ENH: pimpleDyMFoam: Improved efficiency and consistency when running on a static mesh
Now pimpleDyMFoam is exactly equivalent to pimpleFoam when running on a
staticFvMesh.  Also when the constant/dynamicMeshDict is not present a
staticFvMesh is automatically constructed so that the pimpleDyMFoam solver can
run any pimpleFoam case without change.

pimpleDyMFoam: Store Uf as an autoPtr for better error handling

pimpleFoam: Set initial deltaT from the Courant number

for improved stability on start-up and compatibility with pimpleDyMFoam

ENH: pimpleFoam: Merged dynamic mesh functionality of pimpleDyMFoam into pimpleFoam

and replaced pimpleDyMFoam with a script which reports this change.

The pimpleDyMFoam tutorials have been moved into the pimpleFoam directory.

This change is the first of a set of developments to merge dynamic mesh
functionality into the standard solvers to improve consistency, usability,
flexibility and maintainability of these solvers.

Henry G. Weller
CFD Direct Ltd.

tutorials/incompressible/pimpleFoam: Updated pimpleDyMFoam tutorials to run pimpleFoam

Renamed tutorials/incompressible/pimpleFoam/RAS/wingMotion/wingMotion2D_pimpleDyMFoam

-> tutorials/incompressible/pimpleFoam/RAS/wingMotion/wingMotion2D_pimpleFoam
2017-11-18 01:13:48 +00:00
sergio
9d7df50822 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-11-15 10:06:35 -08:00
mattijs
7924f24b4a STYLE: overLaplacianFoam: removed unused entries 2017-11-08 09:09:41 +00:00
Andrew Heather
6aa7b6ac2a STYLE: Header clean-up 2017-11-07 11:22:58 +00:00
Prashant
4bc9c98695 STYLE: Corrected file name in surface noise, added README file 2017-11-07 16:08:30 +05:30
sergio
684aa6751c Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-09-29 10:16:01 -07:00
mattijs
ce8695d804 BUG: reachingParcelFoam: requires p_rgh 2017-09-27 17:58:24 +01:00
Andrew Heather
50d1ac15ef INT: Integration updates in preparation for merge into the develop branch 2017-09-27 09:30:59 +01:00
Andrew Heather
ffb0409942 TUT: Tutorial updates - see #600 2017-09-26 12:25:50 +01:00
Andrew Heather
e48f3d6d52 BUG: Added missing #include. See #600 2017-09-26 09:29:45 +01:00
sergio
823ba60cae ENH: correcting new thermo type for reactingParcelFoam tutorials.
Correcting thermoSingleLayer.C mask field alpha to avoid heat sources where there is no film.
Tunning fvSolution for alpha for twoPhasePachuka tutorial
2017-09-22 16:45:45 -07:00
Hrvoje Jasak
0c64622341 Finite area port, Hrvoje Jasak
- with sphereSurfactantFoam and sphereTransport test case
2017-09-15 12:02:25 +01:00
mattijs
445017c741 BUG: snappyMultiRegionHeater: missing decomposeParDict. See #652. 2017-12-14 16:31:49 +00:00
Andrew Heather
d523d0a634 Merge branch 'feature-overset-lsq' into 'develop'
ENH: overset: new solvers, new stencil

See merge request Development/OpenFOAM-plus!180
2017-12-14 15:43:59 +00:00
mattijs
ddde330884 ENH: overset: new solvers, new stencil 2017-12-08 16:00:02 +00:00
mattijs
74b557d5f2 STYLE: indentation: trailing whitespace 2017-12-08 12:26:16 +00:00
Mark Olesen
1e7b67fdcf TUT: relocate externalCoupled heater tutorial, add steady-state version 2017-12-05 12:00:00 +01:00
Mark Olesen
eabce47e0d Merge branch 'feature-domain-decomposition' into 'develop'
Minor improvements for redistributePar

See merge request Development/OpenFOAM-plus!181
2017-12-08 17:09:44 +00:00
Mark Olesen
88423b2a6f TUT: snappyMultiRegionHeater with redistributePar 2017-12-08 16:06:30 +00:00
Mark Olesen
03b8275a83 ENH: add foamListRegions utility
- list all regions from constant/regionProperties:
     * foamListRegions

- list specific region type from constant/regionProperties:
     * foamListRegions fluid
     * foamListRegions solid
2017-12-08 14:05:25 +00:00
Andrew Heather
5a455dac34 TUT: tutorial updates 2017-12-06 12:53:10 +00:00
Andrew Heather
b137005449 Merge remote-tracking branch 'origin/master' into develop 2017-12-06 12:52:12 +00:00
Andrew Heather
6b97bf54ab TUT: Adding Alltest scripts 2017-12-05 12:19:47 +00:00
Mark Olesen
a9ffcab5af ENH: region-wise decomposition specification for decomposeParDict
Within decomposeParDict, it is now possible to specify a different
  decomposition method, methods coefficients or number of subdomains
  for each region individually.

  The top-level numberOfSubdomains remains mandatory, since this
  specifies the number of domains for the entire simulation.
  The individual regions may use the same number or fewer domains.

  Any optional method coefficients can be specified in a general
  "coeffs" entry or a method-specific one, eg "metisCoeffs".

  For multiLevel, only the method-specific "multiLevelCoeffs" dictionary
  is used, and is also mandatory.

----

ENH: shortcut specification for multiLevel.

  In addition to the longer dictionary form, it is also possible to
  use a shorter notation for multiLevel decomposition when the same
  decomposition method applies to each level.
2017-11-09 12:30:24 +01:00
Mark Olesen
966a941a64 ENH: fix foamListTimes to work with -fileHandler collated 2017-11-26 15:23:02 +01:00
Mark Olesen
d65ca495d3 STYLE: minor changes in comments 2017-11-22 10:52:42 +01:00
Mark Olesen
3cafdccb4c ENH: add dictionary-driven multi-pass stitchMesh facility
- the dictionary-driven variant of stitchMesh allows sequential
  application of 'stitch' operation with requiring intermediate
  writing to disk.

- Without arguments:
  * stitchMesh uses a system/stitchMeshDict or -dict dict

- With arguments:
  * master/slave patches specified on the command-line as in previous
    versions.
2017-11-10 01:53:30 +01:00
Henry Weller
f80334415c sixDoFRigidBodyState: New functionObject which writes the rigid-body state
Based on code contributed by SeongMo Yeon
Resolves feature request https://bugs.openfoam.org/view.php?id=2656
2017-09-09 19:00:56 +01:00
sergio
0eeffc318b ENH: Adding required interpolation for alpha.water in fvSchemes for overInterDyMFoam floatingBody tutorial 2017-09-08 15:40:22 -07:00
sergio
cfeb2c9233 ENH: adding oversetAdjustPhi to overInterFoam plus reconstructing U from phi in pEq. 2017-09-08 15:35:27 -07:00
Henry Weller
e2c4472ab6 STYLE: engineFoam: Renamed engineFoam -> XiEngineFoam and sprayEngineFoam -> engineFoam
XiEngineFoam is a premixed/partially-premixed combustion engine solver which
exclusively uses the Xi flamelet combustion model.

engineFoam is a general engine solver for inhomogeneous combustion with or
without spray supporting run-time selection of the chemistry-based combustion
model.
2017-09-19 17:01:54 +01:00
Henry Weller
3c58321b4b ENH: engineTime: Generalized to provide run-time selection of piston-motion
Standard crank-connecting rod and the new free-piston kinematics motion options
are provides, others can easily be added.

Contributed by Francesco Contino and Nicolas Bourgeois, BURN Research Group.
2017-09-19 09:26:26 +01:00
Henry Weller
293c0c3014 BUG: compressibleInterFoam family: Corrected transonic option
Resolves bug-report https://bugs.openfoam.org/view.php?id=2785

ENH: compressibleInterFoam family: merged two-phase momentum stress modelling from compressibleInterPhaseTransportFoam

The new momentum stress model selector class
compressibleInterPhaseTransportModel is now used to select between the options:

Description
    Transport model selection class for the compressibleInterFoam family of
    solvers.

    By default the standard mixture transport modelling approach is used in
    which a single momentum stress model (laminar, non-Newtonian, LES or RAS) is
    constructed for the mixture.  However if the \c simulationType in
    constant/turbulenceProperties is set to \c twoPhaseTransport the alternative
    Euler-Euler two-phase transport modelling approach is used in which separate
    stress models (laminar, non-Newtonian, LES or RAS) are instantiated for each
    of the two phases allowing for different modeling for the phases.

Mixture and two-phase momentum stress modelling is now supported in
compressibleInterFoam, compressibleInterDyMFoam and compressibleInterFilmFoam.
The prototype compressibleInterPhaseTransportFoam solver is no longer needed and
has been removed.
2017-12-09 21:03:59 +00:00
Mark Olesen
00b94c4a40 ENH: handle partially attached master/slave faces (issue #608)
- addresses problems if faces are already partly attached
  (eg, on a single vertex or along an edge).
2017-10-06 14:18:54 +02:00
Mark Olesen
4e48beffd4 ENH: support "one-shot" changes to the dictionary inputMode (issue #429)
- Instead of relying on #inputMode to effect a global change it is now
  possible (and recommended) to a temporary change in the inputMode
  for the following entry.

     #default   : provide default value if entry is not already defined
     #overwrite : silently remove a previously existing entry
     #warn      : warn about duplicate entries
     #error     : error if any duplicate entries occur
     #merge     : merge sub-dictionaries when possible (the default mode)

  This is generally less cumbersome than the switching the global
  inputMode. For example to provide a set of fallback values.

      #includeIfPresent "user-files"
      ...
      #default value uniform 10;

  vs.

      #includeIfPresent "user-files"
      #inputMode protect
      ...
      value uniform 10;
      #inputMode merge    // _Assuming_ we actually had this before

  These directives can also be used to suppress the normal dictionary
  merge semantics:

     #overwrite dict { entry val; ... }
2017-07-29 17:44:22 +02:00
Pete Bachant
9b05e43626 BUG: Fix viscosity in simpleFoam motorBike tutorial (fixes #550) 2017-07-27 19:55:12 -04:00
Andrew Heather
b85457fc35 STYLE: Updated directory names for interCondensatingEvaporatingFoam solver. Fixes #533 2017-07-19 08:24:17 +01:00
Andrew Heather
d7fd550e61 ENH: Reinstated the wallBoundedStreamline function object
Note: performs its own tracking and does not rely on the base
particle::trackXXX functions, and uses a local particle position.

Look to update to barycentric tracking in the future.
2017-09-14 12:02:03 +01:00
Henry Weller
791e1ca2d2 Merged reactingParcelFilmFoam into reactingParcelFoam
The combined solver includes the most advanced and general functionality from
each solver including:

    Continuous phase
    Lagrangian multiphase parcels
    Optional film
    Continuous and Lagrangian phase reactions
    Radiation
    Strong buoyancy force support by solving for p_rgh

The reactingParcelFoam and reactingParcelFilmFoam tutorials have been combined
and updated.
2017-08-29 09:33:45 +01:00
Will Bainbridge
e7f979c424 TUT: tutorials: blockMesh: Added missing face projections to pipe tutorial 2017-12-14 12:59:15 +00:00
Henry Weller
dbc111e6ee ENH: compressibleInterPhaseTransportFoam: New variant of compressibleInterFoam supporting separate phase stress models
In this version of compressibleInterFoam separate stress models (laminar,
non-Newtonian, LES or RAS) are instantiated for each of the two phases allowing
for completely different modeling for the phases.

e.g. in the climbingRod tutorial case provided a Newtonian laminar model is
instantiated for the air and a Maxwell non-Newtonian model is instantiated for
the viscoelastic liquid.  To stabilize the Maxwell model in regions where the
liquid phase-fraction is 0 the new symmTensorPhaseLimitStabilization fvOption is
applied.

Other phase stress modeling combinations are also possible, e.g. the air may be
turbulent but the liquid laminar and an RAS or LES model applied to the air
only.  However, to stabilize this combination a suitable fvOption would need to
be applied to the turbulence properties where the air phase-fraction is 0.

Henry G. Weller, Chris Greenshields
CFD Direct Ltd.
2017-10-30 09:36:43 +00:00
Will Bainbridge
79ad0f0613 ENH: semiPermeableBaffle: Added two new boundary conditions and a tutorial
Two boundary conditions for the modelling of semi-permeable baffles have
been added. These baffles are permeable to a number of species within
the flow, and are impermeable to others. The flux of a given species is
calculated as a constant multipled by the drop in mass fraction across
the baffle.

The species mass-fraction condition requires the transfer constant and
the name of the patch on the other side of the baffle:

boundaryField
{
    // ...

    membraneA
    {
        type            semiPermeableBaffleMassFraction;
        samplePatch     membranePipe;
        c               0.1;
        value           uniform 0;
    }
    membraneB
    {
        type            semiPermeableBaffleMassFraction;
        samplePatch     membraneSleeve;
        c               0.1;
        value           uniform 1;
    }
}

If the value of c is omitted, or set to zero, then the patch is
considered impermeable to the species in question. The samplePatch entry
can also be omitted in this case.

The velocity condition does not require any special input:

boundaryField
{
    // ...

    membraneA
    {
        type            semiPermeableBaffleVelocity;
        value           uniform (0 0 0);
    }
    membraneB
    {
        type            semiPermeableBaffleVelocity;
        value           uniform (0 0 0);
    }
}

These two boundary conditions must be used in conjunction, and the
mass-fraction condition must be applied to all species in the
simulation. The calculation will fail with an error message if either is
used in isolation.

A tutorial, combustion/reactingFoam/RAS/membrane, has been added which
demonstrates this transfer process.

This work was done with support from Stefan Lipp, at BASF.
2017-10-19 10:00:36 +01:00
Henry Weller
a45b422b75 STYLE: DPMFoam, MPPICFoam: Renamed alphaPhic -> alphaPhi.<continuous phase name>
for consistency with multiphase solvers and compatibility with the generalized
TurbulenceModels library.
2017-10-11 23:04:42 +01:00
Henry Weller
4636f190da STYLE: engineFoam: Renamed engineFoam -> XiEngineFoam and sprayEngineFoam -> engineFoam
XiEngineFoam is a premixed/partially-premixed combustion engine solver which
exclusively uses the Xi flamelet combustion model.

engineFoam is a general engine solver for inhomogeneous combustion with or
without spray supporting run-time selection of the chemistry-based combustion
model.
2017-09-19 17:01:54 +01:00
Henry Weller
01efb2c85b ENH: engineTime: Generalized to provide run-time selection of piston-motion
Standard crank-connecting rod and the new free-piston kinematics motion options
are provides, others can easily be added.

Contributed by Francesco Contino and Nicolas Bourgeois, BURN Research Group.
2017-09-19 09:26:26 +01:00
sergio
ffabc42dbf ENH: Arrhenius viscocity model and energyTransport function-object
- Arrhenius viscocity model for incompressible viscocity.

- energyTransport FO for incompressible single and multiple phase
  flows and viscousDissipation fvOption source.

- Tutorial to show the use of energyTransport:
     multiphase/multiphaseInterFoam/laminar/mixerVessel2D

- Tutorial to show viscousDissipation:
     compressible/rhoPimpleFoam/RAS/TJunction
2017-10-25 10:17:55 -07:00
Mark Olesen
f603e3e1de STYLE: pass through -test argument 2017-10-20 14:10:12 +02:00
Mark Olesen
c792a9d7df TUT: script cleanup, provide cleanCase0 for commonly used operation 2017-10-12 19:20:56 +02:00
Mark Olesen
b29f2a61b6 BUG: missing parallel-aware for metis-like decomposition 2017-10-13 12:45:28 +02:00
Mark Olesen
85f5fb730f TUT: avoid backticks in scripts
- consistent versions in headers
2017-10-05 14:27:48 +02:00
mattijs
c903c39763 BUG: Allrun: run in non-test mode. Handle ./Alltest correctly 2017-10-05 09:52:17 +01:00
Andrew Heather
4518004df4 TUT: Updated RutlandVortex case - Thanks to Thilo Knacke 2017-06-29 19:49:32 +01:00
Andrew Heather
07d9d3fc04 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-06-29 14:18:41 +01:00
Andrew Heather
a900153f57 ENH: Added new vortexShed tutorial to show vortex shedding and use of the Curle function object 2017-06-29 14:18:19 +01:00
Mark Olesen
a2d8e6e4f5 STYLE: remove old references to 'dx' and 'foamFile' 2017-06-28 16:11:24 +02:00
mattijs
191c8534e7 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-06-28 12:46:24 +01:00
mattijs
c5c48205fe BUG: pitzDaily: remove DebugSwitches 2017-06-28 12:46:01 +01:00
Mark Olesen
0f547660ce TUT: make it easier to perform dry runs for lumpedPointMotion 2017-06-28 12:16:38 +02:00
sergio
ff2a811bdb Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-06-27 08:13:09 -07:00
sergio
708a887077 ENH: change of setting for tutorials 2017-06-27 08:05:15 -07:00
Andrew Heather
aca6870580 TUT: Updated writeCompression flag entries 2017-06-27 15:55:20 +01:00
Andrew Heather
bd803d80c6 TUT: Removed unused nMoles entries 2017-06-27 15:51:34 +01:00
sergio
36cd20c429 STY: Upadting thermo in sphereDrop tutorial case 2017-06-26 08:49:35 -07:00
Andrew Heather
d415bf77bf Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-06-26 13:33:19 +01:00
Andrew Heather
4abc7a92ed STYLE: Header updates 2017-06-26 11:03:00 +01:00
sergio
0d3ada09f5 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-06-23 17:39:40 -07:00
sergio
2b733dfed1 ENH: Changing BC for nut and omega for interDyMFoam/RAS/motorBike tutorial 2017-06-23 17:38:52 -07:00
sergio
5d5cc61bef ENH: Improving schemes for interDyMFoam/RAS/motorBike 2017-06-23 17:36:59 -07:00
Mark Olesen
491657047b TUT: simple tutorial demonstrating lumpedPointMotion 2017-06-23 14:52:27 +01:00
Mark Olesen
8005e2b4a2 ENH: add cloneParallelCase function into bin/tools/RunFunctions 2017-06-22 14:45:53 +01:00
Henry Weller
3df71d18d0 compressibleInterFoam: Improved mass conservation
using the continuity error correction formulation developed for
twoPhaseEulerFoam and reactingEulerFoam.
2017-06-22 14:42:36 +01:00
mattijs
e17e8e4e96 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop
Conflicts:
	tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/T
	tutorials/basic/overLaplacianDyMFoam/heatTransfer/0.orig/zoneID
2017-06-22 09:48:31 +01:00
Mark Olesen
6ecddbe4a5 STYLE: use #includeEtc in tutorial cases
#includeEtc "caseDicts/setConstraintTypes"
 vs.
    #include "${WM_PROJECT_DIR}/etc/caseDicts/setConstraintTypes"
2017-06-21 16:42:57 +01:00
mattijs
cbbf08dc0d STYLE: tutorials: fix headers 2017-06-21 12:49:28 +01:00
Andrew Heather
a6ef8b9027 INT: Integration of isoAdvector and supporting material
Community contribution from Johan Roenby, DHI

IsoAdvector is a geometric Volume-of-Fluid method for advection of a
sharp interface between two incompressible fluids. It works on both
structured and unstructured meshes with no requirements on cell shapes.
IsoAdvector is as an alternative choice for the interface compression
treatment with the MULES limiter implemented in the interFoam family
of solvers.

The isoAdvector concept and code was developed at DHI and was funded
by a Sapere Aude postdoc grant to Johan Roenby from The Danish Council
for Independent Research | Technology and Production Sciences (Grant-ID:
DFF - 1337-00118B - FTP).
Co-funding is also provided by the GTS grant to DHI from the Danish
Agency for Science, Technology and Innovation.

The ideas behind and performance of the isoAdvector scheme is
documented in:

    Roenby J, Bredmose H, Jasak H. 2016 A computational method for sharp
    interface  advection. R. Soc. open sci. 3: 160405.
    [http://dx.doi.org/10.1098/rsos.160405](http://dx.doi.org/10.1098/rsos.160405)

Videos showing isoAdvector's performance with a number of standard
test cases can be found in this youtube channel:

    https://www.youtube.com/channel/UCt6Idpv4C8TTgz1iUX0prAA

Project contributors:

* Johan Roenby <jro@dhigroup.com> (Inventor and main developer)
* Hrvoje Jasak <hrvoje.jasak@fsb.hr> (Consistent treatment of
  boundary faces including processor boundaries, parallelisation,
  code clean up
* Henrik Bredmose <hbre@dtu.dk> (Assisted in the conceptual
  development)
* Vuko Vukcevic <vuko.vukcevic@fsb.hr> (Code review, profiling,
  porting to foam-extend, bug fixing, testing)
* Tomislav Maric <tomislav@sourceflux.de> (Source file
  rearrangement)
* Andy Heather <a.heather@opencfd.co.uk> (Integration into OpenFOAM
  for v1706 release)

See the integration repository below to see the full set of changes
implemented for release into OpenFOAM v1706

    https://develop.openfoam.com/Community/Integration-isoAdvector
2017-06-20 14:36:15 +01:00
sergio
6ff341b5f5 Adding alphaEqn.H with interpolation method.
Adding special alphaCourantNo for overlaping
Adding bounded term to UEq.H for overInterDyMFoam
Changing to NO_WRITE for the cellMask field
Changing twoSimpleRotors tutorial to open domain
2017-06-19 11:10:19 -07:00
Mark Olesen
4a3ead4732 ENH: avoid reduce for MPI barrier in externalCoupled (issue #419)
- rationalized waiting logic

- timeout and wait are unsigned int (not label) since this is what
  the underlying sleep uses anyhow.
2017-06-14 14:40:59 +02:00
Andrew Heather
6c3f04d0d4 Merge branch 'integration-ihc-wavemodels' into 'develop'
Integration of ihc wavemodels

See merge request !117
2017-06-15 11:38:25 +01:00
sergio
dd19c87f30 updating fvOptions from fileName to file in windshieldCondensation
Correcting header in tabulatedNTUHeatTransfer from fileName to file
2017-06-14 14:33:14 -07:00
sergio
b083205d23 Fixing externalWallHeatFluxTemperature mapping scalarFields.
Fixing humidityTemperatureCoupled problem in parallel
Adding Allrun-parallel to externalSolarLoad and windshieldCondensation tutorials
2017-06-14 13:58:52 -07:00
sergio
8a8e5e8891 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2017-06-14 08:06:26 -07:00
sergio
d435b215e2 Updating solarLoad tutorial case for parallel running 2017-06-14 08:05:19 -07:00
mattijs
7c88c694df STYLE: vtkWrite: added comment 2017-06-14 15:34:05 +01:00
Andrew Heather
2dfd01ac7b Merge branch 'feature-paraview-vtk' into 'develop'
Feature paraview vtk

See merge request !116
2017-06-14 14:16:18 +01:00
Mark Olesen
9bb6d896fa Merge remote-tracking branch 'origin/develop' into develop 2017-06-14 14:22:59 +02:00
Mark Olesen
7eec9f0dd6 STYLE: use standardized 0.orig/ for overset tutorials 2017-06-14 14:15:22 +02:00
mattijs
e14ad6f1fc BUG: mixerVessel: replace foamInfoExec with foamListTimes 2017-06-14 12:28:33 +01:00
mattijs
fd665b4a3c ENH: overset: Initial release of overset capability.
Adds overset discretisation to selected physics:
- diffusion : overLaplacianDyMFoam
- incompressible steady : overSimpleFoam
- incompressible transient : overPimpleDyMFoam
- compressible transient: overRhoPimpleDyMFoam
- two-phase VOF: overInterDyMFoam

The overset method chosen is a parallel, fully implicit implementation
whereby the interpolation (from donor to acceptor) is inserted as an
adapted discretisation on the donor cells, such that the resulting matrix
can be solved using the standard linear solvers.

Above solvers come with a set of tutorials, showing how to create and set-up
simple simulations from scratch.
2017-06-14 09:51:02 +01:00
Mark Olesen
98cc0fc004 ENH: upgrade writeVTK function object -> vtkWrite function object
- user-selectable format (vtk or vtu, ascii or binary)
- dictionary syntax closer to ensightWrite
- tutorial example in windAroundBuildings
2017-06-14 01:48:32 +02:00
Mark Olesen
206914ceae TUT: consistent indentation in controlDict 2017-06-13 07:17:37 +02:00
Mark Olesen
0ea219adf5 TUT: consistent writeCompression option
- Use on/off vs longer compressed/uncompressed.
  For consistency, replaced yes/no with on/off.

- Avoid the combination of binary/compressed,
  which is disallowed and provokes a warning anyhow
2017-06-13 06:50:16 +02:00
sergio
852616ba88 interpolationTable: Correcting header documentation
fanPressureFvPatchScalarField.H:  Correcting header documentation
RAS/TJunctionFan/0.orig: Creating tutorial for fanPressure
Adding pRef and pValue for tutorial createZeroDirectory/snappyMultiRegionHeater
2017-06-12 13:53:52 -07:00
sergio
e3701a47ae ENH: Adding non-dimensional table input to fanPressure BC
Adding intertial term switch to solarLoad chtMultiRegionFoam case
2017-06-12 11:28:57 -07:00
Andrew Heather
ead256f506 INT: Integration of rhoPimpleAdiabaticFoam
Solver for low Mach no. flows with adiabatic thermodynamics and updated
pressure-velocity coupling given by the RCM interpolation procedure
described in

    \verbatim
        Knacke, T. (2013).
        Potential effects of Rhie & Chow type interpolations in airframe
        noise simulations. In: Schram, C., Dénos, R., Lecomte E. (ed):
        Accurate and efficient aeroacoustic prediction approaches for
        airframe noise, VKI LS 2013-03.
    \endverbatim

Original code supplied by Thilo Knacke, CFD E+F GmbH
contact: info@cfd-berlin.com

Integrated into OpenFOAM by OpenCFD Ltd.
2017-06-09 10:23:47 +01:00
Andrew Heather
b538a9128c ENH: New wave model integration updates for McCowan and Grimshaw models 2017-06-02 10:23:32 +01:00
Gabriel Barajas
0f230ba35b ENH: Added new Grimshaw and McCowan wave models - initial commit for
integration
2017-06-02 09:47:31 +01:00
Andrew Heather
d8d6030ab6 INT: Integration of Mattijs' collocated parallel IO additions
Original commit message:
------------------------

Parallel IO: New collated file format

When an OpenFOAM simulation runs in parallel, the data for decomposed fields and
mesh(es) has historically been stored in multiple files within separate
directories for each processor.  Processor directories are named 'processorN',
where N is the processor number.

This commit introduces an alternative "collated" file format where the data for
each decomposed field (and mesh) is collated into a single file, which is
written and read on the master processor.  The files are stored in a single
directory named 'processors'.

The new format produces significantly fewer files - one per field, instead of N
per field.  For large parallel cases, this avoids the restriction on the number
of open files imposed by the operating system limits.

The file writing can be threaded allowing the simulation to continue running
while the data is being written to file.  NFS (Network File System) is not
needed when using the the collated format and additionally, there is an option
to run without NFS with the original uncollated approach, known as
"masterUncollated".

The controls for the file handling are in the OptimisationSwitches of
etc/controlDict:

OptimisationSwitches
{
    ...

    //- Parallel IO file handler
    //  uncollated (default), collated or masterUncollated
    fileHandler uncollated;

    //- collated: thread buffer size for queued file writes.
    //  If set to 0 or not sufficient for the file size threading is not used.
    //  Default: 2e9
    maxThreadFileBufferSize 2e9;

    //- masterUncollated: non-blocking buffer size.
    //  If the file exceeds this buffer size scheduled transfer is used.
    //  Default: 2e9
    maxMasterFileBufferSize 2e9;
}

When using the collated file handling, memory is allocated for the data in the
thread.  maxThreadFileBufferSize sets the maximum size of memory in bytes that
is allocated.  If the data exceeds this size, the write does not use threading.

When using the masterUncollated file handling, non-blocking MPI communication
requires a sufficiently large memory buffer on the master node.
maxMasterFileBufferSize sets the maximum size in bytes of the buffer.  If the
data exceeds this size, the system uses scheduled communication.

The installation defaults for the fileHandler choice, maxThreadFileBufferSize
and maxMasterFileBufferSize (set in etc/controlDict) can be over-ridden within
the case controlDict file, like other parameters.  Additionally the fileHandler
can be set by:
- the "-fileHandler" command line argument;
- a FOAM_FILEHANDLER environment variable.

A foamFormatConvert utility allows users to convert files between the collated
and uncollated formats, e.g.
    mpirun -np 2 foamFormatConvert -parallel -fileHandler uncollated

An example case demonstrating the file handling methods is provided in:
$FOAM_TUTORIALS/IO/fileHandling

The work was undertaken by Mattijs Janssens, in collaboration with Henry Weller.
2017-07-07 11:39:56 +01:00
Andrew Heather
132c0e719a TUT: Added min/max(p) function object 2017-06-09 10:53:37 +01:00
Andrew Heather
2af8d38827 ENH: Added new Joule Heating fvOption and test case
Evolves an electrical potential equation

    \f[
        \grad \left( \sigma \grad V \right)
    \f]

    where \f$ V \f$ is electrical potential and \f$\sigma\f$ is the
    electrical current

    To provide a Joule heating contribution according to:

    Differential form of Joule heating - power per unit volume:

    \f[
        \frac{d(P)}{d(V)} = J \cdot E
    \f]

    where \f$ J \f$ is the current density and \f$ E \f$ the electric
field.
    If no magnetic field is present:

    \f[
        J = \sigma E
    \f]

    The electric field given by

    \f[
        E = \grad V
    \f]

    Therefore:

    \f[
        \frac{d(P)}{d(V)} = J \cdot E
                          = (sigma E) \cdot E
                          = (sigma \grad V) \cdot \grad V
    \f]

Usage
    Isotropic (scalar) electrical conductivity
    \verbatim
    jouleHeatingSourceCoeffs
    {
        anisotropicElectricalConductivity no;

        // Optionally specify the conductivity as a function of
        // temperature
        // Note: if not supplied, this will be read from the time
        // directory
        sigma           table
        (
            (273        1e5)
            (1000       1e5)
        );
    }
    \endverbatim

    Anisotropic (vectorial) electrical conductivity
    jouleHeatingSourceCoeffs
    {
        anisotropicElectricalConductivity yes;

        coordinateSystem
        {
            type        cartesian;
            origin      (0 0 0);

            coordinateRotation
            {
                type        axesRotation;
                e1          (1 0 0);
                e3          (0 0 1);
            }
        }

        // Optionally specify sigma as a function of temperature
        //sigma           (31900 63800 127600);
        //
        //sigma           table
        //(
        //    (0      (0 0 0))
        //    (1000   (127600 127600 127600))
        //);
    }

    Where:
    \table
        Property     | Description               | Required  | Default
value
        T            | Name of temperature field | no        | T
        sigma        | Electrical conductivity as a function of
temperature |no|
        anisotropicElectricalConductivity | Anisotropic flag | yes |
    \endtable

    The electrical conductivity can be specified using either:
    - If the \c sigma entry is present the electrical conductivity is
      specified
      as a function of temperature using a Function1 type
    - If not present the sigma field will be read from file
    - If the anisotropicElectricalConductivity flag is set to 'true',
      sigma
      should be specified as a vector quantity
2017-06-09 10:29:21 +01:00
sergio
257d2f04a4 Update rho = thermo.rho(), in the pEq for reactingFoam.
Updating fvSolution's for closed domains for chtMultiRegionFoam cases
2017-06-08 10:41:57 +01:00
Andrew Heather
bac2c8cc30 GIT: Resolved conflict 2017-06-07 15:00:31 +01:00
Henry Weller
da5c5d15f7 GIT: Resolved conflict on cherry-pick 2017-05-31 10:35:05 +01:00
Andrew Heather
854f607f93 STYLE: Updated heat power and flux names 2017-06-06 11:53:00 +01:00
sergio
9bc87005ad Adding optional build of the thermo tpe per reaction. This thermo is not necessary for solid reactions.
NOTE: in Reaction.C constructors bool initReactionThermo is used by solidReaction where there is no
need of setting a lhs - rhs thermo type for each reaction. This is needed for mechanism with reversible reactions
2017-05-26 10:18:01 -07:00
Henry Weller
39476bde1c GIT: Resolve conflict associated with cherry-pick of Foundation commit 79ff91350
79ff91350 - rhoPimpleFoam: Improved support for compressible liquids
(2017-05-17 17:05:43 +0100) <Henry Weller>
2017-05-17 17:05:43 +01:00
Henry Weller
a1a6f25429 tutorials/multiphase/interDyMFoam/RAS/DTCHull: Resolve stability issue caused by improvements to MULES 2017-05-08 22:44:14 +01:00
Henry Weller
7da065481a tutorials/combustion/reactingFoam/RAS/SandiaD_LTS/system/decomposeParDict: removed 2017-05-08 17:03:30 +01:00
Andrew Heather
009f8df176 TUT: minor update 2017-05-22 13:37:51 +01:00
Andrew Heather
db5348880e MRG: resolved merge conflicts from merge from develop branch 2017-05-19 16:29:54 +01:00
Andrew Heather
79bfd7d7d9 TUT: Corrected execute permissions on run scripts 2017-05-19 11:46:58 +01:00
Andrew Heather
0a4733acab ENH: Tutorial updates 2017-05-18 14:47:00 +01:00
Andrew Heather
d71a7857bf Merge remote-tracking branch 'origin/develop' into integration-foundation 2017-05-18 12:43:15 +01:00
Andrew Heather
20fd33e37c TUT: Moved laminar case from RAS->laminar directories 2017-05-18 11:44:52 +01:00
Andrew Heather
2e9bead519 MRG: merged develop line back into integration branch 2017-05-18 11:11:12 +01:00
Andrew Heather
8a3915eb67 STYLE: Corrected header text 2017-05-17 17:35:27 +01:00
Andrew Heather
91b90da4f3 Integrated Foundation code to commit 104aac5 2017-05-17 16:35:18 +01:00
Will Bainbridge
643ef3318a tutorials/lagrangian: Added mixedVesselAMI2D
This tutorial demonstrates moving mesh and AMI with a Lagrangian cloud.
It is very slow, as interaction lists (required to compute collisions)
are not optimised for moving meshes. The simulation time has therefore
been made very short, so that it finishes in a reasonable time. The
mixer only completes a small fraction of a rotation in this time. This
is still sufficient to test tracking and collisions in the presence of
AMI and mesh motion.

In order to generate a convincing animation, however, the end time must
be increased and the simulation run for a number of days.
2017-04-28 11:00:31 +01:00
Henry Weller
076cf421f3 cloudSolution: Check consistency between the transient option
and the continuous-phase simulation type

For LTS and steady-state simulations the transient option does not need to be
provided as only steady-state tracking is appropriate.  For transient running
the Lagrangian tracking may be steady or transient.
2017-08-22 13:58:25 +01:00
Will Bainbridge
743dea87d2 Lagrangian: Rewrite of the particle tracking algorithm to function in
terms of the local barycentric coordinates of the current tetrahedron,
rather than the global coordinate system.

Barycentric tracking works on any mesh, irrespective of mesh quality.
Particles do not get "lost", and tracking does not require ad-hoc
"corrections" or "rescues" to function robustly, because the calculation
of particle-face intersections is unambiguous and reproducible, even at
small angles of incidence.

Each particle position is defined by topology (i.e. the decomposed tet
cell it is in) and geometry (i.e. where it is in the cell). No search
operations are needed on restart or reconstruct, unlike when particle
positions are stored in the global coordinate system.

The particle positions file now contains particles' local coordinates
and topology, rather than the global coordinates and cell. This change
to the output format is not backwards compatible. Existing cases with
Lagrangian data will not restart, but they will still run from time
zero without any modification. This change was necessary in order to
guarantee that the loaded particle is valid, and therefore
fundamentally prevent "loss" and "search-failure" type bugs (e.g.,
2517, 2442, 2286, 1836, 1461, 1341, 1097).

The tracking functions have also been converted to function in terms
of displacement, rather than end position. This helps remove floating
point error issues, particularly towards the end of a tracking step.

Wall bounded streamlines have been removed. The implementation proved
incompatible with the new tracking algorithm. ParaView has a surface
LIC plugin which provides equivalent, or better, functionality.

Additionally, bug report <https://bugs.openfoam.org/view.php?id=2517>
is resolved by this change.
2017-04-28 08:03:44 +01:00
Mark Olesen
2a586dcbe2 Merge remote-tracking branch 'origin/master' into develop 2017-09-15 11:20:35 +02:00
Mark Olesen
5da321b6e6 TUT: various blockMeshDict with convertToMeters instead of scale 2017-08-07 20:57:05 +02:00
Mark Olesen
c2a0663cc7 TUT: use general 'scale' instead of 'convertToMeters' in blockMeshDict
- although this has been supported for many years, the tutorials
  continued to use "convertToMeters" entry, which is specific to blockMesh.
  The "scale" is more consistent with other dictionaries.

ENH:
- ignore "scale 0;" (treat as no scaling) for blockMeshDict,
  consistent with use elsewhere.
2017-08-03 06:38:30 +02:00
Pete Bachant
8f11aeabaf BUG: Fix viscosity in simpleFoam motorBike tutorial (fixes #550) 2017-07-27 19:55:12 -04:00
Mark Olesen
751f11089a Merge remote-tracking branch 'origin/master' into develop 2017-07-20 12:17:26 +02:00
Mark Olesen
7a408c713b ENH: refactor and combine externalFileCoupler (issue #529) 2017-07-17 12:54:02 +02:00
Mark Olesen
e045d6c03b ENH: limit file checks in the abort function object to the master process
- do not recheck the abort after it has been triggered once.
  This reduces the output clutter and file checks.
2017-07-17 10:47:10 +02:00