OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
grid2m_wrap.c
Go to the documentation of this file.
1//Copyright> OpenRadioss
2//Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3//Copyright>
4//Copyright> This program is free software: you can redistribute it and/or modify
5//Copyright> it under the terms of the GNU Affero General Public License as published by
6//Copyright> the Free Software Foundation, either version 3 of the License, or
7//Copyright> (at your option) any later version.
8//Copyright>
9//Copyright> This program is distributed in the hope that it will be useful,
10//Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11//Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12//Copyright> GNU Affero General Public License for more details.
13//Copyright>
14//Copyright> You should have received a copy of the GNU Affero General Public License
15//Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16//Copyright>
17//Copyright>
18//Copyright> Commercial Alternative: Altair Radioss Software
19//Copyright>
20//Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21//Copyright> software under a commercial license. Contact Altair to discuss further if the
22//Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23#include <stdio.h>
24#include <stdlib.h>
25
26#define _FCALL
27
28
29int METIS_PartGraphKway(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
30 int *IWD, int *vsize, int *ADJWGT2,int *NNODE, float * tpwgts,
31 float *UBVEC, int *OPTIONS, int *NEC, int *CEP);
32
33int METIS_PartGraphRecursive(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
34 int *IWD, int *vsize, int *ADJWGT2,int *NNODE, float * tpwgts,
35 float *UBVEC, int *OPTIONS, int *NEC, int *CEP);
36
37
38
39int wrap_metis_partgraphkway_(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
40 int *IWD, int *NNODE,
41 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
42{
43 int *vsize=NULL;
44 int *ADJWGT2=NULL;
45 float *tpwgts=NULL;
46 int IERR1;
47
48 IERR1 = METIS_PartGraphKway(
49 NELEM,NCOND,XADJ,ADJNCY,
50 IWD,vsize,ADJWGT2,NNODE,tpwgts,
51 UBVEC,OPTIONS,NEC,CEP);
52
53 if (vsize!=NULL) free(vsize);
54 if (ADJWGT2!=NULL) free(ADJWGT2);
55 if (tpwgts!=NULL) free(tpwgts);
56
57 return IERR1;
58
59}
60
61int wrap_metis_partgraphkway(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
62 int *IWD, int *NNODE,
63 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
64{
65 int *vsize=NULL;
66 int *ADJWGT2=NULL;
67 float *tpwgts=NULL;
68 int IERR1;
69
70 IERR1 = METIS_PartGraphKway(
71 NELEM,NCOND,XADJ,ADJNCY,
72 IWD,vsize,ADJWGT2,NNODE,tpwgts,
73 UBVEC,OPTIONS,NEC,CEP);
74
75 if (vsize!=NULL) free(vsize);
76 if (ADJWGT2!=NULL) free(ADJWGT2);
77 if (tpwgts!=NULL) free(tpwgts);
78
79 return IERR1;
80}
81
82int wrap_metis_partgraphkway__(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
83 int *IWD, int *NNODE,
84 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
85{
86 int *vsize=NULL;
87 int *ADJWGT2=NULL;
88 float *tpwgts=NULL;
89 int IERR1;
90
91 IERR1 = METIS_PartGraphKway(
92 NELEM,NCOND,XADJ,ADJNCY,
93 IWD,vsize,ADJWGT2,NNODE,tpwgts,
94 UBVEC,OPTIONS,NEC,CEP);
95
96 if (vsize!=NULL) free(vsize);
97 if (ADJWGT2!=NULL) free(ADJWGT2);
98 if (tpwgts!=NULL) free(tpwgts);
99
100 return IERR1;
101
102}
103
104int _FCALL WRAP_METIS_PARTGRAPHKWAY(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
105 int *IWD, int *NNODE,
106 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
107{
108 int *vsize=NULL;
109 int *ADJWGT2=NULL;
110 float *tpwgts=NULL;
111 int IERR1;
112
113 IERR1 = METIS_PartGraphKway(
114 NELEM,NCOND,XADJ,ADJNCY,
115 IWD,vsize,ADJWGT2,NNODE,tpwgts,
116 UBVEC,OPTIONS,NEC,CEP);
117
118 if (vsize!=NULL) free(vsize);
119 if (ADJWGT2!=NULL) free(ADJWGT2);
120 if (tpwgts!=NULL) free(tpwgts);
121
122 return IERR1;
123}
124
125int wrap_metis_partgraphrecursive_(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
126 int *IWD, int *NNODE,
127 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
128{
129 int *vsize=NULL;
130 int *ADJWGT2=NULL;
131 float *tpwgts=NULL;
132 int IERR1;
133
135 NELEM,NCOND,XADJ,ADJNCY,
136 IWD,vsize,ADJWGT2,NNODE,tpwgts,
137 UBVEC,OPTIONS,NEC,CEP);
138
139 if (vsize!=NULL) free(vsize);
140 if (ADJWGT2!=NULL) free(ADJWGT2);
141 if (tpwgts!=NULL) free(tpwgts);
142
143 return IERR1;
144
145}
146
147int wrap_metis_partgraphrecursive(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
148 int *IWD, int *NNODE,
149 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
150{
151 int *vsize=NULL;
152 int *ADJWGT2=NULL;
153 float *tpwgts=NULL;
154 int IERR1;
155
157 NELEM,NCOND,XADJ,ADJNCY,
158 IWD,vsize,ADJWGT2,NNODE,tpwgts,
159 UBVEC,OPTIONS,NEC,CEP);
160
161 if (vsize!=NULL) free(vsize);
162 if (ADJWGT2!=NULL) free(ADJWGT2);
163 if (tpwgts!=NULL) free(tpwgts);
164
165 return IERR1;
166
167}
168
169int wrap_metis_partgraphrecursive__(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
170 int *IWD, int *NNODE,
171 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
172{
173 int *vsize=NULL;
174 int *ADJWGT2=NULL;
175 float *tpwgts=NULL;
176 int IERR1;
177
179 NELEM,NCOND,XADJ,ADJNCY,
180 IWD,vsize,ADJWGT2,NNODE,tpwgts,
181 UBVEC,OPTIONS,NEC,CEP);
182
183 if (vsize!=NULL) free(vsize);
184 if (ADJWGT2!=NULL) free(ADJWGT2);
185 if (tpwgts!=NULL) free(tpwgts);
186
187 return IERR1;
188
189}
190
191int _FCALL WRAP_METIS_PARTGRAPHRECURSIVE(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY,
192 int *IWD, int *NNODE,
193 float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
194{
195 int *vsize=NULL;
196 int *ADJWGT2=NULL;
197 float *tpwgts=NULL;
198 int IERR1;
199
201 NELEM,NCOND,XADJ,ADJNCY,
202 IWD,vsize,ADJWGT2,NNODE,tpwgts,
203 UBVEC,OPTIONS,NEC,CEP);
204
205 if (vsize!=NULL) free(vsize);
206 if (ADJWGT2!=NULL) free(ADJWGT2);
207 if (tpwgts!=NULL) free(tpwgts);
208
209 return IERR1;
210
211}
212
213
214
215
216
int wrap_metis_partgraphrecursive_(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
int METIS_PartGraphKway(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *vsize, int *ADJWGT2, int *NNODE, float *tpwgts, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
int _FCALL WRAP_METIS_PARTGRAPHRECURSIVE(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
int wrap_metis_partgraphkway_(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
Definition grid2m_wrap.c:39
int _FCALL WRAP_METIS_PARTGRAPHKWAY(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
int wrap_metis_partgraphkway(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
Definition grid2m_wrap.c:61
int METIS_PartGraphRecursive(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *vsize, int *ADJWGT2, int *NNODE, float *tpwgts, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
int wrap_metis_partgraphrecursive(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
int wrap_metis_partgraphkway__(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
Definition grid2m_wrap.c:82
int wrap_metis_partgraphrecursive__(int *NELEM, int *NCOND, int *XADJ, int *ADJNCY, int *IWD, int *NNODE, float *UBVEC, int *OPTIONS, int *NEC, int *CEP)
#define _FCALL