Commit 10e8b732 authored by Andrew Heather's avatar Andrew Heather
Browse files

merge Mark's branch

parents 7c24deb5 e8843a35
......@@ -2,7 +2,7 @@
#
#+TITLE: *OpenFOAM release notes for version 1.5*
#+AUTHOR: OpenCFD Ltd.
#+DATE: 26 August 2008
#+DATE: 07 October 2008
#+LINK: http://www.opencfd.co.uk
#+OPTIONS: author:nil ^:{}
......@@ -34,7 +34,7 @@
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
$compilerInstall environment variable in the OpenFOAM-1.5/etc/settings.sh
(or settings.csh) file.
* Developments to solvers (applications)
......
......@@ -49,7 +49,7 @@ quires the installation of Qt 4.3.? for ParaView-3 to run.
$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
$compilerInstall environment variable in the OpenFOAM-1.5/etc/settings.sh
(or settings.csh) file.
4 Developments to solvers (applications)
......@@ -202,7 +202,7 @@ To aid common monitoring and post-processing activities.
* Non-blocking, non-buffered, parallel transfers with potential scaling
benefits for larger number of processors.
Date: 26 August 2008
Date: 07 October 2008
HTML generated by org-mode 6.06b in emacs 23
.file "ListLoop.C"
.section .ctors,"aw",@progbits
.align 4
.long _GLOBAL__I__Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_
.text
.align 2
.p2align 4,,15
.type _Z41__static_initialization_and_destruction_0ii, @function
_Z41__static_initialization_and_destruction_0ii:
.LFB2550:
pushl %ebp
.LCFI0:
movl %esp, %ebp
.LCFI1:
pushl %ebx
.LCFI2:
call __i686.get_pc_thunk.bx
addl $_GLOBAL_OFFSET_TABLE_, %ebx
subl $20, %esp
.LCFI3:
decl %eax
je .L7
.L5:
addl $20, %esp
popl %ebx
leave
ret
.p2align 4,,7
.L7:
cmpl $65535, %edx
jne .L5
leal _ZSt8__ioinit@GOTOFF(%ebx), %eax
movl %eax, (%esp)
call _ZNSt8ios_base4InitC1Ev@PLT
movl __dso_handle@GOT(%ebx), %eax
movl $0, 4(%esp)
movl %eax, 8(%esp)
leal __tcf_0@GOTOFF(%ebx), %eax
movl %eax, (%esp)
call __cxa_atexit@PLT
addl $20, %esp
popl %ebx
leave
ret
.LFE2550:
.size _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii
.globl __gxx_personality_v0
.align 2
.p2align 4,,15
.type _GLOBAL__I__Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_, @function
_GLOBAL__I__Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_:
.LFB2552:
pushl %ebp
.LCFI4:
movl $65535, %edx
movl $1, %eax
movl %esp, %ebp
.LCFI5:
leave
jmp _Z41__static_initialization_and_destruction_0ii
.LFE2552:
.size _GLOBAL__I__Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_, .-_GLOBAL__I__Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_
.align 2
.p2align 4,,15
.type __tcf_0, @function
__tcf_0:
.LFB2551:
pushl %ebp
.LCFI6:
movl %esp, %ebp
.LCFI7:
pushl %ebx
.LCFI8:
call __i686.get_pc_thunk.bx
addl $_GLOBAL_OFFSET_TABLE_, %ebx
subl $4, %esp
.LCFI9:
leal _ZSt8__ioinit@GOTOFF(%ebx), %eax
movl %eax, (%esp)
call _ZNSt8ios_base4InitD1Ev@PLT
addl $4, %esp
popl %ebx
leave
ret
.LFE2551:
.size __tcf_0, .-__tcf_0
.align 2
.p2align 4,,15
.globl _Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_
.type _Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_, @function
_Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_:
.LFB2352:
pushl %ebp
.LCFI10:
movl %esp, %ebp
.LCFI11:
pushl %edi
.LCFI12:
pushl %esi
.LCFI13:
subl $12, %esp
.LCFI14:
movl 8(%ebp), %edx
movl (%edx), %eax
testl %eax, %eax
movl %eax, -20(%ebp)
jle .L16
movl 16(%ebp), %eax
movl 4(%edx), %edx
xorl %ecx, %ecx
movl 4(%eax), %eax
movl %edx, -12(%ebp)
movl %eax, -16(%ebp)
movl 20(%ebp), %eax
movl 4(%eax), %edi
movl 12(%ebp), %eax
movl 4(%eax), %esi
.p2align 4,,7
.L15:
movl -16(%ebp), %edx
movl (%edx,%ecx,4), %eax
movl -12(%ebp), %edx
leal (%edx,%eax,8), %eax
movl (%edi,%ecx,4), %edx
incl %ecx
cmpl %ecx, -20(%ebp)
fldl (%eax)
fsubl (%esi,%edx,8)
fstpl (%eax)
jne .L15
.L16:
addl $12, %esp
popl %esi
popl %edi
leave
ret
.LFE2352:
.size _Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_, .-_Z4funcRN4Foam4ListIdEERKS1_RKNS0_IiEES7_
.local _ZSt8__ioinit
.comm _ZSt8__ioinit,1,1
.section .eh_frame,"a",@progbits
.Lframe1:
.long .LECIE1-.LSCIE1
.LSCIE1:
.long 0x0
.byte 0x1
.string "zPR"
.uleb128 0x1
.sleb128 -4
.byte 0x8
.uleb128 0x6
.byte 0x9b
.long DW.ref.__gxx_personality_v0-.
.byte 0x1b
.byte 0xc
.uleb128 0x4
.uleb128 0x4
.byte 0x88
.uleb128 0x1
.align 4
.LECIE1:
.LSFDE1:
.long .LEFDE1-.LASFDE1
.LASFDE1:
.long .LASFDE1-.Lframe1
.long .LFB2550-.
.long .LFE2550-.LFB2550
.uleb128 0x0
.byte 0x4
.long .LCFI0-.LFB2550
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI1-.LCFI0
.byte 0xd
.uleb128 0x5
.byte 0x4
.long .LCFI2-.LCFI1
.byte 0x83
.uleb128 0x3
.align 4
.LEFDE1:
.LSFDE5:
.long .LEFDE5-.LASFDE5
.LASFDE5:
.long .LASFDE5-.Lframe1
.long .LFB2551-.
.long .LFE2551-.LFB2551
.uleb128 0x0
.byte 0x4
.long .LCFI6-.LFB2551
.byte 0xe
.uleb128 0x8
.byte 0x85
.uleb128 0x2
.byte 0x4
.long .LCFI7-.LCFI6
.byte 0xd
.uleb128 0x5
.byte 0x4
.long .LCFI8-.LCFI7
.byte 0x83
.uleb128 0x3
.align 4
.LEFDE5:
.hidden DW.ref.__gxx_personality_v0
.weak DW.ref.__gxx_personality_v0
.section .data.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
.align 4
.type DW.ref.__gxx_personality_v0, @object
.size DW.ref.__gxx_personality_v0, 4
DW.ref.__gxx_personality_v0:
.long __gxx_personality_v0
.ident "GCC: (GNU) 4.1.1"
.section .text.__i686.get_pc_thunk.bx,"axG",@progbits,__i686.get_pc_thunk.bx,comdat
.globl __i686.get_pc_thunk.bx
.hidden __i686.get_pc_thunk.bx
.type __i686.get_pc_thunk.bx, @function
__i686.get_pc_thunk.bx:
movl (%esp), %ebx
ret
.section .note.GNU-stack,"",@progbits
xferListTest.C
/* EXE = $(FOAM_USER_APPBIN)/xferListTest */
EXE = ./xferListTest
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
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.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Application
Description
\*---------------------------------------------------------------------------*/
#include "OSspecific.H"
#include "IOstreams.H"
#include "IStringStream.H"
#include "labelList.H"
using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Main program:
int main(int argc, char *argv[])
{
List<label> lstA(10);
List<label> lstC(IStringStream("(1 2 3 4)")());
forAll(lstA, i)
{
lstA[i] = i;
}
Info<< "lstA: " << lstA << endl;
Info<< "lstC: " << lstC << endl;
xfer<List<label> > xA(lstA, true);
xfer<List<label> > xB;
// List<label> lstB( xferTmp(List<label>, lstC) );
// List<label> lstB( xfer<List<label> >(lstC) );
List<label> lstB( xA );
Info<< "xA: " << *xA << endl;
Info<< "xB: " << *xB << endl;
Info<< "lstA: " << lstA << endl;
Info<< "lstB: " << lstB << endl;
Info<< "lstC: " << lstC << endl;
xA = lstB;
Info<< "xA: " << *xA << endl;
Info<< "xB: " << *xB << endl;
Info<< "lstA: " << lstA << endl;
Info<< "lstB: " << lstB << endl;
Info<< "lstC: " << lstC << endl;
xB = xA;
Info<< "xA: " << *xA << endl;
Info<< "xB: " << *xB << endl;
Info<< "lstA: " << lstA << endl;
Info<< "lstB: " << lstB << endl;
Info<< "lstC: " << lstC << endl;
return 0;
}
// ************************************************************************* //
EXE_INC = \
-IextrudedMesh \
-IextrudeModel/lnInclude \
-I$(FOAM_SRC)/meshTools/lnInclude \
-I$(FOAM_SRC)/dynamicMesh/lnInclude
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude
EXE_LIBS = \
-lmeshTools \
......
EXE_INC = \
-I$(FOAM_SRC)/meshTools/lnInclude \
-I$(FOAM_SRC)/dynamicMesh/lnInclude
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude
EXE_LIBS = \
-lmeshTools \
......
EXE_INC = \
-I$(FOAM_SRC)/finiteVolume/lnInclude \
-I$(FOAM_SRC)/meshTools/lnInclude \
-I$(FOAM_SRC)/lagrangian/basic/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/lagrangian/basic/lnInclude
EXE_LIBS = \
-lmeshTools \
......
......@@ -39,6 +39,14 @@ Usage
@param -zeroTime \n
Include the often incomplete initial conditions.
@param -index \<start\>\n
Ignore the time index contained in the time file and use a
simple indexing when creating the @c Ensight/data/######## files.
@param -noMesh \n
Suppress writing the geometry. Can be useful for converting partial
results for a static geometry.
Note
- no parallel data.
- writes to @a Ensight directory to avoid collisions with foamToEnsight.
......@@ -70,6 +78,8 @@ int main(int argc, char *argv[])
timeSelector::addOptions(true, false);
argList::noParallel();
argList::validOptions.insert("ascii", "");
argList::validOptions.insert("index", "start");
argList::validOptions.insert("noMesh", "");
const word volFieldTypes[] =
{
......@@ -104,6 +114,18 @@ int main(int argc, char *argv[])
format = IOstream::ASCII;
}
// control for renumbering iterations
bool optIndex = false;
label indexingNumber = 0;
if (args.options().found("index"))
{
optIndex = true;
indexingNumber = readLabel(IStringStream(args.options()["index"])());
}
// always write the geometry, unless the -noMesh option is specified
bool optNoMesh = args.options().found("noMesh");
fileName ensightDir = args.rootPath()/args.globalCaseName()/"Ensight";
fileName dataDir = ensightDir/"data";
fileName caseFileName = "Ensight.case";
......@@ -146,6 +168,13 @@ int main(int argc, char *argv[])
# include "findFields.H"
# include "validateFields.H"
if (hasMovingMesh && optNoMesh)
{
Info<< "mesh is moving: ignoring '-noMesh' option" << endl;
optNoMesh = false;
}
// map times used
Map<scalar> timeIndices;
......@@ -192,15 +221,18 @@ int main(int argc, char *argv[])
partsList.recalculate(mesh);
}
fileName geomDir;
if (hasMovingMesh)
if (!optNoMesh)
{
geomDir = dataDir/subDir;
}
fileName geomDir;
if (hasMovingMesh)
{
geomDir = dataDir/subDir;
}
ensightGeoFile geoFile(ensightDir/geomDir/geometryName, format);
partsList.writeGeometry(geoFile);
Info << nl;
ensightGeoFile geoFile(ensightDir/geomDir/geometryName, format);
partsList.writeGeometry(geoFile);
Info<< nl;
}
}
Info<< "write volume field (" << flush;
......
// Read time index from */uniform/time,
// but treat 0 and constant specially
// Read time index from */uniform/time, but treat 0 and constant specially
// or simply increment from the '-index' option if it was supplied
label timeIndex = 0;
if
if (optIndex)
{
timeIndex = indexingNumber++;
}
else if
(
runTime.timeName() != "constant"
&& runTime.timeName() != "0"
......@@ -22,19 +26,8 @@
if (io.headerOk())
{
IOdictionary timeObject
(
IOobject
(
"time",
runTime.timeName(),
"uniform",
runTime,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
);
io.readOpt() = IOobject::MUST_READ;
IOdictionary timeObject(io);
timeObject.lookup("index") >> timeIndex;
}
......
{
IOobject ioPoints
IOobject io
(
"points",
"points",
runTime.timeName(),
polyMesh::meshSubDir,
mesh
);
if (ioPoints.headerOk())
if (io.headerOk())
{
// Reading new points
pointIOField newPoints
(
IOobject
(
"points",
mesh.time().timeName(),
polyMesh::meshSubDir,
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE
)
);
// Read new points
io.readOpt() = IOobject::MUST_READ;
pointIOField newPoints(io);
mesh.movePoints(newPoints);
}
}
......@@ -5,7 +5,8 @@ forAllIter(HashTable<word>, volumeFields, fieldIter)
const word& fieldName = fieldIter.key();
const word& fieldType = fieldIter();
if (fieldName.size() > 2 && fieldName(fieldName.size() - 2, 2) != "_0")
// ignore _0 fields
if (fieldName.size() > 2 && fieldName(fieldName.size() - 2, 2) == "_0")
{
volumeFields.erase(fieldIter);
}
......
# create a plugin that adds a reader to the ParaView GUI
# it is added in the file dialog when doing opens/saves.
......@@ -16,8 +15,8 @@ LINK_DIRECTORIES(
)
INCLUDE_DIRECTORIES(
$ENV{FOAM_SRC}/OpenFOAM/lnInclude
$ENV{FOAM_SRC}/finiteVolume/lnInclude
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
$ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
${PROJECT_SOURCE_DIR}/../vtkPV3Foam
)
......@@ -52,3 +51,4 @@ TARGET_LINK_LIBRARIES(
finiteVolume
vtkPV3Foam
)
#-----------------------------------------------------------------------------
......@@ -16,8 +16,12 @@ SET(PVFoamReader_LIBS
vtkGraphics
)
INCLUDE_DIRECTORIES($ENV{FOAM_SRC}/OpenFOAM/lnInclude $ENV{FOAM_SRC}/finiteVolume/lnInclude)
INCLUDE_DIRECTORIES($ENV{ParaView_INST_DIR}/include ../vtkFoam/lnInclude)
INCLUDE_DIRECTORIES(
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
$ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
$ENV{ParaView_INST_DIR}/include
../vtkFoam/lnInclude
)
ADD_DEFINITIONS(-D$ENV{WM_PRECISION_OPTION})
#-----------------------------------------------------------------------------
......@@ -72,3 +76,4 @@ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/PVFoamReader.pvsm.in
${PROJECT_BINARY_DIR}/../${PROJECT_NAME}.pvsm @ONLY IMMEDIATE)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} OpenFOAM finiteVolume vtkFoam)
#-----------------------------------------------------------------------------
......@@ -94,7 +94,7 @@ EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \