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.
Static Public Member Functions | List of all members
Kratos::TriangleSplit Class Reference

#include <split_triangle.h>

Collaboration diagram for Kratos::TriangleSplit:

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...
 

Member Function Documentation

◆ Split_Triangle()

static int Kratos::TriangleSplit::Split_Triangle ( const int  edges[3],
int  t[12],
int nel,
int splitted_edges,
int nint 
)
inlinestatic

Utility to split triangles.

Parameters
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)
Returns
1->splitting needed 0-->no splitting needed

◆ TriangleGetNewConnectivityGID()

static void Kratos::TriangleSplit::TriangleGetNewConnectivityGID ( const int  triangle_index,
const int  t[12],
const int  aux_ids[6],
int id0,
int id1,
int id2 
)
inlinestatic

utility function to get the global ids for the new triangles to be generated

Parameters
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

◆ TriangleSplitMode()

static void Kratos::TriangleSplit::TriangleSplitMode ( const int  aux_ids[6],
int  edge_ids[3] 
)
inlinestatic

this function computes the splitting mode for the triangle

Parameters
aux_idscontains 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_idsthis is an auxiliary array with the local numbering. It is necessary for
the split_triangle function

The documentation for this class was generated from the following file: