File: ESphereBodyInteractionGroup.cpp

package info (click to toggle)
esys-particle 2.3.4%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 13,036 kB
  • ctags: 10,805
  • sloc: cpp: 80,009; python: 5,872; makefile: 1,243; sh: 313; perl: 225
file content (61 lines) | stat: -rw-r--r-- 1,906 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/////////////////////////////////////////////////////////////
//                                                         //
// Copyright (c) 2003-2014 by The University of Queensland //
// Centre for Geoscience Computing                         //
// http://earth.uq.edu.au/centre-geoscience-computing      //
//                                                         //
// Primary Business: Brisbane, Queensland, Australia       //
// Licensed under the Open Software License version 3.0    //
// http://www.apache.org/licenses/LICENSE-2.0          //
//                                                         //
/////////////////////////////////////////////////////////////

#include "Model/ESphereBodyInteractionGroup.h"
#include "Foundation/console.h"

//----------------------------------------
//    CESphereBodyIGP member functions 
//----------------------------------------

/*!
  Elastic sphere body interaction group constructor

  \param name the name of the sphere body interaction
  \param spherename the name of the sphere body
  \param k the spring constant for the elastic interactions
*/
CESphereBodyIGP::CESphereBodyIGP(
  const  std::string& name,
  const  std::string& spherename,
  double k
)
  : CElasticIGP(name,k)
{
  m_spherename=spherename;
}

void  CESphereBodyIGP::packInto(CVarMPIBuffer* B) const
{
  console.XDebug() << "CESphereBodyIGP::packInto( " << B << " )\n"; 
  CElasticIGP::packInto(B);
  B->append(m_spherename.c_str());
  console.XDebug() << "end CESphereBodyIGP::packInto()\n ";
}

ostream& operator<<(ostream& ost,const CESphereBodyIGP& I)
{
  ost << "CESphereBodyIGP\n";
  ost << "Spring constant : "  << I.m_k << endl;
  return ost;
}

CESphereBodyIGP* extractESphereBodyIGP(AMPIBuffer* B)
{
  string name=B->pop_string();
  double k=B->pop_double();
  string wname=B->pop_string();
  CESphereBodyIGP* res=new CESphereBodyIGP(name,wname,k);
  return res;
}