6 #include "../../classes/RiftStruct.h"
7 #include "../../shared/shared.h"
8 #include "../../toolkits/toolkits.h"
10 void ProcessRiftsx(
int** pindex,
int* pnel,
double** px,
double** py,
int* pnods,
int** psegments,
int** psegmentmarkers,
int *pnum_seg,
RiftStruct **priftstruct){
13 int numrifts,numrifts0;
14 int *riftsnumsegments = NULL;
15 int **riftssegments = NULL;
16 int *riftsnumpairs = NULL;
17 int **riftspairs = NULL;
18 int *riftstips = NULL;
19 double **riftspenaltypairs = NULL;
20 int *riftsnumpenaltypairs = NULL;
28 int *segments = *psegments;
29 int *segmentmarkers = *psegmentmarkers;
30 int num_seg = *pnum_seg;
42 if(!riftflag)
_error_(
"No rift present in mesh");
52 SplitRiftSegments(&segments,&segmentmarkers,&num_seg,&numrifts,&riftsnumsegments,&riftssegments,numrifts0,nods,nel);
55 PairRiftElements(&riftsnumpairs,&riftspairs,numrifts,riftsnumsegments,riftssegments,x,y);
58 OrderRifts(&riftstips,riftssegments,riftspairs,numrifts,riftsnumsegments,x,y,nods,nel);
61 PenaltyPairs(&riftspenaltypairs,&riftsnumpenaltypairs,numrifts,riftssegments,riftsnumsegments,riftspairs,riftstips,x,y);
64 RiftStruct* riftstruct =
new RiftStruct(numrifts,riftsnumsegments,riftssegments,riftsnumpairs,riftspairs,riftsnumpenaltypairs,riftspenaltypairs,riftstips);
72 *psegments = segments;
73 *psegmentmarkers = segmentmarkers;
77 *priftstruct = riftstruct;