Commit d381d828 authored by Phillip Lino Rall's avatar Phillip Lino Rall
Browse files

updated ug.h

parent 825bea91
......@@ -156,11 +156,28 @@ class Unstructured_grid : public Partitioning {
// for parallel
void Make_Partitioning(MPI_Comm com);
/**
* Step 2: Function called in construction of UG-Block
* @param num_points_ Anzhal der Points
**/
void Set_number_points(int num_points_);
int Give_number_points() { return num_points; }
/**
* Step 3: Function called in construction of UG-Block
* @param id index of point
* @param coord geometric coordinate of this point
*/
void Set_coordinate_point(int id, D3vector coord);
/**
* Step 1: Function called in construction of UG-Block
* @param num_hexahedra_ Anzhal der Hexahedra
**/
void Set_number_hexahedra(int num_hexahedra_);
int Give_number_hexahedra() { return num_hexahedra; }
......@@ -181,6 +198,11 @@ class Unstructured_grid : public Partitioning {
Edge_el* Give_edge(int i) { return &(edges[i]); }
Point_el* Give_point(int i) { return &(points[i]); }
inline Geometric_Object* Give_geometric_object(elementTyp el_typ, int i);
/**
* Step 4: Function called in construction of UG-Block
* @param id index of hexahedron
* @param i_WSD ... i_ENT index of corresponding point of corner of hexahedron
**/
void Set_hexahedron(int id,
int i_WSD, int i_ESD, int i_WND, int i_END,
......@@ -197,15 +219,25 @@ class Unstructured_grid : public Partitioning {
void construction_hexahedron_points_done(); // now calculate edges and faces
/**
// ``transform'' must be zero vector at 0,1
// transform: [0,1] -> D3vector
// transform(t,pointer_global_data)
**/
void Set_transformation_edge(int idL, int idR, D3vector (*transform)(double, double*),
/**
* Step 5: Function called in construction of UG-Block
* calculates edges and faces
**/
void construction_hexahedron_points_done();
/**
* Step 5: Function called in construction of UG-Block
* ``transform'' must be zero vector at 0,1
* transform: [0,1] -> D3vector
* transform(t,pointer_global_data)
* @param idL index of left point
* @param idR index of right point
* @param transform transformation function
**/
void Set_transformation_edge(int idL,
int idR, D3vector (*transform)(double, double*),
int shift_of_pointer = 0);
// ``transform'' must be zero vector at 0,1
// transform: [0,1] -> D3vector
//
......@@ -219,11 +251,25 @@ class Unstructured_grid : public Partitioning {
void Set_transformation_hex(int id_hex, D3vector (*transform)(int, double,double,double));
// transform of hex id_hex: [0,1]^3 -> D3vector
// not implemented
/**
* Step 6: Function called in construction of UG-Block
*
* not implemented
*
* ``transform'' must be zero vector at edges of face
* transform: [0,1]x[0,1] -> D3vector
* transform(tEW,tNS,pointer_global_data)
* @param idSW ... idNE index of corner points of face
* @param transform transformation function
**/
void Set_transformation_face(int idSW, int idSE, int idNW, int idNE, D3vector (*Transform)(double, double, double*), int shift_of_pointer = 0);
// ``transform'' must be zero at (0,0), ...
/**
* Step 7: Function called in construction of UG-Block
**/
void construction_done();
int degree_of_freedom() { return number_degree_of_freedom; };
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment