diff --git a/README b/README index c5b973448d0e1e618969e6cf3dad137fb52c2c3e..7cbeb98de8c2cdd49f879dd144619afad421a596 100644 --- a/README +++ b/README @@ -1,109 +1,84 @@ - README for OpenFOAM: The Open Source CFD Toolbox - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + -*- mode: org; -*- -0. Copyright -~~~~~~~~~~~~ - OpenFOAM is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. See the file COPYING in this directory, for a - description of the GNU General Public License terms under which you can - copy the files. +#+TITLE: *OpenFOAM README for version 1.5* +#+AUTHOR: OpenCFD Ltd. +#+DATE: 10 July 2008 +#+LINK: http://www.opencfd.co.uk +* Copyright + OpenFOAM is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any later + version. See the file COPYING in this directory, for a description of the GNU + General Public License terms under which you can copy the files. -1. Contents -~~~~~~~~~~~ - 0. Copyright - 1. Contents - 2. System requirements - 3. Installation - 4. Building from Sources (Optional) - 5. Testing the installation - 6. Getting started - 7. Documentation - 8. Help - 9. Reporting Bugs - A. Running OpenFOAM in 32-bit mode +* System requirements + OpenFOAM is developed and tested on Linux, but should work with other Unix + style systems. To check your system setup, execute the foamSystemCheck script + in the bin/ directory of the OpenFOAM installation. If no problems are + reported, proceed to "3. Installation"; otherwise contact your system + administrator. + If the user wishes to run OpenFOAM in 32/64-bit mode they should consult the + appendix "A. Running OpenFOAM in 32-bit mode". -2. System requirements -~~~~~~~~~~~~~~~~~~~~~~ - OpenFOAM is developed and tested on Linux, but should work with other - Unix style systems. To check your system setup, execute the foamSystemCheck - script in the bin/ directory of the OpenFOAM installation. If no problems - are reported, proceed to "3. Installation"; otherwise contact your - system administrator. +* Installation + Download and unpack the files in the $HOME/OpenFOAM directory as described in: + http://www.OpenFOAM.org/download.html - If the user wishes to run OpenFOAM in 32/64-bit mode they should consult - the appendix "A. Running OpenFOAM in 32-bit mode". + The environment variable settings are contained in files in an etc/ directory + in the OpenFOAM release. e.g. in + + $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/ + + where <VERSION> corresponds to the version 1.4, 1.5, ... -3. Installation -~~~~~~~~~~~~~~~ - Download and unpack the files in the $HOME/OpenFOAM directory as described - in: http://www.OpenFOAM.org/download.html + 1) EITHER, if running bash or ksh (if in doubt type 'echo $SHELL'), source the + etc/bashrc file by adding the following line to the end of your + $HOME/.bashrc file: - The environment variable settings are contained in files in an etc/ - directory in the OpenFOAM release. e.g. in + + . $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/bashrc - $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/ + Then update the environment variables by sourcing the $HOME/.bashrc file by + typing in the terminal: - where <VERSION> corresponds to the version 1.4, 1.5, ... + + . $HOME/.bashrc - a) - EITHER, if running bash or ksh (if in doubt type 'echo $SHELL'), - source the etc/bashrc file by adding the following line to the end - of your $HOME/.bashrc file: - - . $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/bashrc - - Then update the environment variables by sourcing the $HOME/.bashrc file - by typing in the terminal: - - . $HOME/.bashrc - - b) - OR, if running tcsh or csh, source the etc/cshrc file by adding the + 2) OR, if running tcsh or csh, source the etc/cshrc file by adding the following line to the end of your $HOME/.cshrc file: - source $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/cshrc - - Then update the environment variables by sourcing the $HOME/.cshrc file - by typing in the terminal: + + source $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/cshrc - source $HOME/.cshrc + Then update the environment variables by sourcing the $HOME/.cshrc file by + typing in the terminal: + + source $HOME/.cshrc - 3.1. Installation in alternative locations - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*** Installation in alternative locations OpenFOAM may also be installed in alternative locations. However, the - installation directory should be network available (e.g., NFS) if - parallel calculations are planned. + installation directory should be network available (e.g., NFS) if parallel + calculations are planned. - The environment variable 'FOAM_INST_DIR' can be used to find and source - the appropriate resource file. Here is a bash/ksh/sh example: + The environment variable 'FOAM_INST_DIR' can be used to find and source the + appropriate resource file. Here is a bash/ksh/sh example: - export FOAM_INST_DIR=/data/app/OpenFOAM - foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc - [ -f $foamDotFile ] && . $foamDotFile + + export FOAM_INST_DIR=/data/app/OpenFOAM + + foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc + + [ -f $foamDotFile ] && . $foamDotFile and a csh/tcsh example: - setenv FOAM_INST_DIR /data/app/OpenFOAM - foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc - if ( -f $foamDotFile ) source $foamDotFile - + + setenv FOAM_INST_DIR /data/app/OpenFOAM + + foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc + + if ( -f $foamDotFile ) source $foamDotFile - The value set in '$FOAM_INST_DIR' will be used to locate the remaining - parts of the OpenFOAM installation. + The value set in '$FOAM_INST_DIR' will be used to locate the remaining parts + of the OpenFOAM installation. - -4. Building from Sources (Optional) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - If you cannot find an appropriate binary pack for your platform, you can - build the complete OpenFOAM from the source-pack. You will first need to - compile or obtain a recent version of gcc (we recomend gcc-4.3.?) for - your platform, which may be obtained from http://gcc.gnu.org/. +* Building from Sources (Optional) + If you cannot find an appropriate binary pack for your platform, you can build + the complete OpenFOAM from the source-pack. You will first need to compile or + obtain a recent version of gcc (we recomend gcc-4.3.?) for your platform, + which may be obtained from http://gcc.gnu.org/. Install the compiler in $WM_PROJECT_INST_DIR/ThirdParty/gcc-<GCC_VERSION>/platforms/$WM_ARCH$WM_COMPILER_ARCH/ @@ -112,68 +87,54 @@ environment variables as in section 3. Now go to the top-level source directory $WM_PROJECT_DIR and execute the - top-level build script './Allwmake'. In principle this will build - everything, but if problems occur with the build order it may be necessary - to update the environment variables and re-execute 'Allwmake'. If you - experience difficulties with building the source-pack, or your platform is - not currently supported, please contact <enquiries@OpenCFD.co.uk> to - negotiate a support contract and we will do the port and maintain it for - future releases. - - -5. Testing the installation -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - To check your installation setup, execute the 'foamInstallationTest' - script (in the bin/ directory of the OpenFOAM installation). If no - problems are reported, proceed to getting started with OpenFOAM; - otherwise, go back and check you have installed the software correctly - and/or contact your system administrator. - - -6. Getting Started -~~~~~~~~~~~~~~~~~~ + top-level build script './Allwmake'. In principle this will build everything, + but if problems occur with the build order it may be necessary to update the + environment variables and re-execute 'Allwmake'. If you experience + difficulties with building the source-pack, or your platform is not currently + supported, please contact <enquiries@OpenCFD.co.uk> to negotiate a support + contract and we will do the port and maintain it for future releases. + +* Testing the installation + To check your installation setup, execute the 'foamInstallationTest' script + (in the bin/ directory of the OpenFOAM installation). If no problems are + reported, proceed to getting started with OpenFOAM; otherwise, go back and + check you have installed the software correctly and/or contact your system + administrator. + +* Getting Started Create a project directory within the $HOME/OpenFOAM directory named <USER>-<VERSION> (e.g. 'chris-1.5' for user chris and OpenFOAM version 1.5) and create a directory named 'run' within it, e.g. by typing: - mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run + + mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run Copy the 'tutorial' examples directory in the OpenFOAM distribution to the 'run' directory. If the OpenFOAM environment variables are set correctly, then the following command will be correct: - cp -r $WM_PROJECT_DIR/tutorials $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run + + cp -r $WM_PROJECT_DIR/tutorials + $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run Run the first example case of incompressible laminar flow in a cavity: - cd $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run/tutorials/icoFoam/cavity - blockMesh - icoFoam - + + cd $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run/tutorials/icoFoam/cavity + + blockMesh + + icoFoam -7. Documentation -~~~~~~~~~~~~~~~~ +* Documentation http://www.OpenFOAM.org/doc +* Help + http://www.OpenFOAM.org http://www.OpenFOAM.org/discussion.html -8. Help -~~~~~~~ - http://www.OpenFOAM.org - http://www.OpenFOAM.org/discussion.html - - -9. Reporting Bugs in OpenFOAM -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Reporting Bugs in OpenFOAM http://www.OpenFOAM.org/bugs.html - -A. Running OpenFOAM in 32-bit mode on 64-bit machines -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* Running OpenFOAM in 32-bit mode on 64-bit machines Linux users with a 64-bit machine may install either the OpenFOAM 32-bit - version (linux) or the OpenFOAM 64-bit version (linux64), or both. - The 64-bit is the default mode on a 64-bit machine. To use an installed - 32-bit version, the user must set the environment variable $WM_32 (to - anything, e.g. "on") before sourcing the etc/bashrc (or etc/cshrc) file. - Unsetting WM_32 and re-sourcing the etc/bashrc (or etc/cshrc) file will - set up the user to run in 64-bit mode. - + version (linux) or the OpenFOAM 64-bit version (linux64), or both. The 64-bit + is the default mode on a 64-bit machine. To use an installed 32-bit version, + the user must set the environment variable $WM_32 (to anything, e.g. "on") + before sourcing the etc/bashrc (or etc/cshrc) file. Unsetting WM_32 and + re-sourcing the etc/bashrc (or etc/cshrc) file will set up the user to run in + 64-bit mode. diff --git a/ReleaseNotes-1.5 b/ReleaseNotes-1.5 new file mode 100644 index 0000000000000000000000000000000000000000..5de3e139fc27e3b246ebcf8758eb7a6b6caa4cf9 --- /dev/null +++ b/ReleaseNotes-1.5 @@ -0,0 +1,174 @@ + -*- mode: org; -*- + +#+TITLE: *OpenFOAM release notes for version 1.5* +#+AUTHOR: OpenCFD Ltd. +#+DATE: 10 July 2008 +#+LINK: http://www.opencfd.co.uk + +* Overview + OpenFOAM-1.5 is is a significant upgrade to version 1.4 in ways which are + outlined below. This release passes all our standard tests and the tutorials + have been broadly checked. If there are any bugs, please report them using + the instructions set out in: http://www.openfoam.org/bugs.html. + + Most of the developments for this release are in: new applications, e.g. for + multiphase flow and cavitation, buoyancy-flow and heat transfer, high speed + flows and even molecular dynamics; new utilities, e.g. for meshing and case + monitoring; and, new modelling, e.g. in Lagrangian particle tracking, + radiation and rotating frames of reference. With these new applications come + numerous new example cases. + +* GNU/Linux version + The 64bit binary packs of the OpenFOAM release were compiled on a machine + running SuSE GNU/Linux version 10.2 and the 32bit on a machine running Ubuntu + GNU/Linux version 7.1. The release has also been tested on SuSE 10.0, 10.3 + and Ubuntu 8.04. We recommend that users run OpenFOAM on one of these or a + similar recent version of GNU/Linux. + +* C++ Compiler version + + Released compiled with GCC 4.3.1, the latest version. + + Built in support for the Intel C++ 10.? compiler (untested). + + The choice of the compiler is controlled by the setting of the $WM_COMPILER + and $WM_COMPILER_ARCH environment variables in the OpenFOAM-1.5/etc/bashrc + (or cshrc) file. + + The location of the installation of the compiler is controlled by the + $WM_COMPILER_INST environment variable in the OpenFOAM-1.5/etc/settings.sh + (or settings.csh) file. + +* Developments to solvers (applications) + + New rhoCentralFoam solver for high-speed, viscous, compressible flows using + non-oscillatory, central-upwind schemes. + + New interDyMFoam solver for 2 incompressible, isothermal, immiscible fluids + using a VoF phase-fraction based interface capturing approach, with optional + mesh motion and mesh topology changes including adaptive mesh + (un)refinement. Useful for simulations such as tank filling, sloshing --- + using solid body motion e.g. SDA or SKA (6DoF) --- and slamming (using the + mesh motion solver) and other large-scale applications that benefit from the + efficiency gain of adaptive mesh (un)refinement of the interface. + + New compressibleInterFoam solver for 2 compressible, isothermal, immiscible + fluids using a volume of fluid (VoF) phase-fraction approach for + interface-capturing. The momentum and other fluid properties are of the + "mixture" and a single momentum equation is solved. Turbulence is modelled + using a run-time selectable incompressible LES model. + + New interPhaseChangeFoam solver for 2 incompressible, isothermal, immiscible + fluids with phase-change, e.g. cavitation. Uses VoF interface capturing, + with momentum and other fluid properties described for the ``mixture'' and a + single momentum equation is solved. The set of phase-change models provided + are designed to simulate cavitation but other mechanisms of phase-change are + supported within this solver framework. + + New rasCavitatingFoam solver for transient cavitation using a barotropic + compressibility model, with RAS turbulence. + + New lesCavitatingFoam solver for transient cavitation using a barotropic + compressibility model, with LES turbulence. + + New chtMultiRegionFoam solver that couples conjugate heat transfer in a + solid to a buoyancy-driven flow simulation. + + New PDRFoam solver for compressible premixed/partially-premixed turbulent + combustion that includes porosity/distributed resistance (PDR) modelling to + handle regions containing solid blockages which cannot be resolved by the + mesh. Requires the PDR fields. + + New lesBuoyantFoam solver for transient, buoyant, turbulent flow of + compressible fluids for ventilation and heat-transfer. Turbulence is + modelled using a run-time selectable compressible LES model. + + New rhoPimpleFoam solver for transient, turbulent flow of compressible + fluids for ventilation and heat-transfer. Uses the flexible PIMPLE + (PISO-SIMPLE) solution for time-resolved and pseudo-transient simulations. + + New buoyantSimpleRadiationFoam solver for steady-state, buoyant, turbulent + flow of compressible fluids with radiation, for ventilation and + heat-transfer. + + New rhoTurbTwinParcelFoam solver for transient for compressible, turbulent + flow with two thermo-clouds. + + New gnemdFOAM solver for general purpose molecular dynamics that simulates + atoms in arbitrary shaped domains and average atomic/molecular quantities to + the mesh to create field data. + + New mdEqulibrationFoam solver to equilibrates and/or preconditions molecular + dynamics systems. + + Demonstration SRFSimpleFoam solver based on simpleFoam that incorporates the + SRF extensions (see below) for rotating flows. + +* Automatic mesher + New snappyHexMesh utility that generates split-hex meshes automatically from + triangulated (STL) surface geometries. The mesh approximately conforms to + the surface by iteratively refining a starting mesh and morphing the + resulting split-hex mesh to the surface. An optional phase will shrink back + the resulting mesh and insert cell layers. It has a flexible specification + of mesh refinement level and robust surface handling with a pre-specified + final mesh quality. It runs in parallel with a load balancing step every + iteration. + +* Developments to utilities + + New extrude2DMesh utility that extrudes 2D meshes into a 3D mesh. 2D meshes + are described by faces with 2 points, so can be used in combination with 2D + meshes converted with ccm26ToFoam. + + New couplePatches functionality integrated into createPatch, which + optionally synchronises ("couples") points and faces of coupled (cyclic, + processor) patches. + + New applyBoundaryLayer pre-processing utility to apply 1/7th power-law + boundary layers at walls, starting from uniform or potential flow solutions. + + New execFlowFunctionObjects utility executes functionObjects as a + post-processing activity, e.g. probes, sampling, force calculation. + + New changeDictionary utility makes batch changes to OpenFOAM input files, + e.g. to change boundary conditions of field files. + + New foamCalc utility, a generic post-processing field calculator tool + + New molConfig pre-processing utility for molecular dynamics cases. Fills + zones of a mesh with single crystal lattices of specified structure, + density, orientation, alignment and temperature. + + Extended splitMeshRegions utility to split multi-zone meshes, e.g. defined + through cellZones, into separate meshes. + + Extended the foamToVTK, decomposePar, reconstructPar and mapFields utilities + to include support for multiple particle clouds in parallel processing. + +* Migration from ParaView 2.4 to ParaView 3.x + + Rewritten OpenFOAM Reader Module for version 3, a major redesign of + ParaView. + + New features include viewing patch names, reading of Lagrangian data, + handling of cell, face and point sets, multiple views. + +* Model development + + Overhauled the lagrangian library to support multiple clouds. + + New lagrangianIntermediate library incorporating a hierarchy of parcel and + cloud types, accommodating kinematic, thermodynamic and reacting + applications, including coupling to the new radiation library. Sub-models + are added at the relevant level of physics, e.g.: + - kinematic: injection, wall interaction, drag, dispersion; + - thermo: heat transfer; + - reacting: reacting composition, mass transfer, surface reactions. + + New single rotating frame of reference (SRF) library for rotating flow + applications, e.g. turbo-machinery. + + New radiation library including the P1 model and associated Marshak boundary + conditions for incident radiation. + + New displacementInterpolation motion solver for flexible mesh scaling. + + New molecularDynamics Lagrangian library to calculate intermolecular forces + between spherically symmetrical monatomic species in arbitrary geometries. + +* New functionObjects + To aid common monitoring and post-processing activities. + + forces: calculate the force and moment on a patch or set of patches, e.g. to + calculate the lift, drag and moment of an object in the flow. + + forceCoeffs: calculate the normalised force and moment on a patch or set of + patches, e.g. to calculate the lift, drag and moment coefficients of an + object in the flow. + + fieldAverage: calculate field arithmetic mean and prime-squared averages for + a list of fields. + + foamCalcFunctions: calculate field components, div, mag, magGrad or magSqr. + +* Improvements to boundary conditions + + Generalised jumpCyclic type: cyclic condition with an additional prescribed + jump in value. + + fan type: specialisation of jumpCyclic, applying a prescribed jump in + pressure to simulate a fan within a mesh. + + Generalised advective outflow boundary condition based on solving D/Dt(psi, + U) = 0 at the boundary. + + Additional turbulent flow inlet to specify mixing length and frequency. + + Generalisation of time varying set of boundary conditions. + +* Other + + New argument-free command execution, e.g typing "icoFoam" without root and + case directory arguments. + + Extended time command line options. + + Many enhancements to dictionary including macro substitution, optional + merging and default/overwrite behaviour, enhanced "#include" file handling + and the framework to support function evaluation. + + Cross-links between applications and Doxygen documentation with the "-doc" + argument. + + Non-blocking, non-buffered, parallel transfers with potential scaling + benefits for larger number of processors. diff --git a/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H b/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H index 12eea31127e74f8a38b9ce7f0eab662ff3b1d9f4..819cd0f538b6a87d0448618482caf75c52e3c793 100644 --- a/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H +++ b/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H @@ -28,7 +28,7 @@ ), // Divergence term is handled explicitly to be // consistent with the explicit transport solution - divU*min(alpha1, 1.0) + divU*min(alpha1, scalar(1)) ); forAll(dgdt, celli) diff --git a/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H b/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H index c6dd6c0f48a62b428e9748e8cfee5447652150a1..6fa5049de47edfa4053792ba6015990e627e1a36 100644 --- a/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H +++ b/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H @@ -140,7 +140,7 @@ ); volScalarField dgdt = - pos(alpha2)*fvc::div(phi)/max(alpha2, 0.0001); + pos(alpha2)*fvc::div(phi)/max(alpha2, scalar(0.0001)); // Construct interface from alpha1 distribution interfaceProperties interface(alpha1, U, twoPhaseProperties); diff --git a/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H b/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H index b794d4df2d57dfeb3e78e2eeef2016055a080d7a..ebf24498ade0bd1d1572d6055da8b5bccd369ffa 100644 --- a/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H +++ b/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H @@ -40,7 +40,10 @@ solve ( - (max(alpha1, 0.0)*(psi1/rho1) + max(alpha2, 0.0)*(psi2/rho2)) + ( + max(alpha1, scalar(0))*(psi1/rho1) + + max(alpha2, scalar(0))*(psi2/rho2) + ) *pdEqnComp() + pdEqnIncomp );