16 #if !defined(KRATOS_SPLIT_TRIANGLE)
17 #define KRATOS_SPLIT_TRIANGLE
67 if (aux_ids[0] > aux_ids[1]) edge_ids[0] = 0;
74 if (aux_ids[1] > aux_ids[2]) edge_ids[1] = 1;
81 if (aux_ids[2] > aux_ids[0]) edge_ids[2] = 2;
99 int* id0,
int* id1,
int* id2) {
100 unsigned int base = triangle_index * 3;
101 *id0 = aux_ids[
t[base]];
102 *id1 = aux_ids[
t[base + 1]];
103 *id2 = aux_ids[
t[base + 2]];
117 static int Split_Triangle(
const int edges[3],
int t[12],
int* nel,
int* splitted_edges,
int* nint) {
123 for (
unsigned int i = 0;
i < 3;
i++) {
126 *splitted_edges = *splitted_edges + 1;
130 if (*splitted_edges == 0 && *nint == 0) {
139 else if (*splitted_edges == 0 && *nint == 1) {
156 else if (*splitted_edges == 1) {
159 if (topology[0] == 1) {
170 else if (topology[1] == 1) {
180 else if (topology[2] == 1) {
194 else if (*splitted_edges == 2) {
197 if (topology[0] == 1 && topology[1] == 1) {
212 else if (edges[2] == 2)
229 else if (topology[1] == 1 && topology[2] == 1) {
244 else if (edges[0] == 1)
262 else if (topology[0] == 1 && topology[2] == 1) {
277 else if (edges[1] == 2)
296 else if (*splitted_edges == 3) {
Definition: split_triangle.h:49
static void TriangleSplitMode(const int aux_ids[6], int edge_ids[3])
Definition: split_triangle.h:64
static int Split_Triangle(const int edges[3], int t[12], int *nel, int *splitted_edges, int *nint)
Utility to split triangles.
Definition: split_triangle.h:117
static void TriangleGetNewConnectivityGID(const int triangle_index, const int t[12], const int aux_ids[6], int *id0, int *id1, int *id2)
Definition: split_triangle.h:96
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
int t
Definition: ode_solve.py:392
integer i
Definition: TensorModule.f:17