ESyS-Particle  2.3.4
LatticeParam.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef ESYS_LSMLATTICEPARAM_H
14 #define ESYS_LSMLATTICEPARAM_H
15 
16 class AMPIBuffer;
17 
18 #include <vector>
19 #include <string>
20 #include <iostream>
21 
22 namespace esys
23 {
24  namespace lsm
25  {
30  {
31  public:
32  typedef std::vector<unsigned int> ProcessDims;
34  const std::string &particleType,
35  double nrange,
36  double alpha,
37  const ProcessDims &dims = ProcessDims(3, 0)
38  );
39  void setSearchRange(double nr,double a){m_nrange=nr;m_alpha=a;};
40  void setParticleType(const std::string& pt){m_particle_type=pt;}
41  void packInto(AMPIBuffer*) const;
42  double nrange()const {return m_nrange;};
43  double alpha()const {return m_alpha;};
44  const ProcessDims &processDims() const {return m_dims;}
45  const std::string &particle_type() const {return m_particle_type;};
46  friend std::ostream& operator<<(std::ostream &oStream,const CLatticeParam &prms);
47 
49 
50  protected:
51  std::string m_particle_type;
52  double m_alpha;
53  double m_nrange;
55  };
56  }
57 }
58 
59 #endif
AMPIBuffer::pop_int
virtual int pop_int()=0
esys::lsm::CLatticeParam::packInto
void packInto(AMPIBuffer *) const
Definition: LatticeParam.cpp:36
esys::lsm::CLatticeParam::setSearchRange
void setSearchRange(double nr, double a)
Definition: LatticeParam.h:39
esys::lsm::CLatticeParam::alpha
double alpha() const
Definition: LatticeParam.h:43
esys::lsm::CLatticeParam::m_nrange
double m_nrange
searchrange
Definition: LatticeParam.h:53
AMPIBuffer::pop_double
virtual double pop_double()=0
esys::lsm::CLatticeParam::ProcessDims
std::vector< unsigned int > ProcessDims
Definition: LatticeParam.h:32
esys::lsm::CLatticeParam::extractLatticeParam
static CLatticeParam extractLatticeParam(AMPIBuffer *pBuff)
Definition: LatticeParam.cpp:46
AMPIBuffer
Abstract base class for MPI send/recv buffer.
Definition: mpibuf.h:34
esys
Definition: CheckPointable.cpp:17
esys::lsm::operator<<
std::ostream & operator<<(std::ostream &oStream, const SimpleConnectionData &connectionData)
Definition: GeometryReader.cpp:134
esys::lsm::CLatticeParam::m_alpha
double m_alpha
pair creation cutoff
Definition: LatticeParam.h:52
mpibuf.h
esys::lsm::CLatticeParam::nrange
double nrange() const
Definition: LatticeParam.h:42
esys::lsm::CLatticeParam::particle_type
const std::string & particle_type() const
Definition: LatticeParam.h:45
esys::lsm::CLatticeParam::processDims
const ProcessDims & processDims() const
Definition: LatticeParam.h:44
esys::lsm::CLatticeParam::m_particle_type
std::string m_particle_type
Definition: LatticeParam.h:51
esys::lsm::CLatticeParam::CLatticeParam
CLatticeParam(const std::string &particleType, double nrange, double alpha, const ProcessDims &dims=ProcessDims(3, 0))
Definition: LatticeParam.cpp:23
LatticeParam.h
esys::lsm::CLatticeParam::setParticleType
void setParticleType(const std::string &pt)
Definition: LatticeParam.h:40
esys::lsm::CLatticeParam::operator<<
friend std::ostream & operator<<(std::ostream &oStream, const CLatticeParam &prms)
esys::lsm::CLatticeParam
Definition: LatticeParam.h:30
AMPIBuffer::pop_string
virtual std::string pop_string()=0
AMPIBuffer::append
virtual void append(int)=0
esys::lsm::CLatticeParam::m_dims
ProcessDims m_dims
Definition: LatticeParam.h:54