KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
#include <split_triangle.h>
Static Public Member Functions | |
static void | TriangleSplitMode (const int aux_ids[6], int edge_ids[3]) |
static void | TriangleGetNewConnectivityGID (const int triangle_index, const int t[12], const int aux_ids[6], int *id0, int *id1, int *id2) |
static int | Split_Triangle (const int edges[3], int t[12], int *nel, int *splitted_edges, int *nint) |
Utility to split triangles. More... | |
|
inlinestatic |
Utility to split triangles.
edges | --> (input) int c array of size 3 |
t | --> (output) int c array of size 12 (3*4) |
nel | --> (output) number of elements in the subdivision |
splitted_edges | --> (output) provides the number of splitted edges |
nint | --> (output) internal node (not needed for triangles) |
|
inlinestatic |
utility function to get the global ids for the new triangles to be generated
triangle_index | --> the index of the new triangle to be generated (Should be less than the number nel provided by Split_Triangle) |
t | --> integer array provided by Split_Triangle |
aux_ids | --> array used in constructing the edge_ids (contains the Global Ids of the new nodes) |
id0 | --> Global ID of node0 of the new triangle |
id1 | --> Global ID of node1 of the new triangle |
id2 | --> Global ID of node2 of the new triangle |
|
inlinestatic |
this function computes the splitting mode for the triangle
aux_ids | contains a vector with the input Ids, organized as follows: aux_ids[0] = id of FIRST node of the original triangle aux_ids[1] = id of SECOND node of the original triangle aux_ids[2] = id of THIRD node of the original triangle aux_ids[4] = id of new node to be used for the edge 01 (-1 if edge not to be splitted) aux_ids[5] = id of new node to be used for the edge 12 (-1 if edge not to be splitted) aux_ids[6] = id of new node to be used for the edge 20 (-1 if edge not to be splitted) given this data it fills an auxiliary vector of size 3 that will be used in the splitting |
edge_ids | this is an auxiliary array with the local numbering. It is necessary for the split_triangle function |