Merge branch 'HrvojeJasak'
This commit is contained in:
commit
4d500e1873
23 changed files with 299 additions and 239 deletions
|
@ -1,111 +1,118 @@
|
|||
The OpenFOAM-Extend Project
|
||||
|
||||
Web site: http://www.extend-project.de/
|
||||
|
||||
The goal of the OpenFOAM -Extend Project is to open the OpenFOAM CFD toolbox
|
||||
to community contributed extensions in the spirit of the Open Source
|
||||
development model.
|
||||
|
||||
Software under the name OpenFOAM has been developed by a large group of
|
||||
volunteers starting in 1991 and has spread through scientific and engineering
|
||||
community in the late 1990s and early 2000s. Its main strength was the spirit
|
||||
of open collaboration in the community: the aim of the OpenFOAM-Extend Project
|
||||
is to formalize this spirit.
|
||||
|
||||
* Trademark notice
|
||||
Currently, the word "OpenFOAM" is held as a trademark by a commercial
|
||||
company, not associated with the Open Source development effort of this
|
||||
software. While the author acknowledges the existence of Trademark,
|
||||
association of trademarked phrase with the the code developed by third
|
||||
parties and including the author is misleading in terms of authorship,
|
||||
ownership of intellectual property of the source code.
|
||||
|
||||
In the absence of a legal resolution, we shall refer to the project as the
|
||||
-Extend project and software as "OpenFOAM", as per agreement between
|
||||
Prof. Hrvoje Jasak and Mr. Henry G. Weller of 30 September 2004
|
||||
|
||||
09/30/2004 01:45 PM
|
||||
|
||||
Dear Dr. Jasak,
|
||||
|
||||
I propose that we make FOAM open-source and shutdown Nabla, that way we
|
||||
are free to pursue whatever future we wish independently.
|
||||
|
||||
Henry G. Weller
|
||||
Managing Director
|
||||
Nabla Ltd
|
||||
|
||||
The first release of the OpenFOAM source code of 10 December 2004
|
||||
and subsequent clarification of 16 February 2005.
|
||||
|
||||
Hi Henry,
|
||||
|
||||
...
|
||||
|
||||
Regarding the new setup, I would like to thank you for your effort i
|
||||
n making FOAM public domain, with crucial comments regarding some
|
||||
important details.
|
||||
|
||||
- in the header files for the open version of foam there exists a line
|
||||
which claims copyright for OpenCFD Ltd:
|
||||
|
||||
Copyright (C) 1991-2004 OpenCFD Ltd.
|
||||
|
||||
I am not sure whether it is possible to claim copyright over a GPL piece
|
||||
of software, but this is at least misleading. In order for this
|
||||
statement to be true, OpenCFD Ltd. would need to purchase the copyright
|
||||
from Nabla Ltd. and from you and me personally (due to unresolved
|
||||
ownership and the remaining payments Nabla Ltd. needs to make to us
|
||||
regarding the original transfer of copyright). I can offer a number
|
||||
of solutions acceptable to me as follows:
|
||||
|
||||
1) no Copyright statement apart from the required GPL statement
|
||||
2) Copyright OpenFOAM.org
|
||||
3) Copyright Henry Weller, Hrvoje Jasak et al
|
||||
4) Copyright OpenCFD and Hrvoje Jasak
|
||||
5) List of authors instead of the copyright statement
|
||||
|
||||
I am also prepared to consider any other reasonable ideas along the same
|
||||
lines (including the sale of copyright, which would be a bit pointless
|
||||
at this stage) - please advise.
|
||||
|
||||
|
||||
02/17/2005 11:09 PM
|
||||
|
||||
Under the GPL there has to be an organization in place to enforce the GPL
|
||||
if there are violation, these are part of the rules. OpenCFD undertakes
|
||||
that responsibility hence the copyright.
|
||||
|
||||
Henry G. Weller
|
||||
Managing Director
|
||||
|
||||
|
||||
12 November 2010
|
||||
|
||||
From the above it is clear that OpenCFD does not own the rights or
|
||||
authorship of the source code, which is currently concealed in public.
|
||||
For further details, I have been attempting to get a formal response by
|
||||
this company for 6 years now, without success. It is time to move on.
|
||||
|
||||
The current Copyright notice does not fairly describe the authorship of
|
||||
the software. In the spirit of the open source development model, the
|
||||
-Extend project wishes to formally acknowledge all contributors and
|
||||
developers of OpenFOAM from its inception to today.
|
||||
|
||||
As this issue still remains unresolved, and the list of contributors
|
||||
has been illegally removed from the source code by Mr. Weller in 2006,
|
||||
we shall re-base OpenFOAM as an Open Source community-based project
|
||||
and associate the authorship and Copyright in each case with the
|
||||
original author.
|
||||
|
||||
Hrvoje Jasak
|
||||
|
||||
|
||||
This offering is not affiliated with OpenCFD Limited, owner of the OpenFOAM
|
||||
trade mark.
|
||||
|
||||
|
||||
Please find the official website of OpenCFD Limited at http://www.openfoam.org
|
||||
In particular, OpenCFD Limited hosts the following legal statements:
|
||||
- licensing and intellectual property: http://www.openfoam.com/legal/index.php
|
||||
- trademark policy: http://www.openfoam.com/legal/trademark-policy.php
|
||||
The OpenFOAM-Extend Project
|
||||
|
||||
Web site: http://www.extend-project.de/
|
||||
|
||||
The goal of the OpenFOAM -Extend Project is to open the OpenFOAM CFD toolbox
|
||||
to community contributed extensions in the spirit of the Open Source
|
||||
development model.
|
||||
|
||||
Software under the name OpenFOAM has been developed by a large group of
|
||||
volunteers starting in 1991 and has spread through scientific and engineering
|
||||
community in the late 1990s and early 2000s. Its main strength was the spirit
|
||||
of open collaboration in the community: the aim of the OpenFOAM-Extend Project
|
||||
is to formalize this spirit.
|
||||
|
||||
* Trademark notice
|
||||
Currently, the word "OpenFOAM" is held as a trademark by a commercial
|
||||
company, not associated with the Open Source development effort of this
|
||||
software. While the author acknowledges the existence of Trademark,
|
||||
association of trademarked phrase with the the code developed by third
|
||||
parties and including the author is misleading in terms of authorship,
|
||||
ownership of intellectual property of the source code.
|
||||
|
||||
In the absence of a legal resolution, we shall refer to the project as the
|
||||
-Extend project and software as "OpenFOAM", as per agreement between
|
||||
Prof. Hrvoje Jasak and Mr. Henry G. Weller of 30 September 2004.
|
||||
|
||||
The excerpts below are from the correspondences of Dr.Jasak and are to
|
||||
his knowledge all the relevant writings about this topic. Although
|
||||
this topic has been discussed before in public forums there exists no
|
||||
'official' answer by OpenCFD on this issue. In the interest of
|
||||
fairness a reference (link) to such an answer will be added to this
|
||||
document as soon as we come aware of it.
|
||||
|
||||
09/30/2004 01:45 PM
|
||||
|
||||
Dear Dr. Jasak,
|
||||
|
||||
I propose that we make FOAM open-source and shutdown Nabla, that way we
|
||||
are free to pursue whatever future we wish independently.
|
||||
|
||||
Henry G. Weller
|
||||
Managing Director
|
||||
Nabla Ltd
|
||||
|
||||
The first release of the OpenFOAM source code of 10 December 2004
|
||||
and subsequent clarification of 16 February 2005.
|
||||
|
||||
Hi Henry,
|
||||
|
||||
...
|
||||
|
||||
Regarding the new setup, I would like to thank you for your effort i
|
||||
n making FOAM public domain, with crucial comments regarding some
|
||||
important details.
|
||||
|
||||
- in the header files for the open version of foam there exists a line
|
||||
which claims copyright for OpenCFD Ltd:
|
||||
|
||||
Copyright (C) 1991-2004 OpenCFD Ltd.
|
||||
|
||||
I am not sure whether it is possible to claim copyright over a GPL piece
|
||||
of software, but this is at least misleading. In order for this
|
||||
statement to be true, OpenCFD Ltd. would need to purchase the copyright
|
||||
from Nabla Ltd. and from you and me personally (due to unresolved
|
||||
ownership and the remaining payments Nabla Ltd. needs to make to us
|
||||
regarding the original transfer of copyright). I can offer a number
|
||||
of solutions acceptable to me as follows:
|
||||
|
||||
1) no Copyright statement apart from the required GPL statement
|
||||
2) Copyright OpenFOAM.org
|
||||
3) Copyright Henry Weller, Hrvoje Jasak et al
|
||||
4) Copyright OpenCFD and Hrvoje Jasak
|
||||
5) List of authors instead of the copyright statement
|
||||
|
||||
I am also prepared to consider any other reasonable ideas along the same
|
||||
lines (including the sale of copyright, which would be a bit pointless
|
||||
at this stage) - please advise.
|
||||
|
||||
|
||||
02/17/2005 11:09 PM
|
||||
|
||||
Under the GPL there has to be an organization in place to enforce the GPL
|
||||
if there are violation, these are part of the rules. OpenCFD undertakes
|
||||
that responsibility hence the copyright.
|
||||
|
||||
Henry G. Weller
|
||||
Managing Director
|
||||
|
||||
|
||||
12 November 2010
|
||||
|
||||
From the above it is clear that OpenCFD does not own the rights or
|
||||
authorship of the source code, which is currently concealed in public.
|
||||
For further details, I have been attempting to get a formal response by
|
||||
this company for 6 years now, without success. It is time to move on.
|
||||
|
||||
The current Copyright notice does not fairly describe the authorship of
|
||||
the software. In the spirit of the open source development model, the
|
||||
-Extend project wishes to formally acknowledge all contributors and
|
||||
developers of OpenFOAM from its inception to today.
|
||||
|
||||
As this issue still remains unresolved, and the list of contributors
|
||||
has been removed from the OpenFOAM source code by Mr. Weller in 2006,
|
||||
we shall re-base OpenFOAM as an Open Source community-based project
|
||||
and associate the authorship and Copyright in each case with the
|
||||
original author.
|
||||
|
||||
Hrvoje Jasak
|
||||
|
||||
|
||||
This offering is not affiliated with OpenCFD Limited, owner of the OpenFOAM
|
||||
trade mark.
|
||||
|
||||
|
||||
Please find the official website of OpenCFD Limited at http://www.openfoam.org
|
||||
In particular, OpenCFD Limited hosts the following legal statements:
|
||||
- licensing and intellectual property: http://www.openfoam.com/legal/index.php
|
||||
- trademark policy: http://www.openfoam.com/legal/trademark-policy.php
|
||||
|
|
51
README
51
README
|
@ -169,23 +169,64 @@
|
|||
Hrvoje Jasak
|
||||
Mattijs Janssens
|
||||
Zeljko Tukovic
|
||||
Bernhard Gschaider
|
||||
Tommaso Lucchini
|
||||
Martin Beaudoin
|
||||
Sandeep Menon
|
||||
Niklas Nordin
|
||||
Martin Beaudoin
|
||||
Eugene De Villiers
|
||||
Henrik Rusche
|
||||
Bernhard Gschaider
|
||||
Ivor Clifford
|
||||
Oliver Borm
|
||||
Philiposse Rajan
|
||||
Chris Greenshields
|
||||
Mark Olesen
|
||||
Gavin Tabor
|
||||
Jovani Favero
|
||||
Frank Bos
|
||||
David Hill
|
||||
Niklas Wikstrom
|
||||
Dubravko Matijasevic
|
||||
Darrin Stephens
|
||||
Christian Beck
|
||||
Oliver Borm
|
||||
James Criner
|
||||
Hua Shan
|
||||
David Boner
|
||||
Pierre-Olivier Dallaire
|
||||
Norman Del Puppo
|
||||
Dennis Kingsley
|
||||
Frank Albina
|
||||
Flavio Galeazzo
|
||||
Hannes Kroger
|
||||
Olivier Petit
|
||||
David Schmidt
|
||||
Andreas Feymark
|
||||
Luca Mangani
|
||||
Daniel Schmode
|
||||
Christoph Goniva
|
||||
Takuya Oshima
|
||||
Juho Peltola
|
||||
Eric Paterson
|
||||
Fabian Peng Karrholm
|
||||
Aleksandar Karac
|
||||
Maria Garcia Camprubi
|
||||
Chris Greenshields
|
||||
Mark Olesen
|
||||
Hilary Spencer
|
||||
Andy Heather
|
||||
# -*- mode: org; -*-
|
||||
#
|
||||
#+TITLE: *OpenFOAM README for version 1.6-ext*
|
||||
#+AUTHOR: Hrvoje Jasak.
|
||||
#+DATE: 12 November 2010
|
||||
#+LINK: http://www.extend-project.de
|
||||
#+OPTIONS: author:nil
|
||||
|
||||
* 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.
|
||||
|
||||
* System requirements
|
||||
OpenFOAM is developed and tested on Linux and Mac OS X.
|
||||
E
|
|
@ -1,83 +1,83 @@
|
|||
# -*- mode: org; -*-
|
||||
#
|
||||
#+TITLE: *OpenFOAM release notes for version 1.6-ext*
|
||||
#+AUTHOR: Hrvoje Jasak.
|
||||
#+DATE: 12 November 2010
|
||||
#+LINK: http://www.extend-project.de
|
||||
#+OPTIONS: author:nil
|
||||
|
||||
* Overview
|
||||
OpenFOAM-1.6-ext is a formal release of the community developments in the
|
||||
OpenFOAM software library, following the establishment of the -Extend Project
|
||||
and web portal.
|
||||
|
||||
This release includes an automatic test harness, which passes our standard
|
||||
tests and tutorials.
|
||||
|
||||
* Compatibility
|
||||
OpenFOAM-1.6-ext is compatible with the OpenFOAM-1.6.x and 1.7.1 versions
|
||||
of the code and incorporate most developments and changes from above versions
|
||||
and ensure top-level compatibility. In some cases, the differences are
|
||||
caused by bug fixes and algorithmic improvements, considered more important
|
||||
than inter-operability.
|
||||
|
||||
The list of developments is a result of the work of numerous contributors.
|
||||
The Extend Project Admins would formally like to thank all contributors;
|
||||
the list will be updated with further code development
|
||||
|
||||
* Fundamental developments
|
||||
Improvements in accuracy and stability on tetrahedral and tet-dominant meshes
|
||||
Implicit coupled multi-domain solver
|
||||
Block-implicit multi-equation matrix support
|
||||
Proper Orthogonal Decomposition (POD) data analyss tools
|
||||
Rewrite of Ordinary Differential Equation (ODE) and ODE solver classes
|
||||
Dynamic remeshing classes, based on tetrahedral edge swapping
|
||||
Radial Basis Function interpolation and mesh motion classes
|
||||
Turbomachinery features: GGI interface, cyclic GGI, partial overlap GGI
|
||||
Parallelisation of topological change engine
|
||||
Support for parallelisation and topological changes in the Finite Area Method
|
||||
Library preparation for Python/Swig interface for OpenFOAM: VulaSHAKA project
|
||||
(http://sourceforge.net/projects/vulashaka/)
|
||||
Basic implementation of OpenMP wrapping for multi-core support
|
||||
|
||||
* Ongoing developments
|
||||
This section lists the applications that existed in versions of OpenFOAM
|
||||
but were abandoned by OpenCFD due to lack of expertise. In some cases, code
|
||||
may still be present but it is buggy or unusable. The -Extend project line
|
||||
maintains, validates and develops the features in contact with original
|
||||
authors and contributes new features and bug fixes.
|
||||
|
||||
Working parallel point mesh and field tools, shared between interpolation
|
||||
and FEM discretisation solvers
|
||||
FEM-based automatic mesh motion solver, with working parallelisation
|
||||
Dynamic mesh features and topological mesh changes
|
||||
The Finite Area Method: parallelisation, volume-to-surface mapping
|
||||
New generation of linear equation solvers, including accelerated AMG
|
||||
|
||||
* Developments to solvers (applications)
|
||||
Basic 6-degree-of-freedom (6-DOF) solver
|
||||
POD solver tools: prototype
|
||||
Demonstration solver for fully implicit block-matrix coupling
|
||||
|
||||
* Developments to utilities
|
||||
New parallel decomposition and reconstruction formulation, with support
|
||||
for topologically changing meshes
|
||||
Level-set support tools
|
||||
|
||||
* Model development
|
||||
Transport models and top-level solver for visco-elasto-plastic flows
|
||||
Updates to internal combustion engine simulation tools
|
||||
Updated version of free surface tracking tools for free surface flows
|
||||
Updated fluid-structure interaction solver with parallelisation support
|
||||
Updated stress analysis tools, new large deformation solver formulation
|
||||
|
||||
* Validation
|
||||
Integrated automatic and publicly available test harness with ~150 cases
|
||||
http://openfoam-extend.sourceforge.net/CDash/index.php
|
||||
Community-driven test-case base to enhance code quality and integrity.
|
||||
Contributions under
|
||||
http://www.extend-project.de/project-final/openfoam-extend-test-harness
|
||||
|
||||
* Other
|
||||
The number of cumulative bug fixes compared to OpenFOAM-1.6.x is over
|
||||
5000; we will stop counting.
|
||||
# -*- mode: org; -*-
|
||||
#
|
||||
#+TITLE: *OpenFOAM release notes for version 1.6-ext*
|
||||
#+AUTHOR: Hrvoje Jasak.
|
||||
#+DATE: 12 November 2010
|
||||
#+LINK: http://www.extend-project.de
|
||||
#+OPTIONS: author:nil
|
||||
|
||||
* Overview
|
||||
OpenFOAM-1.6-ext is a formal release of the community developments in the
|
||||
OpenFOAM software library, following the establishment of the -Extend Project
|
||||
and web portal.
|
||||
|
||||
This release includes an automatic test harness, which passes our standard
|
||||
tests and tutorials.
|
||||
|
||||
* Compatibility
|
||||
OpenFOAM-1.6-ext is compatible with the OpenFOAM-1.6.x and 1.7.1 versions
|
||||
of the code and incorporate most developments and changes from above versions
|
||||
and ensure top-level compatibility. In some cases, the differences are
|
||||
caused by bug fixes and algorithmic improvements, considered more important
|
||||
than inter-operability.
|
||||
|
||||
The list of developments is a result of the work of numerous contributors.
|
||||
The Extend Project Admins would formally like to thank all contributors;
|
||||
the list will be updated with further code development
|
||||
|
||||
* Fundamental developments
|
||||
Improvements in accuracy and stability on tetrahedral and tet-dominant meshes
|
||||
Implicit coupled multi-domain solver
|
||||
Block-implicit multi-equation matrix support
|
||||
Proper Orthogonal Decomposition (POD) data analyss tools
|
||||
Rewrite of Ordinary Differential Equation (ODE) and ODE solver classes
|
||||
Dynamic remeshing classes, based on tetrahedral edge swapping
|
||||
Radial Basis Function interpolation and mesh motion classes
|
||||
Turbomachinery features: GGI interface, cyclic GGI, partial overlap GGI
|
||||
Parallelisation of topological change engine
|
||||
Support for parallelisation and topological changes in the Finite Area Method
|
||||
Library preparation for Python/Swig interface for OpenFOAM: VulaSHAKA project
|
||||
(http://sourceforge.net/projects/vulashaka/)
|
||||
Basic implementation of OpenMP wrapping for multi-core support
|
||||
|
||||
* Ongoing developments
|
||||
This section lists the applications that existed in versions of OpenFOAM
|
||||
but were abandoned by OpenCFD due to lack of expertise. In some cases, code
|
||||
may still be present but it is buggy or unusable. The -Extend project line
|
||||
maintains, validates and develops the features in contact with original
|
||||
authors and contributes new features and bug fixes.
|
||||
|
||||
Working parallel point mesh and field tools, shared between interpolation
|
||||
and FEM discretisation solvers
|
||||
FEM-based automatic mesh motion solver, with working parallelisation
|
||||
Dynamic mesh features and topological mesh changes
|
||||
The Finite Area Method: parallelisation, volume-to-surface mapping
|
||||
New generation of linear equation solvers, including accelerated AMG
|
||||
|
||||
* Developments to solvers (applications)
|
||||
Basic 6-degree-of-freedom (6-DOF) solver
|
||||
POD solver tools: prototype
|
||||
Demonstration solver for fully implicit block-matrix coupling
|
||||
|
||||
* Developments to utilities
|
||||
New parallel decomposition and reconstruction formulation, with support
|
||||
for topologically changing meshes
|
||||
Level-set support tools
|
||||
|
||||
* Model development
|
||||
Transport models and top-level solver for visco-elasto-plastic flows
|
||||
Updates to internal combustion engine simulation tools
|
||||
Updated version of free surface tracking tools for free surface flows
|
||||
Updated fluid-structure interaction solver with parallelisation support
|
||||
Updated stress analysis tools, new large deformation solver formulation
|
||||
|
||||
* Validation
|
||||
Integrated automatic and publicly available test harness with ~150 cases
|
||||
http://openfoam-extend.sourceforge.net/CDash/index.php
|
||||
Community-driven test-case base to enhance code quality and integrity.
|
||||
Contributions under
|
||||
http://www.extend-project.de/project-final/openfoam-extend-test-harness
|
||||
|
||||
* Other
|
||||
The number of cumulative bug fixes compared to OpenFOAM-1.6.x is over
|
||||
5000; we will stop counting.
|
||||
|
|
|
@ -279,7 +279,7 @@ SunOS)
|
|||
cat <<USAGE
|
||||
|
||||
Your "$WM_ARCH" operating system is not supported by this release
|
||||
of OpenFOAM. For further assistance, please contact www.openfoam.org
|
||||
of OpenFOAM. For further assistance, please contact www.extend-project.de
|
||||
|
||||
USAGE
|
||||
;;
|
||||
|
|
|
@ -48,7 +48,7 @@ void reduce
|
|||
{
|
||||
Pstream::gather(comms, Value, bop);
|
||||
Pstream::scatter(comms, Value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Reduce using either linear or tree communication schedule
|
||||
|
@ -67,7 +67,7 @@ void reduce
|
|||
{
|
||||
reduce(Pstream::treeCommunication(), Value, bop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Reduce using either linear or tree communication schedule
|
||||
|
@ -90,7 +90,7 @@ T returnReduce
|
|||
}
|
||||
|
||||
return WorkValue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Insist there is a specialisation for the reduction of a scalar
|
||||
|
|
|
@ -384,14 +384,14 @@ public:
|
|||
//- Initialise evaluation of the patch field (do nothing)
|
||||
virtual void initEvaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
)
|
||||
{}
|
||||
|
||||
//- Evaluate the patch field
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
);
|
||||
|
||||
//- Update boundary value
|
||||
|
|
|
@ -147,7 +147,7 @@ public:
|
|||
//- Evaluate the patch field
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
) = 0;
|
||||
|
||||
//- Add field to internal field
|
||||
|
|
|
@ -208,7 +208,7 @@ FixedValuePointPatchField<PatchField, Mesh, PointPatch, MatrixType, Type>
|
|||
{
|
||||
Field<Type>::operator=(ptf);
|
||||
|
||||
// insert the result into the internal field
|
||||
// Insert the result into the internal field
|
||||
initEvaluate();
|
||||
}
|
||||
|
||||
|
@ -243,7 +243,8 @@ template
|
|||
template<class> class MatrixType,
|
||||
class Type
|
||||
>
|
||||
void FixedValuePointPatchField<PatchField, Mesh, PointPatch, MatrixType, Type>::
|
||||
void
|
||||
FixedValuePointPatchField<PatchField, Mesh, PointPatch, MatrixType, Type>::
|
||||
operator==
|
||||
(
|
||||
const Type& t
|
||||
|
|
|
@ -138,7 +138,7 @@ public:
|
|||
// there's nothing to do
|
||||
virtual void initEvaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
)
|
||||
{
|
||||
ValuePointPatchField
|
||||
|
@ -148,7 +148,7 @@ public:
|
|||
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
)
|
||||
{}
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ public:
|
|||
//- Evaluate the patch field
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
);
|
||||
|
||||
//- Update boundary value
|
||||
|
|
|
@ -186,7 +186,7 @@ public:
|
|||
//- Evaluate the patch field
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
)
|
||||
{}
|
||||
|
||||
|
|
|
@ -259,7 +259,7 @@ public:
|
|||
//- Does the patch field perform the transfromation
|
||||
virtual bool doTransform() const
|
||||
{
|
||||
return
|
||||
return
|
||||
!(
|
||||
procPatch_.procPolyPatch().parallel()
|
||||
|| pTraits<Type>::rank == 0
|
||||
|
@ -269,13 +269,13 @@ public:
|
|||
//- Initialise evaluation of the patch field
|
||||
virtual void initEvaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
);
|
||||
|
||||
//- Evaluate the patch field
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
);
|
||||
|
||||
//- Init add field to internal field
|
||||
|
|
|
@ -152,7 +152,7 @@ public:
|
|||
//- Update the patch field
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Class
|
|||
fixedValue/zeroGradient mix may be different for each direction.
|
||||
|
||||
I am still not sure how to do the fixedValue-fixedGradient
|
||||
combination.
|
||||
combination. HJ, date deleted
|
||||
|
||||
Description
|
||||
|
||||
|
|
|
@ -508,29 +508,33 @@ void GlobalPointPatchField
|
|||
// Create the global list and insert local values
|
||||
if (globalPointPatch_.globalPointSize() > 0)
|
||||
{
|
||||
Field<Type> gpf
|
||||
(
|
||||
globalPointPatch_.globalPointSize(),
|
||||
pTraits<Type>::zero
|
||||
);
|
||||
// Bug fix: use map-based communication. HJ, 18/Nov/2010
|
||||
|
||||
// Get addressing
|
||||
const labelList& sharedPointAddr =
|
||||
globalPointPatch_.sharedPointAddr();
|
||||
|
||||
// Get internal field data
|
||||
Field<Type> pField = this->patchInternalField();
|
||||
|
||||
// Pack data into a map
|
||||
Map<Type> dataMap;
|
||||
|
||||
forAll (sharedPointAddr, i)
|
||||
{
|
||||
gpf[sharedPointAddr[i]] = pField[i];
|
||||
dataMap.insert(sharedPointAddr[i], pField[i]);
|
||||
}
|
||||
|
||||
combineReduce(gpf, eqOp<Field<Type> >());
|
||||
// Communicate map
|
||||
Pstream::mapCombineGather(dataMap, eqOp<Type>());
|
||||
Pstream::mapCombineScatter(dataMap);
|
||||
|
||||
// Extract local data
|
||||
Field<Type> lpf(sharedPointAddr.size());
|
||||
|
||||
forAll (sharedPointAddr, i)
|
||||
{
|
||||
lpf[i] = gpf[sharedPointAddr[i]];
|
||||
lpf[i] = dataMap[sharedPointAddr[i]];
|
||||
}
|
||||
|
||||
// Get addressing and enforce values on all processors
|
||||
|
|
|
@ -185,7 +185,7 @@ public:
|
|||
//- Evaluate the patch field
|
||||
virtual void evaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
);
|
||||
|
||||
//- Add field to internal field
|
||||
|
|
|
@ -216,7 +216,7 @@ public:
|
|||
// there's nothing to do
|
||||
virtual void initEvaluate
|
||||
(
|
||||
const Pstream::commsTypes commsType=Pstream::blocking
|
||||
const Pstream::commsTypes commsType = Pstream::blocking
|
||||
);
|
||||
|
||||
//- Write
|
||||
|
|
|
@ -660,7 +660,7 @@ Foam::pointField Foam::globalMeshData::geometricSharedPoints() const
|
|||
combineReduce(sharedPoints, plusEqOp<pointField>());
|
||||
|
||||
// Merge tolerance
|
||||
scalar tolDim = matchTol_ * bb_.mag();
|
||||
scalar tolDim = matchTol_*bb_.mag();
|
||||
|
||||
// And see how many are unique
|
||||
labelList pMap;
|
||||
|
|
|
@ -22,7 +22,7 @@ License
|
|||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
\*----------------------------------------------------------------------------*/
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "syncTools.H"
|
||||
#include "polyMesh.H"
|
||||
|
@ -306,9 +306,9 @@ void Foam::syncTools::syncPointMap
|
|||
}
|
||||
}
|
||||
|
||||
//- Note: hasTransformation is only used for warning messages so
|
||||
// reduction not strictly nessecary.
|
||||
//reduce(hasTransformation, orOp<bool>());
|
||||
// Note: hasTransformation is only used for warning messages so
|
||||
// reduction not strictly nessecary.
|
||||
// reduce(hasTransformation, orOp<bool>());
|
||||
|
||||
// Synchronize multiple shared points.
|
||||
const globalMeshData& pd = mesh.globalData();
|
||||
|
|
|
@ -120,7 +120,7 @@ void Foam::laplaceTetDecompositionMotionSolver::solve()
|
|||
}
|
||||
|
||||
|
||||
if(needTotDisplacement())
|
||||
if (needTotDisplacement())
|
||||
{
|
||||
totDisplacement() += motionU()*tetMesh().time().deltaT();
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ public:
|
|||
|
||||
for
|
||||
(
|
||||
typename SLList<Type>::const_iterator myObjectsIter =
|
||||
typename SLList<Type>::const_iterator myObjectsIter =
|
||||
myObjects.begin();
|
||||
myObjectsIter != myObjects.end();
|
||||
++myObjectsIter
|
||||
|
@ -97,7 +97,7 @@ void Foam::tetPolyMeshFaceDecomp::addParallelPointPatch()
|
|||
// The processor point patch will be added if processor boundaries
|
||||
// exist in the case. If the mesh with processor boundaries is
|
||||
// not created during a parallel run (e.g. decomposePar), the
|
||||
// addressing will be dummy.
|
||||
// addressing will be dummy. HJ, date deleted
|
||||
|
||||
if (mesh_.globalData().parallel())
|
||||
{
|
||||
|
@ -360,7 +360,12 @@ void Foam::tetPolyMeshFaceDecomp::addParallelPointPatch()
|
|||
}
|
||||
|
||||
// Send the list to the first slave
|
||||
OPstream toFirstSlave(Pstream::blocking, Pstream::firstSlave());
|
||||
OPstream toFirstSlave
|
||||
(
|
||||
Pstream::blocking,
|
||||
Pstream::firstSlave()
|
||||
);
|
||||
|
||||
toFirstSlave << globalCutEdges;
|
||||
}
|
||||
else
|
||||
|
@ -440,7 +445,6 @@ void Foam::tetPolyMeshFaceDecomp::addParallelPointPatch()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Add the processor point patch
|
||||
boundary_.setSize(boundary_.size() + 1);
|
||||
|
||||
|
|
|
@ -91,7 +91,10 @@ tetPolyBoundaryMeshFaceDecomp::globalPatch() const
|
|||
{
|
||||
if (isA<globalTetPolyPatchFaceDecomp>(patches[patchI]))
|
||||
{
|
||||
return refCast<const globalTetPolyPatchFaceDecomp>(patches[patchI]);
|
||||
return refCast<const globalTetPolyPatchFaceDecomp>
|
||||
(
|
||||
patches[patchI]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -208,7 +208,7 @@ public:
|
|||
virtual const word& name() const
|
||||
{
|
||||
// There can only be a single patch of this type - therefore
|
||||
// its name is hard-coded.
|
||||
// its name is hard-coded. HJ, date deleted
|
||||
return type();
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue