OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mumps_scotch.h
Go to the documentation of this file.
1/*
2 *
3 * This file is part of MUMPS 5.5.1, released
4 * on Tue Jul 12 13:17:24 UTC 2022
5 *
6 *
7 * Copyright 1991-2022 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
8 * Mumps Technologies, University of Bordeaux.
9 *
10 * This version of MUMPS is provided to you free of charge. It is
11 * released under the CeCILL-C license
12 * (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
13 * https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
14 *
15 */
16#ifndef MUMPS_SCOTCH_H
17#define MUMPS_SCOTCH_H
18#include "mumps_common.h"
19#if defined(scotch) || defined(ptscotch)
20#include "scotch.h"
21#if ((SCOTCH_VERSION == 6) && (SCOTCH_RELEASE >= 1)) || (SCOTCH_VERSION >= 7)
22/* esmumpsv prototype with 64-bit integers weights of nodes in the graph are used on entry (nv) */
23MUMPS_INT esmumpsv( const MUMPS_INT n, const MUMPS_INT iwlen, MUMPS_INT * const pe, const MUMPS_INT pfree,
24 MUMPS_INT * const len, MUMPS_INT * const iw, MUMPS_INT * const nv, MUMPS_INT * const elen,
25 MUMPS_INT * const last);
26#endif
27/* esmumps prototype with standard integers (weights of nodes not used on entry) */
28MUMPS_INT esmumps( const MUMPS_INT n, const MUMPS_INT iwlen, MUMPS_INT * const pe, const MUMPS_INT pfree,
29 MUMPS_INT * const len, MUMPS_INT * const iw, MUMPS_INT * const nv, MUMPS_INT * const elen,
30 MUMPS_INT * const last);
31#define MUMPS_SCOTCH_ORD \
32 F_SYMBOL(scotch_ord,SCOTCH_ORD)
33void MUMPS_CALL
34MUMPS_SCOTCH_ORD( const MUMPS_INT * const n,
35 const MUMPS_INT * const iwlen,
36 MUMPS_INT * const petab,
37 const MUMPS_INT * const pfree,
38 MUMPS_INT * const lentab,
39 MUMPS_INT * const iwtab,
40 MUMPS_INT * const nvtab,
41 MUMPS_INT * const elentab,
42 MUMPS_INT * const lasttab,
43 MUMPS_INT * const ncmpa,
44 MUMPS_INT * const weightused,
45 MUMPS_INT * const weightrequested );
46#define MUMPS_SCOTCH \
47 F_SYMBOL(scotch,SCOTCH)
48void MUMPS_CALL
49MUMPS_SCOTCH( const MUMPS_INT * const n,
50 const MUMPS_INT * const iwlen,
51 MUMPS_INT * const petab,
52 const MUMPS_INT * const pfree,
53 MUMPS_INT * const lentab,
54 MUMPS_INT * const iwtab,
55 MUMPS_INT * const nvtab,
56 MUMPS_INT * const elentab,
57 MUMPS_INT * const lasttab,
58 MUMPS_INT * const ncmpa,
59 MUMPS_INT * const weightused,
60 MUMPS_INT * const weightrequested );
61#define MUMPS_SCOTCH_VERSION \
62 F_SYMBOL(scotch_version,SCOTCH_VERSION)
63void MUMPS_CALL
64MUMPS_SCOTCH_VERSION(MUMPS_INT *version);
65#define MUMPS_SCOTCH_GET_PTHREAD_NUMBER \
66 F_SYMBOL(scotch_get_pthread_number,SCOTCH_GET_PTHREAD_NUMBER)
67void MUMPS_CALL
68MUMPS_SCOTCH_GET_PTHREAD_NUMBER (MUMPS_INT *PTHREAD_NUMBER);
69#define MUMPS_SCOTCH_SET_PTHREAD_NUMBER \
70 F_SYMBOL(scotch_set_pthread_number,SCOTCH_SET_PTHREAD_NUMBER)
71void MUMPS_CALL
72MUMPS_SCOTCH_SET_PTHREAD_NUMBER (MUMPS_INT *PTHREAD_NUMBER);
73#endif /*scotch or ptscotch*/
74#if defined(ptscotch)
75#include "mpi.h"
76#include "ptscotch.h"
77#define MUMPS_DGRAPHINIT \
78 F_SYMBOL(dgraphinit,DGRAPHINIT)
79void MUMPS_CALL
80MUMPS_DGRAPHINIT(SCOTCH_Dgraph *graphptr, MPI_Fint *comm, MPI_Fint *ierr);
81#endif /*ptscotch*/
82#endif
#define MUMPS_INT
#define MUMPS_CALL
n