ParticleVtkWriter.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #ifndef MERCURYDPM_VTKWRITER_H
6 #define MERCURYDPM_VTKWRITER_H
7 
9 #include "ParticleHandler.h"
10 
11 class ParticleVtkWriter : public BaseVTKWriter<ParticleHandler>
12 {
13 
14 public:
15 
16  explicit ParticleVtkWriter(ParticleHandler& particleHandler) : BaseVTKWriter(particleHandler)
17  {}
18 
19  virtual ~ParticleVtkWriter() = default;
20 
21  virtual std::string getName() const = 0;
22 
23 protected:
24 
25  void writeExtraFields(std::fstream& file) const;
26 
27  void writeVTKIndSpecies(std::fstream& file) const;
28 
29  void writeVTKPositions(std::fstream& file) const;
30 
31  bool particleMustBeWritten(BaseParticle* particle) const
32  {
33  return !(particle->isMPIParticle() || particle->isPeriodicGhostParticle());
34  }
35 };
36 
37 
38 #endif //MERCURYDPM_VTKWRITER_H
Definition: BaseParticle.h:33
bool isPeriodicGhostParticle() const
Indicates if this particle is a ghost in the periodic boundary.
Definition: BaseParticle.cc:280
bool isMPIParticle() const
Indicates if this particle is a ghost in the MPI domain.
Definition: BaseParticle.cc:164
Definition: BaseVTKWriter.h:18
Container to store pointers to all particles.
Definition: ParticleHandler.h:28
Definition: ParticleVtkWriter.h:12
ParticleVtkWriter(ParticleHandler &particleHandler)
Definition: ParticleVtkWriter.h:16
void writeVTKIndSpecies(std::fstream &file) const
Definition: ParticleVtkWriter.cc:28
virtual ~ParticleVtkWriter()=default
void writeExtraFields(std::fstream &file) const
Definition: ParticleVtkWriter.cc:46
bool particleMustBeWritten(BaseParticle *particle) const
Definition: ParticleVtkWriter.h:31
void writeVTKPositions(std::fstream &file) const
Definition: ParticleVtkWriter.cc:8
virtual std::string getName() const =0
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286