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#