GraphNet: Discrete element modeling for network connected materials
Applications to polymeric networks
mpi_network.h
Go to the documentation of this file.
1 #ifndef MPI_NETWORK_H
2 #define MPI_NETWORK_H
3 #include <iostream>
4 #include <cmath>
5 #include <cstdlib>
6 #include <math.h>
7 #include <random>
8 #include <time.h>
9 #include <vector>
10 #include <unistd.h>
11 #include <algorithm>
12 #include <ctime>
13 #include <chrono>
14 #include <fstream>
15 #include <sstream>
16 #include <string>
17 #include <cstring>
18 #include <stddef.h>
19 #include "network.h"
20 #include "sac_network.h"
21 using namespace std;
22 
23 #define NSYNC 100 // syncs plate_forces after NSYNC iterations
24 
30 class MPI_Network : virtual public Network, public sacNetwork{
31 
32 public:
33 
34  MPI_Network();
35  MPI_Network(string&);
36  MPI_Network(MPI_Network const & source);
37  MPI_Network(Network const & source);
38  MPI_Network(sacNetwork const & source);
39  ~MPI_Network();
40  void copy(MPI_Network const & source);
41  void clear();
42  void get_forces(bool) override;
43  // void optimize(float eta = 0.1, float alpha = 0.9, int max_iter = 800);
44  void init_MPI(int world_rank, int world_size);
45  //bool notmoving(int nodeid);
46  void rewrite_moving_nodes();
47 
48  //int* not_moving_nodes;
49  //int n_not_moving;
50  int * chunk_nodes;
51  int * chunk_edges;
55 
56 
57 
58 
59 
60 };
61 
62 #endif
int * chunk_edges
Definition: mpi_network.h:51
Definition: sac_network.h:31
int chunk_edges_len
Definition: mpi_network.h:52
Definition: network.h:34
Definition: mpi_network.h:30
Conceptualizes and builds a polymer network as a graph G = (V,E) (i.e. a set of nodes (crosslinkers...
int n_chunk_edges
Definition: mpi_network.h:54
int * chunk_nodes
Definition: mpi_network.h:50
int chunk_nodes_len
Definition: mpi_network.h:53
Extends the network defintion to include hidden length effects as described by Lieou et al...