Class SystemClass#

Class Documentation#

class SystemClass

SystemClass is the base class which is the core of PyMembrane.

Public Functions

inline SystemClass()
inline SystemClass(const BoxType &box)

Create a particles from given vectors

inline ~SystemClass()
inline std::string get_mesh_info(void)
const BoxType &get_box(void)

get the box

Parameters:

void

Returns:

const BoxType&

void set_box(const BoxType &box)

Set the box object.

Parameters:

box

void set_box_length(const double &Lx, const double &Ly, const double &Lz)

set the the box

Parameters:

double

real3 minImage(const real3 &a, const real3 &b)
bool need_wrapping(const real3 &a, const real3 &b)
void enforce_periodic_boundary_conditions(void)
inline void read_mesh_from_files(std::map<std::string, std::string> &files)

read the mesh from a file

Parameters:

std::map<std::string, std::string>& – files

inline void read_mesh_from_json(std::string &json_file)
inline pymemb::vector<HE_HalfEdge<PropertyEdges>> get_halfedges(void)

get the halfedges loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_HalfEdge<PropertyEdges>>

inline pymemb::vector<HE_Vertex<PropertyVertices>> get_vertices(void)

get the vertices loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Vertex<PropertyVertices>>

inline pymemb::vector<HE_Edge<PropertyEdges>> get_edges(void)

get the edges loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Edge<PropertyEdges>>

inline pymemb::vector<HE_Face<PropertyFaces>> get_faces(void)

get the faces loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Face<PropertyFaces>>

inline void set_halfedges(pymemb::vector<HE_HalfEdge<PropertyEdges>> &_halfedges)

set the halfedges loaded in the system

Parameters:

pymemb::vector<HE_HalfEdge<PropertyEdges>>& – _halfedges

Returns:

void

inline void set_vertices(pymemb::vector<HE_Vertex<PropertyVertices>> &_vertices)

get the vertices loaded in the system

Parameters:

pymemb::vector<HE_Vertex<PropertyVertices>>& – _vertices

Returns:

inline void set_edges(pymemb::vector<HE_Edge<PropertyEdges>> &_edges)

get the edges loaded in the system

Parameters:

pymemb::vector<HE_Edge<PropertyEdges>>& – _edges

Returns:

inline void set_faces(pymemb::vector<HE_Face<PropertyFaces>> &_faces)

get the faces loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Face<PropertyFaces>>

inline void set(pymemb::vector<HE_Face<PropertyFaces>> &_faces, pymemb::vector<HE_Vertex<PropertyVertices>> &_vertices, pymemb::vector<HE_Edge<PropertyEdges>> &_edges, pymemb::vector<HE_HalfEdge<PropertyEdges>> &_halfedges)
Parameters:
  • _faces – Faces list

  • _vertices – Vertex list

  • _edges – Edges list

  • _halfedges – Half-edge list

inline pymemb::vector<int> get_edge_neighbours_host(int edge_index)
inline const ComputeMesh &get_compute_mesh(void)
inline const DumperClass &get_dumper(void)
inline void init_stresses(void)
inline pymemb::vector<realTensor> get_stress_vertices(void)

get the STRESSES in the vertices loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Edge<PropertyEdges>>

inline pymemb::vector<realTensor> get_stress_edges(void)

get the STRESSES in the edges loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Edge<PropertyEdges>>

inline pymemb::vector<realTensor> get_stress_faces(void)

get the faces loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Face<PropertyFaces>>

inline pymemb::vector<realTensor> get_stress_virial(void)

get the faces loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Face<PropertyFaces>>

inline pymemb::vector<realTensor> get_stress_kinetic(void)

get the faces loaded in the system

Parameters:

void

Returns:

pymemb::vector<HE_Face<PropertyFaces>>

Public Members

pymemb::vector<HE_Face<PropertyFaces>> faces

Faces list.

pymemb::vector<HE_Vertex<PropertyVertices>> vertices

Vertex list.

pymemb::vector<HE_HalfEdge<PropertyEdges>> halfedges

Half-edge list.

pymemb::vector<HE_Edge<PropertyEdges>> edges

Edges list.

pymemb::vector<realTensor> stress_group_faces
pymemb::vector<realTensor> stress_group_vertices
pymemb::vector<realTensor> stress_group_edges
pymemb::vector<realTensor> stress_virial_atom
pymemb::vector<realTensor> stress_kinetic_atom
int Numvertices

Number of vertices.

int Numedges

Number of edges.

int Numfaces

Number of faces.

int Numhalfedges

Number of halfedges.

bool close_surface

Mesh is a close surface.

bool copy_in_host
ComputeMesh compute_mesh
DumperClass dumper