Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
398e2c16
Commit
398e2c16
authored
May 07, 2008
by
henry
Browse files
Merge branch 'master' of /home/noisy2/OpenFOAM/OpenFOAM-dev/
parents
b94f5b6c
00337b89
Changes
3
Hide whitespace changes
Inline
Side-by-side
etc/apps/paraview3/cshrc
View file @
398e2c16
...
...
@@ -48,7 +48,11 @@ setenv ParaView_VERSION 3
setenv ParaView_INST_DIR
$WM_PROJECT_INST_DIR
/ParaView3.3-cvs
setenv ParaView_DIR
$ParaView_INST_DIR
/platforms/
$WM_OPTIONS
setenv PYTHONPATH
$PYTHONPATH
:
$ParaView_DIR
/bin:
$ParaView_DIR
/Utilities/VTKPythonWrapping
if
(
$?
PYTHONPATH
)
then
setenv PYTHONPATH
${
PYTHONPATH
}
:
$ParaView_DIR
/bin:
$ParaView_DIR
/Utilities/VTKPythonWrapping
else
setenv PYTHONPATH
$ParaView_DIR
/bin:
$ParaView_DIR
/Utilities/VTKPythonWrapping
endif
if
(
-r
$ParaView_INST_DIR
)
then
set
path
=(
$ParaView_DIR
/bin
$path
)
...
...
src/autoMesh/autoHexMesh/trackedParticle/Particle.H
deleted
100644 → 0
View file @
b94f5b6c
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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
Class
Particle
Description
\*---------------------------------------------------------------------------*/
#ifndef Particle_H
#define Particle_H
#include
"vector.H"
#include
"IDLList.H"
#include
"labelList.H"
#include
"pointField.H"
#include
"typeInfo.H"
#include
"OFstream.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
template
<
class
Particle
>
class
Cloud
;
class
wedgePolyPatch
;
class
symmetryPolyPatch
;
class
cyclicPolyPatch
;
class
processorPolyPatch
;
class
wallPolyPatch
;
class
polyPatch
;
// Forward declaration of friend functions and operators
template
<
class
ParticleType
>
class
Particle
;
template
<
class
ParticleType
>
Ostream
&
operator
<<
(
Ostream
&
,
const
Particle
<
ParticleType
>&
);
/*---------------------------------------------------------------------------*\
Class Particle Declaration
\*---------------------------------------------------------------------------*/
template
<
class
ParticleType
>
class
Particle
:
public
IDLList
<
ParticleType
>::
link
{
protected:
//- Reference to the particle cloud
const
Cloud
<
ParticleType
>&
cloud_
;
//- Position of particle
vector
position_
;
//- Index of the cell it is in
label
celli_
;
//- Face index if the particle is on a face otherwise -1
label
facei_
;
//- Fraction of time-step completed
scalar
stepFraction_
;
// Private member functions
//- Return the 'lambda' value for the position, p, on the face,
// where, p = from + lamda*(to - from)
// for non-static meshes
inline
scalar
lambda
(
const
vector
&
from
,
const
vector
&
to
,
const
label
facei
,
const
scalar
stepFraction
);
//- Return the 'lambda' value for the position, p, on the face,
// where, p = from + lamda*(to - from)
// for static meshes
inline
scalar
lambda
(
const
vector
&
from
,
const
vector
&
to
,
const
label
facei
);
//- Return the faces between position and cell centre
labelList
findFaces
(
const
vector
&
position
);
//- Return the faces between position and cell centre
labelList
findFaces
(
const
vector
&
position
,
const
label
celli
,
const
scalar
stepFraction
);
//- Overridable function to handle the particle hitting a wedgePatch
template
<
class
TrackingData
>
void
hitWedgePatch
(
const
wedgePolyPatch
&
,
TrackingData
&
td
);
//- Overridable function to handle the particle hitting a symmetryPatch
template
<
class
TrackingData
>
void
hitSymmetryPatch
(
const
symmetryPolyPatch
&
,
TrackingData
&
td
);
//- Overridable function to handle the particle hitting a cyclicPatch
template
<
class
TrackingData
>
void
hitCyclicPatch
(
const
cyclicPolyPatch
&
,
TrackingData
&
td
);
//- Overridable function to handle the particle hitting a processorPatch
template
<
class
TrackingData
>
void
hitProcessorPatch
(
const
processorPolyPatch
&
,
TrackingData
&
td
);
//- Overridable function to handle the particle hitting a wallPatch
template
<
class
TrackingData
>
void
hitWallPatch
(
const
wallPolyPatch
&
,
TrackingData
&
td
);
//- Overridable function to handle the particle hitting a general patch
template
<
class
TrackingData
>
void
hitPatch
(
const
polyPatch
&
,
TrackingData
&
td
);
//- Transform the position the particle
// according to the given transformation tensor
void
transformPosition
(
const
tensor
&
T
);
//- Transform the physical properties of the particle
// according to the given transformation tensor
void
transformProperties
(
const
tensor
&
T
);
//- Transform the physical properties of the particle
// according to the given separation vector
void
transformProperties
(
const
vector
&
separation
);
//- Convert global addressing to the processor patch
// local equivalents
template
<
class
TrackingData
>
void
prepareForParallelTransfer
(
const
label
patchi
,
TrackingData
&
td
);
//- Convert processor patch addressing to the global equivalents
// and set the celli to the face-neighbour
template
<
class
TrackingData
>
void
correctAfterParallelTransfer
(
const
label
patchi
,
TrackingData
&
td
);
public:
friend
class
Cloud
<
ParticleType
>
;
//- Runtime type information
TypeName
(
"Particle"
);
//- Class used to pass tracking data to the trackToFace function
class
trackData
{
// Private data
//- Reference to the cloud containing this particle
Cloud
<
ParticleType
>&
cloud_
;
public:
bool
switchProcessor
;
bool
keepParticle
;
// Constructors
inline
trackData
(
Cloud
<
ParticleType
>&
cloud
);
// Member functions
inline
Cloud
<
ParticleType
>&
cloud
();
};
// Constructors
//- Construct from components
Particle
(
const
Cloud
<
ParticleType
>&
,
const
vector
&
position
,
const
label
celli
);
//- Construct from Istream
Particle
(
const
Cloud
<
ParticleType
>&
,
Istream
&
,
bool
readFields
=
true
);
//- Factory class to read-construct particles used for parallel transfer
class
iNew
{
// Private data
const
Cloud
<
ParticleType
>&
cloud_
;
public:
iNew
(
const
Cloud
<
ParticleType
>&
cloud
)
:
cloud_
(
cloud
)
{}
autoPtr
<
ParticleType
>
operator
()(
Istream
&
is
)
const
{
return
autoPtr
<
ParticleType
>
(
new
ParticleType
(
cloud_
,
is
));
}
};
// Destructor
virtual
~
Particle
()
{}
// Member Functions
// Access
//- Return true if particle is in cell
inline
bool
inCell
();
//- Return true if position is in cell i
inline
bool
inCell
(
const
vector
&
position
,
const
label
celli
,
const
scalar
stepFraction
);
//- Return current particle position
inline
const
vector
&
position
()
const
;
//- Return current particle position
inline
vector
&
position
();
//- Return current cell particle is in
inline
label
cell
()
const
;
//- Return current face particle is on otherwise -1
inline
label
face
()
const
;
//- Return reference to the particle cloud
inline
const
Cloud
<
ParticleType
>&
cloud
()
const
;
//- Return the impact model to be used, soft or hard (default).
inline
bool
softImpact
()
const
;
// Check
//- Is the particle on the boundary/(or outside the domain)?
inline
bool
onBoundary
()
const
;
//- Which patch is particle on
inline
label
patch
(
const
label
facei
)
const
;
//- Which face of this patch is this particle on
inline
label
patchFace
(
const
label
patchi
,
const
label
facei
)
const
;
//- The nearest distance to a wall that
// the particle can be in the n direction
inline
scalar
wallImpactDistance
(
const
vector
&
n
)
const
;
//- Return the fraction of time-step completed
inline
scalar
&
stepFraction
();
//- Return the fraction of time-step completed
inline
scalar
stepFraction
()
const
;
// Track
//- Track particle to end of trajectory
// or until it hits the boundary.
// On entry 'stepFraction()' should be set to the fraction of the
// time-step at which the tracking starts and on exit it contains
// the fraction of the time-step completed.
// Returns the boundary face index if the track stops at the
// boundary, -1 otherwise.
template
<
class
TrackingData
>
label
track
(
const
vector
&
endPosition
,
TrackingData
&
td
);
//- Calls the templated track with dummy TrackingData
label
track
(
const
vector
&
endPosition
);
//- Track particle to a given position and returns 1.0 if the
// trajectory is completed without hitting a face otherwise
// stops at the face and returns the fraction of the trajectory
// completed.
// on entry 'stepFraction()' should be set to the fraction of the
// time-step at which the tracking starts.
template
<
class
TrackingData
>
scalar
trackToFace
(
const
vector
&
endPosition
,
TrackingData
&
td
);
//- Calls the templated trackToFace with dummy TrackingData
scalar
trackToFace
(
const
vector
&
endPosition
);
//- Return the index of the face to be used in the interpolation routine
inline
label
faceInterpolation
()
const
;
// I-O
//- Write the fields associated with the owner cloud
static
void
writeFields
(
const
Cloud
<
ParticleType
>&
c
);
// Ostream Operator
friend
Ostream
&
operator
<<
<
ParticleType
>
(
Ostream
&
,
const
Particle
<
ParticleType
>&
);
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include
"ParticleI.H"
#define defineParticleTypeNameAndDebug(Type, DebugSwitch) \
template<> \
const Foam::word Particle<Type>::typeName(#Type); \
template<> \
int Particle<Type>::debug(Foam::debug::debugSwitch(#Type, DebugSwitch));
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
# include "Particle.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
src/lagrangian/basic/Particle/Particle.H
View file @
398e2c16
...
...
@@ -111,7 +111,7 @@ public:
};
pr
ivate
:
pr
otected
:
// Private data
...
...
@@ -169,8 +169,6 @@ private:
)
const
;
protected:
// Patch interactions
//- Overridable function to handle the particle hitting a wedgePatch
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment