diff --git a/ReleaseNotes-foam-extend-3.0 b/ReleaseNotes-foam-extend-3.0 deleted file mode 100644 index e7811e01a..000000000 --- a/ReleaseNotes-foam-extend-3.0 +++ /dev/null @@ -1,282 +0,0 @@ -# -*- mode: org; -*- -# -#+TITLE: *Release notes for foam-extend-3.0* -#+AUTHOR: Hrvoje Jasak. -#+DATE: 18 December 2013 -#+LINK: http://foam-extend.org -#+OPTIONS: author:nil - -################################################################################ - -Contents: -* Overview -* Installation -* Compatibility -* New features in foam-extend-3.0 -* Reporting bugs -* How to contribute -* List of Contributors - -################################################################################ - -* Overview - The foam-extend project is a fork of the OpenFOAM® open source library for - Computational Fluid Dynamics (CFD). It is an open project welcoming and - integrating contributions from all users and developers. Previously known as - OpenFOAM®-dev and OpenFOAM®-extend, it contains bug fixes and performance - improvements, as well as extensions and additional features provided - by community contributors (see list below), such as dynamic mesh and - topological change support, turbomachinery extensions including general grid - interpolation (GGI), cyclic GGI and mixing place, block-coupled matrix - support, finite area method, comprehensive mesh motion capability and GPU - support. For a full list, see below. - - Version 3.0, nicknamed "Jeju", is the current version of foam-extend. The - release now continues the tradition and spirit of the original FOAM code - developed by prof. Jasak and Mr. Weller during their time at - Imperial College and released as the general purpose CFD/CCM package by - Nabla Ltd. in 2000. In this spirit, we shall revert to original numbering - scheme (foam-2.3.2, 13 December 2004) as release number 3.0. - Visit http://foam-extend.org for more information. - - OPENFOAM® is a registered trademark of ESI Group. OpenFOAM-extend and - foam-extend are a community effort not endorsed by ESI Group. - -* Installation - foam-extend-3.0 can be compiled and runs on any linux system and - Apple Mac OS X. - - ** From source - Please refer to doc/buildInstructions/ for details. Further - installation instruction are available on the unofficial OpenFOAM Wiki: - http://openfoamwiki.net/index.php/Installation/Linux/foam-extend-3.0 - If you have improvements or build instructions for a new system, please - share them with the community (see section "How to contribute", below). - - ** Binary packages - Binary packages are available for download at - http://sourceforge.net/projects/openfoam-extend/ - for the following systems: Ubuntu 12.04, Ubuntu 13.10 and Fedora 19 . - -* Compatibility - Upstream features from the OpenFOAM® code base are merged into foam-extend - on regular basis. The interface format of foam-extend-3.0 is largely - compatible to OpenFOAM-1.6-ext and OpenFOAM-1.7.x. In some cases, - the differences are caused by bug fixes and algorithmic improvements, - considered more important than inter-operability. - -* Main diferentiators - A large number of features has been lost within the release cycle of OpenFOAM - code; since version 1.3, the code base has shrunk by more than 40%. While - we understand the lack of technical ability of supporting advanced - CFD features, we feel that existing features and specifically large-scale - contributions should remain active and developed further. Below is a list - of main features of foam-extend-3.0 which are lost, deactivated or unusable - in ESI releases: - - ** Turbomachinery features, including General Grid Interface (GGI), - partial overlap GGI, cyclic GGI, with improvements in parallel scaling. - First full and validated release of a mixing plane stage interface - - ** Dynamic mesh with topological changes - sliding interfaces, mesh layering, attach-detach boundaries etc. - in foam-extend-3.0 full parallel support for topological changes - is released for the first time - - ** Finite Element Method with support for polyhedral meshes - This is mainly used in mesh deformation and over the last 15 years - it has proven vastly superior to all other dynamic mesh methods. - - ** Advanced mesh deformation technology - including tet FEM mesh deformation, Radial Basis Function (RBF) mesh - deformation, tetrahedral remeshing dynamic mesh support and solid body - motion functions. All of the above include parallelisation support - - ** Library of dynamic meshes with topological changes with full - second order FVM discretisation support on moving meshes with - topological changes - - ** Internal combustion engine-specific dynamic mesh classes such as - two-stroke engine and various forms of 4-stroke and multi-valve - dynamic mesh classes - - ** Finite Area Method providing support for FVM-like discretisation on - a curved surface in 3-D, with examples of liquid film modelling - - ** Block-coupled matrix support, allowing fully implicit multi-equation - solution of NxN equation sets, with full parallelisation support. - First release of a block-AMG linear equation solver - - ** Fully implicit conjugate-coupled solution framework, allowing implicit - solution fo multiple equations over multiple meshes, with parallelism - - ** Proper Orthogonal Decomposition data analysis tools, with applications - to FOAM field classes - - ** Equation reader classes and tutorials - - ** Multi-solver solution framework, allowing mutiple field models to be - solved in a coupled manner - - ** A major contribution is solid mechanics modelling, including linear - and non-linear materials, contact, self-contact and friction, with - updated Lagrangian or absolute Lagrangian formulation. Solution o - damage models and crack propagation in complex materials via - topological changes - - ** CUDA solver release, provided in full source and as an example of - coupling external linear equation solvers with FOAM - - ** Library-level support for Immersed Boundary Method and Overset Mesh - - ** Major improvements in accuracy and stability of FVM discretisation - with options on convection and diffusion discretisation, deferred - correction or explicit schemes - - ** Algebraic multigrid solver framerowk - - ** 190 tutorials with automated run scripts - - ** Automatic test harness - -* New features in foam-extend-3.0 - The list of features is a result of the work of numerous contributors. The - maintainers of foam-extend would formally like to thank them all. - - ** Core library - - cudaSolvers - dynamicMesh - dynamicTopoFvMesh: - dynamicTopoFvMeshCoupled - convexSetAlgorithm - fieldMapping - meshOpsTemplates - msqAdditionalSrc - tetDecompositionMotionSolver - tetMotionSolver - multiTopoBodyFvMesh - engine - accordionValve - accordionEngineMesh - attachDetachFunctions - deformingEngineMesh - regionSide - twoStrokeEngine - equationReader - finiteArea: - faMeshMapper - faMeshUpdate.C - interpolation: - mapping - finitVolume: - mixingPlane - regionCouple - adjConvectionSchemes - backwardD2dt2Scheme - skewCorrectedSnGrad - singleCellFvMesh - harmonic - harmonicTemplates - magLongDelta.[HC] - multiSolver - OpenFOAM: - PriorityList - - IOReferencer - postfixedSubRegistry - - symmTensor4thOrder - VectorN - diagTensor - oscillatingFixedValue - - profiling - - MixingPlaneInterpolation - splineInterpolateXY - - BlockAmg solver - blockVectorN solver - BlockLduInterface - - mixingPlane (also with GAMG) - regionCouple (also with GAMG) - - BlockCoeffNorm - - postProcessing: - foamCalcFunctions: - scalarMult - componentsTurbo - domainIntegrate - functionObjects: - mixingPlaneCheck - maxFieldCell - solidModels - tetDecompositionFiniteElement - thermophysicalModels: - radiation: - viewFactor - turbulenceModels: - RWallFunctions - VectorN - - ** Solver applications - - conjugateHeatSimpleFoam - equationReaderDemo - MRFSimpleFoam - simpleSRFFoam - MRFInterFoam - multiSolver - solidMechanics: - elasticAcpSolidFoam - elasticIncrAcpSolidFoam - elasticIncrSolidFoam - elasticNonLinIncrTLSolidFoam - elasticNonLinTLSolidFoam - elasticNonLinULSolidFoam - elasticOrthoAcpSolidFoam - elasticOrthoNonLinULSolidFoam - elasticOrthoSolidFoam - elasticPlasticSolidFoam - elasticPlasticNonLinTLSolidFoam - elasticPlasticNonLinULSolidFoam - elasticSolidFoam - elasticThermalSolidFoam - icoFsiElasticNonLinULSolidFoam - viscoElasticSolidFoam - - ** Utilities - - foamMeshToAbaqus - multiSolver (postProcessing) - solidMechanics: - calculateCourantNumber - forceDisp - patchStressIntegrate - smoothMesh - surfaceTractions - - ** ThirdParty software - gcc compatibility up to 4.8.1 - Updated to: - Paraview 4.1 - openmpi 1.6.5 - cmake 2.8.12 - metis 5.1.0 - parmetis 4.0.3 - scotch 6.0.0 - zoltan 3.6 - -* Reporting bugs - To report bugs, please use the MantisBT bugtracker at - http://sourceforge.net/apps/mantisbt/openfoam-extend/my_view_page.php . - -* How to contribute - All your contributions are highly welcome: New solvers, utilities and - models; bug fixes; documentation. The many ways of contributing and the - contribution process are described in detail in the file "HowToContribute". - -* List of Contributors: See file ListOfContributors diff --git a/etc/bashrc b/etc/bashrc index b98820332..dfb9ada4b 100755 --- a/etc/bashrc +++ b/etc/bashrc @@ -441,14 +441,15 @@ then export LD_PRELOAD fi -if [[ `uname -s` == "Darwin" ]] -then - if [[ `ulimit -n` == "unlimited" || `ulimit -n` < 8192 ]] - then - # higher limit needed for wmkdeps - ulimit -n 8192 - fi -fi +# temporarily disabled. HJ, 13/Jun/2014 +# if [[ `uname -s` == "Darwin" ]] +# then +# if [[ `ulimit -n` == "unlimited" || `ulimit -n` < 8192 ]] +# then +# # higher limit needed for wmkdeps +# ulimit -n 8192 +# fi +# fi # cleanup environment: # ~~~~~~~~~~~~~~~~~~~~ diff --git a/src/solidModels/contactModels/normalContactModels/dirichletNeumann/dirichletNeumann.C b/src/solidModels/contactModels/normalContactModels/dirichletNeumann/dirichletNeumann.C index 8ebe07e62..1703a046e 100644 --- a/src/solidModels/contactModels/normalContactModels/dirichletNeumann/dirichletNeumann.C +++ b/src/solidModels/contactModels/normalContactModels/dirichletNeumann/dirichletNeumann.C @@ -57,66 +57,76 @@ dirichletNeumann::dirichletNeumann const PrimitivePatch& slaveFaceZonePatch ) : - normalContactModel - ( - name, - patch, - dict, - masterPatchID, - slavePatchID, - masterFaceZoneID, - slaveFaceZoneID, - masterFaceZonePatch, - slaveFaceZonePatch - ), - normalContactModelDict_(dict.subDict(name+"NormalModelDict")), - mesh_(patch.boundaryMesh().mesh()), - slaveDisp_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero), - oldSlaveDispMag_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0), - slavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero), - oldSlavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero), - touchFraction_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0), - slaveValueFrac_(mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero), - oldSlaveValueFrac_ - (mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero), - limitPenetration_(normalContactModelDict_.lookup("limitPenetration")), - penetrationLimit_ - (readScalar(normalContactModelDict_.lookup("penetrationLimit"))), - limitPressure_(normalContactModelDict_.lookup("limitPressure")), - pressureLimit_(readScalar(normalContactModelDict_.lookup("pressureLimit"))), - settleContact_ - ( - normalContactModelDict_.found("settleContact") ? - normalContactModelDict_.lookup("settleContact") : false - ), - settleIterationNumber_ - ( - settleContact_ ? - readInt(normalContactModelDict_.lookup("settleIterationNumber")) : GREAT - ), - correctMissedVertices_ - ( - normalContactModelDict_.lookup("correctMissedVertices") - ), - slavePointPointsPtr_(NULL), - contactGapTol_(readScalar(normalContactModelDict_.lookup("contactGapTol"))), - contactIterNum_(0), - relaxFactor_(readScalar(normalContactModelDict_.lookup("relaxationFactor"))), - distanceMethod_(normalContactModelDict_.lookup("distanceMethod")), - aitkenRelaxation_(normalContactModelDict_.lookup("aitkenRelaxation")), - curTimeIndex_(-1), - iCorr_(0), - aitkenRes0_(1.0), - aitkenTheta_(relaxFactor_), - aitkenDelta_(slaveDisp_.size(), vector::zero), - aitkenDeltaPrevIter_(slaveDisp_.size(), vector::zero), - slaveDispPrevIter_(slaveDisp_.size(), vector::zero), - oscillationCorr_(normalContactModelDict_.lookup("oscillationCorrection")), - smoothingSteps_(readInt(normalContactModelDict_.lookup("smoothingSteps"))), - infoFreq_(readInt(normalContactModelDict_.lookup("infoFrequency"))), - contactFilePtr_(NULL) + normalContactModel + ( + name, + patch, + dict, + masterPatchID, + slavePatchID, + masterFaceZoneID, + slaveFaceZoneID, + masterFaceZonePatch, + slaveFaceZonePatch + ), + normalContactModelDict_(dict.subDict(name+"NormalModelDict")), + mesh_(patch.boundaryMesh().mesh()), + slaveDisp_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero), + oldSlaveDispMag_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0), + slavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero), + oldSlavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero), + touchFraction_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0), + slaveValueFrac_(mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero), + oldSlaveValueFrac_ + ( + mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero + ), + limitPenetration_(normalContactModelDict_.lookup("limitPenetration")), + penetrationLimit_ + ( + readScalar(normalContactModelDict_.lookup("penetrationLimit")) + ), + limitPressure_(normalContactModelDict_.lookup("limitPressure")), + pressureLimit_(readScalar(normalContactModelDict_.lookup("pressureLimit"))), + settleContact_ + ( + normalContactModelDict_.lookupOrDefault + ( + "settleContact", + false + ) + ), + settleIterationNumber_ + ( + normalContactModelDict_.lookupOrDefault