Merge branch 'master' into develop

This commit is contained in:
Andrew Heather 2018-01-18 09:33:40 +00:00
commit 89d49f002a
31 changed files with 318 additions and 247 deletions

View File

@ -79,6 +79,7 @@ functionObjects/Allwmake $targetType $*
wmake $targetType lumpedPointMotion
wmake $targetType sixDoFRigidBodyMotion
wmake $targetType sixDoFRigidBodyState
wmake $targetType rigidBodyDynamics
wmake $targetType rigidBodyMeshMotion

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2016-2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -647,7 +647,7 @@ Foam::sampledTriSurfaceMesh::sampledTriSurfaceMesh
surfaceName,
mesh.time().constant(), // instance
"triSurface", // local
mesh, // registry
mesh.time(), // registry
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
@ -679,7 +679,7 @@ Foam::sampledTriSurfaceMesh::sampledTriSurfaceMesh
dict.lookup("surface"),
mesh.time().constant(), // instance
"triSurface", // local
mesh, // registry
mesh.time(), // registry
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
@ -713,7 +713,7 @@ Foam::sampledTriSurfaceMesh::sampledTriSurfaceMesh
name,
mesh.time().constant(), // instance
"triSurface", // local
mesh, // registry
mesh.time(), // registry
IOobject::NO_READ,
IOobject::NO_WRITE,
false

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2016-2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -642,7 +642,7 @@ Foam::discreteSurface::discreteSurface
surfaceName,
mesh.time().constant(), // instance
"triSurface", // local
mesh, // registry
mesh.time(), // registry
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
@ -680,7 +680,7 @@ Foam::discreteSurface::discreteSurface
dict.lookup("surface"),
mesh.time().constant(), // instance
"triSurface", // local
mesh, // registry
mesh.time(), // registry
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
@ -716,7 +716,7 @@ Foam::discreteSurface::discreteSurface
name,
mesh.time().constant(), // instance
"triSurface", // local
mesh, // registry
mesh.time(), // registry
IOobject::NO_READ,
IOobject::NO_WRITE,
false

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2017 OpenFOAM Foundation
\\/ M anipulation |
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -46,6 +46,34 @@ namespace functionObjects
}
}
const Foam::Enum
<
Foam::functionObjects::sixDoFRigidBodyState::angleTypes
>
Foam::functionObjects::sixDoFRigidBodyState::angleTypeNames_
{
{ angleTypes::RADIANS, "radians" },
{ angleTypes::DEGREES, "degrees" }
};
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
void Foam::functionObjects::sixDoFRigidBodyState::writeFileHeader(Ostream& os)
{
writeHeader(os, "Motion State");
writeHeaderValue(os, "Angle Units", angleTypeNames_[angleFormat_]);
writeCommented(os, "Time");
os << tab
<< "centreOfRotation" << tab
<< "centreOfMass" << tab
<< "rotation" << tab
<< "velocity" << tab
<< "omega" << endl;
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -57,10 +85,11 @@ Foam::functionObjects::sixDoFRigidBodyState::sixDoFRigidBodyState
)
:
fvMeshFunctionObject(name, runTime, dict),
logFiles(obr_, name)
writeFile(mesh_, name, typeName, dict),
angleFormat_(angleTypes::RADIANS)
{
read(dict);
resetName(typeName);
writeFileHeader(file());
}
@ -74,27 +103,20 @@ Foam::functionObjects::sixDoFRigidBodyState::~sixDoFRigidBodyState()
bool Foam::functionObjects::sixDoFRigidBodyState::read(const dictionary& dict)
{
fvMeshFunctionObject::read(dict);
angleFormat_ = dict.lookupOrDefault<word>("angleFormat", "radians");
if (fvMeshFunctionObject::read(dict))
{
angleFormat_ =
angleTypeNames_.lookupOrDefault
(
"angleFormat",
dict,
angleTypes::RADIANS
);
return true;
}
return true;
}
void Foam::functionObjects::sixDoFRigidBodyState::writeFileHeader(const label)
{
OFstream& file = this->file();
writeHeader(file, "Motion State");
writeHeaderValue(file, "Angle Units", angleFormat_);
writeCommented(file, "Time");
file<< tab
<< "centreOfRotation" << tab
<< "centreOfMass" << tab
<< "rotation" << tab
<< "velocity" << tab
<< "omega" << endl;
return false;
}
@ -106,26 +128,29 @@ bool Foam::functionObjects::sixDoFRigidBodyState::execute()
bool Foam::functionObjects::sixDoFRigidBodyState::write()
{
logFiles::write();
const dynamicMotionSolverFvMesh& mesh =
refCast<const dynamicMotionSolverFvMesh>(obr_);
if (Pstream::master())
const sixDoFRigidBodyMotionSolver& motionSolver_ =
refCast<const sixDoFRigidBodyMotionSolver>(mesh.motion());
const sixDoFRigidBodyMotion& motion = motionSolver_.motion();
vector rotationAngle
(
quaternion(motion.orientation()).eulerAngles(quaternion::XYZ)
);
vector angularVelocity(motion.omega());
switch (angleFormat_)
{
const dynamicMotionSolverFvMesh& mesh =
refCast<const dynamicMotionSolverFvMesh>(obr_);
const sixDoFRigidBodyMotionSolver& motionSolver_ =
refCast<const sixDoFRigidBodyMotionSolver>(mesh.motion());
const sixDoFRigidBodyMotion& motion = motionSolver_.motion();
vector rotationAngle
(
quaternion(motion.orientation()).eulerAngles(quaternion::XYZ)
);
vector angularVelocity(motion.omega());
if (angleFormat_ == "degrees")
case angleTypes::RADIANS:
{
// Nothing to do - already in radians
break;
}
case angleTypes::DEGREES:
{
rotationAngle.x() = radToDeg(rotationAngle.x());
rotationAngle.y() = radToDeg(rotationAngle.y());
@ -134,18 +159,25 @@ bool Foam::functionObjects::sixDoFRigidBodyState::write()
angularVelocity.x() = radToDeg(angularVelocity.x());
angularVelocity.y() = radToDeg(angularVelocity.y());
angularVelocity.z() = radToDeg(angularVelocity.z());
break;
}
default:
{
FatalErrorInFunction
<< "Unhandled enumeration " << angleTypeNames_[angleFormat_]
<< abort(FatalError);
}
writeTime(file());
file()
<< tab
<< motion.centreOfRotation() << tab
<< motion.centreOfMass() << tab
<< rotationAngle << tab
<< motion.v() << tab
<< angularVelocity << endl;
}
writeTime(file());
file()
<< tab
<< motion.centreOfRotation() << tab
<< motion.centreOfMass() << tab
<< rotationAngle << tab
<< motion.v() << tab
<< angularVelocity << endl;
return true;
}

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2017 OpenFOAM Foundation
\\/ M anipulation |
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -25,7 +25,7 @@ Class
Foam::functionObjects::sixDoFRigidBodyState
Group
grpFieldFunctionObjects
grpSixDoFRigidBodyFunctionObjects
Description
Writes the 6-DoF motion state.
@ -49,7 +49,7 @@ Usage
See also
Foam::functionObjects::fvMeshFunctionObject
Foam::functionObjects::logFiles
Foam::functionObjects::writeFile
SourceFiles
sixDoFRigidBodyState.C
@ -60,7 +60,8 @@ SourceFiles
#define sixDoFRigidBodyState_H
#include "fvMeshFunctionObject.H"
#include "logFiles.H"
#include "writeFile.H"
#include "Enum.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -70,17 +71,27 @@ namespace functionObjects
{
/*---------------------------------------------------------------------------*\
Class sixDoFRigidBodyState Declaration
Class sixDoFRigidBodyState Declaration
\*---------------------------------------------------------------------------*/
class sixDoFRigidBodyState
:
public fvMeshFunctionObject,
public logFiles
public writeFile
{
// Private data
word angleFormat_;
enum class angleTypes
{
RADIANS, //!< Radians
DEGREES //!< Degrees
};
//- Angle type names
static const Enum<angleTypes> angleTypeNames_;
//- Angle format
angleTypes angleFormat_;
// Private Member Functions
@ -96,8 +107,8 @@ protected:
// Protected Member Functions
//- overloaded writeFileHeader from writeFile
virtual void writeFileHeader(const label i = 0);
//- Overloaded writeFileHeader from writeFile
virtual void writeFileHeader(Ostream& os);
public:

View File

@ -2,6 +2,17 @@
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
if isTest $@
then
# Reset the controlDict
if [ -f system/controlDict.orig ]
then
echo "$0: restoring the controlDict from controlDict.orig"
mv system/controlDict.orig system/controlDict
fi
fi
runApplication blockMesh
application=$(getApplication)

View File

@ -1,14 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
# Reset the controlDict
if [ -f system/controlDict.orig ]
then
echo "$0: restoring the controlDict from controlDict.orig"
mv system/controlDict.orig system/controlDict
fi
./Allrun
#------------------------------------------------------------------------------

View File

@ -5,4 +5,4 @@
(cd cylinderMesh && ./Allrun.pre)
# Add background mesh
(cd cylinderAndBackground && ./Allrun)
(cd cylinderAndBackground && ./Allrun $*)

View File

@ -4,55 +4,56 @@ cd ${0%/*} || exit 1 # Run from this directory
setControlDict()
{
sed \
-e "s/\(deltaT[ \t]*\) 5e-06;/\1 1e-05;/g" \
-e "s/\(endTime[ \t]*\) 0.005;/\1 0.015;/g" \
-e "s/\(writeInterval[ \t]*\) 10;/\1 50;/g" \
-i system/controlDict
foamDictionary -entry "deltaT" -set "1e-05" system/controlDict
foamDictionary -entry "endTime" -set "0.015" system/controlDict
foamDictionary -entry "writeInterval" -set "50" system/controlDict
}
setCombustionProperties()
{
sed \
-e "s/\(laminarFlameSpeedCorrelation[ \t]*\) Gulders;/\1 RaviPetersen;/g" \
-e "s/\(fuel[ \t]*\) Propane;/\1 HydrogenInAir;/g" \
-i constant/combustionProperties
foamDictionary -entry "laminarFlameSpeedCorrelation" \
-set "RaviPetersen" constant/combustionProperties
foamDictionary -entry "fuel" \
-set "HydrogenInAir" constant/combustionProperties
}
# Do moriyoshiHomogeneous
( cd moriyoshiHomogeneous && foamRunTutorials )
# Clone case for second phase
cloneCase moriyoshiHomogeneous moriyoshiHomogeneousPart2
if ! isTest $@
then
# Clone case for second phase
cloneCase moriyoshiHomogeneous moriyoshiHomogeneousPart2
# Modify and execute
(
cd moriyoshiHomogeneousPart2 || exit
# Modify and execute
(
cd moriyoshiHomogeneousPart2 || exit
# The following 2 command lines are a generic implementation of the
# following command:
# cp -r ../moriyoshiHomogeneous/0.005 .
# The following 2 command lines are a generic implementation of the
# following command:
# cp -r ../moriyoshiHomogeneous/0.005 .
lastTimeStep=$(foamListTimes -case ../moriyoshiHomogeneous -latestTime)
cp -r ../moriyoshiHomogeneous/$lastTimeStep .
lastTimeStep=$(foamListTimes -case ../moriyoshiHomogeneous -latestTime)
cp -r ../moriyoshiHomogeneous/$lastTimeStep .
setControlDict
runApplication $(getApplication)
)
setControlDict
runApplication $(getApplication)
)
# Clone case for hydrogen
cloneCase moriyoshiHomogeneous moriyoshiHomogeneousHydrogen
# Clone case for hydrogen
cloneCase moriyoshiHomogeneous moriyoshiHomogeneousHydrogen
# Modify and execute
(
cd moriyoshiHomogeneousHydrogen || exit
# Modify and execute
(
cd moriyoshiHomogeneousHydrogen || exit
setCombustionProperties
mv constant/thermophysicalProperties \
constant/thermophysicalProperties.propane
mv constant/thermophysicalProperties.hydrogen \
constant/thermophysicalProperties
runApplication $(getApplication)
)
setCombustionProperties
mv constant/thermophysicalProperties \
constant/thermophysicalProperties.propane
mv constant/thermophysicalProperties.hydrogen \
constant/thermophysicalProperties
runApplication $(getApplication)
)
fi
#------------------------------------------------------------------------------

View File

@ -9,6 +9,9 @@ runApplication chemkinToFoam \
runApplication $(getApplication)
(cd validation && ./Allrun $*)
if ! isTest $@
then
(cd validation && ./Allrun $*)
fi
#------------------------------------------------------------------------------

View File

@ -4,6 +4,9 @@ cd ${0%/*} || exit 1 # Run from this directory
runApplication $(getApplication)
(cd validation && ./Allrun $*)
if ! isTest $@
then
(cd validation && ./Allrun $*)
fi
#------------------------------------------------------------------------------

View File

@ -4,6 +4,9 @@ cd ${0%/*} || exit 1 # Run from this directory
runApplication $(getApplication)
(cd validation && ./Allrun $*)
if ! isTest $@
then
(cd validation && ./Allrun $*)
fi
#------------------------------------------------------------------------------

View File

@ -4,6 +4,9 @@ cd ${0%/*} || exit 1 # Run from this directory
runApplication $(getApplication)
(cd validation && ./Allrun $*)
if ! isTest $@
then
(cd validation && ./Allrun $*)
fi
#------------------------------------------------------------------------------

View File

@ -4,6 +4,9 @@ cd ${0%/*} || exit 1 # Run from this directory
runApplication $(getApplication)
(cd validation && ./Allrun $*)
if ! isTest $@
then
(cd validation && ./Allrun $*)
fi
#------------------------------------------------------------------------------

View File

@ -21,6 +21,9 @@ runParallel $(getApplication)
paraFoam -touch
paraFoam -touch -region panelRegion
(cd validation && ./createGraphs)
if ! isTest $@
then
(cd validation && ./createGraphs)
fi
#------------------------------------------------------------------------------

View File

@ -5,8 +5,7 @@ cd ${0%/*} || exit 1 # Run from this directory
# Application name
application=$(getApplication)
rm -f 0
cp -r 0.orig 0
restore0Dir
runApplication chemkinToFoam \
chemkin/grimech30.dat chemkin/thermo30.dat chemkin/transportProperties \
@ -15,20 +14,27 @@ runApplication chemkinToFoam \
runApplication blockMesh
runApplication setFields
if isTest $@
then
# Test without chemistry
foamDictionary -entry "chemistry" -set "off" constant/chemistryProperties
runApplication $application
else
# Run the application without chemistry until 1500 to let the flow field
# develop
foamDictionary -entry "writeInterval" -set "1500" system/controlDict
foamDictionary -entry "endTime" -set "1500" system/controlDict
foamDictionary -entry "chemistry" -set "off" constant/chemistryProperties
# Run the application without chemistry until 1500 to let the flow field develop
foamDictionary -entry "writeInterval" -set "1500" system/controlDict
foamDictionary -entry "endTime" -set "1500" system/controlDict
foamDictionary -entry "chemistry" -set "off" constant/chemistryProperties
runApplication $application
runApplication $application
# Run with chemistry until flame reach its full size
foamDictionary -entry "writeInterval" -set "100" system/controlDict
foamDictionary -entry "endTime" -set "5000" system/controlDict
foamDictionary -entry "chemistry" -set "on" constant/chemistryProperties
# Run with chemistry until flame reach its full size
foamDictionary -entry "writeInterval" -set "100" system/controlDict
foamDictionary -entry "endTime" -set "5000" system/controlDict
foamDictionary -entry "chemistry" -set "on" constant/chemistryProperties
runApplication -o $application
runApplication -o $application
fi
#------------------------------------------------------------------------------

View File

@ -5,4 +5,4 @@
(cd cylinderMesh && ./Allrun.pre)
# Add background mesh
(cd cylinderAndBackground && ./Allrun)
(cd cylinderAndBackground && ./Allrun $*)

View File

@ -29,20 +29,23 @@ run resolved
# Run with the plenum modelled by a boundary condition
run modelled
# Plot a comparison of the pressure in the neck
cat << EOF | gnuplot -persist
if ! isTest $@
then
# Plot a comparison of the pressure in the neck
cat << EOF | gnuplot -persist
set terminal postscript eps size 5,4 enhanced color
set terminal postscript eps size 5,4 enhanced color
set xlabel "Time (s)"
set ylabel "Guage pressure in the neck (Pa)"
set xlabel "Time (s)"
set ylabel "Guage pressure in the neck (Pa)"
set output "pressure.eps"
set output "pressure.eps"
plot \
"resolved/postProcessing/probes/0/p" us 1:(\$4-1e5) t "Resolved Plenum" w l, \
"modelled/postProcessing/probes/0/p" us 1:(\$4-1e5) t "Modelled Plenum" w l
plot \
"resolved/postProcessing/probes/0/p" us 1:(\$4-1e5) t "Resolved Plenum" w l, \
"modelled/postProcessing/probes/0/p" us 1:(\$4-1e5) t "Modelled Plenum" w l
EOF
fi
#------------------------------------------------------------------------------

View File

@ -26,18 +26,21 @@ setDecompressionTankFine()
# Do decompressionTank
( cd decompressionTank && foamRunTutorials )
# Clone case
cloneCase decompressionTank decompressionTankFine
if ! isTest $@
then
# Clone case
cloneCase decompressionTank decompressionTankFine
(
cd decompressionTankFine || exit
(
cd decompressionTankFine || exit
# Modify case
setDecompressionTankFine
# Modify case
setDecompressionTankFine
# And execute
runApplication blockMesh
runApplication $(getApplication)
)
# And execute
runApplication blockMesh
runApplication $(getApplication)
)
fi
#------------------------------------------------------------------------------

View File

@ -6,6 +6,9 @@ runApplication blockMesh
runApplication $(getApplication)
runApplication -s sample postProcess -latestTime -func sample
runApplication validation/createGraphs
if ! istest $@
then
runApplication validation/createGraphs
fi
#------------------------------------------------------------------------------

View File

@ -32,37 +32,39 @@ do
rm -rf logs
done
if ! isTest $@
then
# create validation plot
# Test if gnuplot exists on the system
command -v gnuplot >/dev/null 2>&1 || {
echo "gnuplot not found - skipping graph creation" 1>&2
exit 1
}
# create validation plot
# Test if gnuplot exists on the system
command -v gnuplot >/dev/null 2>&1 || {
echo "gnuplot not found - skipping graph creation" 1>&2
exit 1
}
graphName="OF_vs_ANALYTICAL.eps"
graphName="OF_vs_ANALYTICAL.eps"
echo "Creating graph of u+ vs y+ to $graphName"
gnuplot<<EOF
set terminal postscript eps color enhanced
set output "$graphName"
set grid
set xlabel "y+"
set ylabel "u+"
set key top left
set size 0.75, 0.75
set parametric
# u+ range
set trange [0:35]
# Spaldings law
k=0.41
E=9.8
f(t) = t + 1/E*(exp(k*t) - 1 - k*t*(1 + 0.5*k*t) - 1/6*k*t**3)
set logscale x
set format x "10^{%T}"
plot f(t),t title "Spalding" with lines linetype -1, \
"yPlus_vs_uPlus" title "OpenFOAM" with points lt 1 pt 6
echo "Creating graph of u+ vs y+ to $graphName"
gnuplot<<EOF
set terminal postscript eps color enhanced
set output "$graphName"
set grid
set xlabel "y+"
set ylabel "u+"
set key top left
set size 0.75, 0.75
set parametric
# u+ range
set trange [0:35]
# Spaldings law
k=0.41
E=9.8
f(t) = t + 1/E*(exp(k*t) - 1 - k*t*(1 + 0.5*k*t) - 1/6*k*t**3)
set logscale x
set format x "10^{%T}"
plot f(t),t title "Spalding" with lines linetype -1, \
"yPlus_vs_uPlus" title "OpenFOAM" with points lt 1 pt 6
EOF
fi
echo Done

View File

@ -6,6 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
(cd cylinderMesh && ./Allrun.pre)
# Add background mesh
(cd cylinderAndBackground && ./Allrun)
(cd cylinderAndBackground && ./Allrun $*)
#------------------------------------------------------------------------------

View File

@ -15,7 +15,12 @@ runParallel $(getApplication)
# Run noise tool for both point and surface
runParallel -s point noise -dict system/noiseDict-point
if ! isTest $@
then
runParallel -s point noise -dict system/noiseDict-point
runParallel -s surface noise -dict system/noiseDict-surface
fi
runParallel -s surface noise -dict system/noiseDict-surface
#------------------------------------------------------------------------------

View File

@ -1,18 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
rm -f system/blockMeshDict
m4 system/blockMeshDict.m4 > system/blockMeshDict
runApplication blockMesh
restore0Dir
runApplication decomposePar
runParallel $(getApplication)
# Note: not running the noise utility since no pressure data will be generated
#------------------------------------------------------------------------------

View File

@ -24,21 +24,25 @@ setDamBreakFine ()
# Do damBreak
(cd damBreak && foamRunTutorials)
# Clone case
cloneCase damBreak damBreakFine
(
cd damBreakFine || exit
if ! isTest $@
then
# Clone case
cloneCase damBreak damBreakFine
# Modify case
setDamBreakFine
\cp ../damBreak/0/alpha.water.orig 0/alpha.water
# And execute
runApplication blockMesh
runApplication setFields
runApplication decomposePar
runParallel $(getApplication)
runApplication reconstructPar
)
(
cd damBreakFine || exit
# Modify case
setDamBreakFine
\cp ../damBreak/0/alpha.water.orig 0/alpha.water
# And execute
runApplication blockMesh
runApplication setFields
runApplication decomposePar
runParallel $(getApplication)
runApplication reconstructPar
)
fi
#------------------------------------------------------------------------------

View File

@ -24,21 +24,24 @@ setDamBreakFine ()
# Do damBreak
(cd damBreak && foamRunTutorials)
# Clone case
cloneCase damBreak damBreakFine
if ! isTest $@
then
# Clone case
cloneCase damBreak damBreakFine
(
cd damBreakFine || exit
(
cd damBreakFine || exit
# Modify case
setDamBreakFine
\cp ../damBreak/0/alpha.water.orig 0/alpha.water
# And execute
runApplication blockMesh
runApplication setFields
runApplication decomposePar
runParallel $(getApplication)
runApplication reconstructPar
)
# Modify case
setDamBreakFine
\cp ../damBreak/0/alpha.water.orig 0/alpha.water
# And execute
runApplication blockMesh
runApplication setFields
runApplication decomposePar
runParallel $(getApplication)
runApplication reconstructPar
)
fi
#------------------------------------------------------------------------------

View File

@ -2,8 +2,13 @@
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
(cd eulerianInjection && ./Allrun)
(cd lagrangianParticleInjection && ./Allrun)
(cd lagrangianDistributionInjection && ./Allrun)
(cd eulerianInjection && ./Allrun $*)
if ! isTest $@
then
# Note: particle data only available if running complete case
(cd lagrangianParticleInjection && ./Allrun $*)
(cd lagrangianDistributionInjection && ./Allrun $*)
fi
#------------------------------------------------------------------------------

View File

@ -1,10 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
(cd eulerianInjection && ./Allrun)
# Note: only running the Eulerian test - particle data not yet available
# (after 1 iter) for subsequent Lagrangian cases
#------------------------------------------------------------------------------

View File

@ -4,6 +4,8 @@ cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
params=$@
runApplication blockMesh
cat system/schemesToTest | while read scheme
@ -16,6 +18,9 @@ do
runApplication -s ${schemeTag} scalarTransportFoam
# Save the line plot
mv postProcessing/sample1/100/line1_T.xy line1_T_${schemeTag}.xy
if ! isTest $params
then
# Save the line plot
mv postProcessing/sample1/100/line1_T.xy line1_T_${schemeTag}.xy
fi
done