Memosa-FVM  0.2
MPMCoupling.h
Go to the documentation of this file.
1 // This file os part of FVM
2 // Copyright (c) 2012 FVM Authors
3 // See LICENSE file for terms.
4 
5 #ifndef MPMCoupling_H
6 #define MPMCoupling_H
7 #ifdef FVM_PARALLEL
8 
9 #include <mpi.h>
10 #include "Mesh.h"
11 #include "Array.h"
12 #include <vector>
13 #include <set>
14 
15 #include "MPM_Particles.h"
16 #include "Field.h"
17 
18 class MPMCoupling{
19 
20  public:
21 
22  MPMCoupling( MPM& mpm, Field& coordinate, Field& velocity, StorageSite& cell_site );
23  ~MPMCoupling();
24 
25  void updateMPM();
26  void acceptMPM();
27 
28 
29 
30  private:
31 
32  MPM& _mpm;
33  Field& _coordinate;
34  Field& _velocity;
35  StorageSite& _cellSite;
36 
37  int _procID;
38  MPI::Intercomm PARENT;
39  MPI::Intercomm FVM_COMM_MPM;
40  MPI::Status _portNameStatus;
41  MPI::Info _connectInfo;
42  int MPM_PORTNAME_TAG;
43 
44  bool _isContinueMPM;
45  double _dtMPM;
46  double _timeMPM;
47  int _totParticlesMPM;
48 
49  int _dtTAG;
50  int _timeTAG;
51  int _totParticlesTAG;
52  int _isContinueTAG;
53  int _particlesPosTAG;
54  int _particlesVelTAG;
55  shared_ptr< ArrayBase > _px;
56  shared_ptr< ArrayBase > _pv;
57  shared_ptr< Array<int> > _pType;
58 
59 
60 };
61 
62 #endif
63 #endif
Definition: Field.h:14