From 7d61b870c25c0021b0c662e37226c669beeb5db1 Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Wed, 7 Dec 2016 09:26:58 +0000 Subject: [PATCH] BUG: injectedParticle/Cloud updates --- .../basic/injectedParticle/injectedParticle.C | 26 +++++++++++++++++++ .../injectedParticle/injectedParticleCloud.C | 10 +++++++ .../injectedParticle/injectedParticleCloud.H | 14 +++++++++- .../injectedParticle/injectedParticleIO.C | 2 +- 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/lagrangian/basic/injectedParticle/injectedParticle.C b/src/lagrangian/basic/injectedParticle/injectedParticle.C index 4a798b30d0..4a0866e940 100644 --- a/src/lagrangian/basic/injectedParticle/injectedParticle.C +++ b/src/lagrangian/basic/injectedParticle/injectedParticle.C @@ -33,4 +33,30 @@ namespace Foam } +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::injectedParticle::injectedParticle(const injectedParticle& p) +: + particle(p), + tag_(p.tag_), + soi_(p.soi_), + d_(p.d_), + U_(p.U_) +{} + + +Foam::injectedParticle::injectedParticle +( + const injectedParticle& p, + const polyMesh& mesh +) +: + particle(p, mesh), + tag_(p.tag_), + soi_(p.soi_), + d_(p.d_), + U_(p.U_) +{} + + // ************************************************************************* // diff --git a/src/lagrangian/basic/injectedParticle/injectedParticleCloud.C b/src/lagrangian/basic/injectedParticle/injectedParticleCloud.C index 73b828fe0c..329aff039e 100644 --- a/src/lagrangian/basic/injectedParticle/injectedParticleCloud.C +++ b/src/lagrangian/basic/injectedParticle/injectedParticleCloud.C @@ -48,6 +48,16 @@ Foam::injectedParticleCloud::injectedParticleCloud } +Foam::injectedParticleCloud::injectedParticleCloud +( + const injectedParticleCloud& c, + const word& cloudName +) +: + Cloud(c.pMesh(), cloudName, c) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::injectedParticleCloud::~injectedParticleCloud() diff --git a/src/lagrangian/basic/injectedParticle/injectedParticleCloud.H b/src/lagrangian/basic/injectedParticle/injectedParticleCloud.H index 888375bc72..4c171fad9b 100644 --- a/src/lagrangian/basic/injectedParticle/injectedParticleCloud.H +++ b/src/lagrangian/basic/injectedParticle/injectedParticleCloud.H @@ -69,7 +69,7 @@ public: // Constructors - //- + //- Construct from mesh and cloud name injectedParticleCloud ( const polyMesh& mesh, @@ -77,6 +77,18 @@ public: const bool readFields = true ); + //- Copy constructor with new name + injectedParticleCloud(const injectedParticleCloud& c, const word& name); + + //- Construct and return clone based on (this) with new name + virtual autoPtr clone(const word& name) const + { + return autoPtr + ( + new injectedParticleCloud(*this, name) + ); + } + //- Destructor virtual ~injectedParticleCloud(); diff --git a/src/lagrangian/basic/injectedParticle/injectedParticleIO.C b/src/lagrangian/basic/injectedParticle/injectedParticleIO.C index 03b25c9a5b..3ae1edd168 100644 --- a/src/lagrangian/basic/injectedParticle/injectedParticleIO.C +++ b/src/lagrangian/basic/injectedParticle/injectedParticleIO.C @@ -202,7 +202,7 @@ Foam::Ostream& Foam::operator<< os << static_cast(p); os.write ( - reinterpret_cast(&p.soi_), + reinterpret_cast(&p.tag_), injectedParticle::sizeofFields ); }