mumps.h
Go to the documentation of this file.
1// LIC// ====================================================================
2// LIC// This file forms part of oomph-lib, the object-oriented,
3// LIC// multi-physics finite-element library, available
4// LIC// at http://www.oomph-lib.org.
5// LIC//
6// LIC// Copyright (C) 2006-2024 Matthias Heil and Andrew Hazel
7// LIC//
8// LIC// This library is free software; you can redistribute it and/or
9// LIC// modify it under the terms of the GNU Lesser General Public
10// LIC// License as published by the Free Software Foundation; either
11// LIC// version 2.1 of the License, or (at your option) any later version.
12// LIC//
13// LIC// This library is distributed in the hope that it will be useful,
14// LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16// LIC// Lesser General Public License for more details.
17// LIC//
18// LIC// You should have received a copy of the GNU Lesser General Public
19// LIC// License along with this library; if not, write to the Free Software
20// LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21// LIC// 02110-1301 USA.
22// LIC//
23// LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
24// LIC//
25// LIC//====================================================================
26/*cfortran.h headers for the mumps routines*/
27
28
29PROTOCCALLSFSUB1(MUMPS_SETUP_SOLVER_POOL, mumps_setup_solver_pool, INT)
30#define mumps_setup_solver_pool(N_POOL) \
31 CCALLSFSUB1(MUMPS_SETUP_SOLVER_POOL, mumps_setup_solver_pool, INT, N_POOL)
32
34#define mumps_setup(I_POOL, S) \
35 CCALLSFSUB2(MUMPS_SETUP, mumps_setup, INT, INT, I_POOL, S)
36
37
38PROTOCCALLSFSUB2(MUMPS_SET_WORKSPACE_SCALING_FACTOR,
39 mumps_set_workspace_scaling_factor,
40 INT,
41 INT)
42#define mumps_set_workspace_scaling_factor(I_POOL, S) \
43 CCALLSFSUB2(MUMPS_SET_WORKSPACE_SCALING_FACTOR, \
44 mumps_set_workspace_scaling_factor, \
45 INT, \
46 INT, \
47 I_POOL, \
48 S)
49
50
52#define mumps_switch_on_doc(I_POOL) \
53 CCALLSFSUB1(MUMPS_SWITCH_ON_DOC, mumps_switch_on_doc, INT, I_POOL)
54
55
56PROTOCCALLSFSUB1(MUMPS_SWITCH_OFF_DOC, mumps_switch_off_doc, INT)
57#define mumps_switch_off_doc(I_POOL) \
58 CCALLSFSUB1(MUMPS_SWITCH_OFF_DOC, mumps_switch_off_doc, INT, I_POOL)
59
60
61PROTOCCALLSFSUB6(
62 MUMPS_FACTORISE, mumps_factorise, INT, INT, INT, INTV, INTV, DOUBLEV)
63#define mumps_factorise(I_POOL, N, NZ_LOC, IRN_LOC, JCN_LOC, A_LOC) \
64 CCALLSFSUB6(MUMPS_FACTORISE, \
65 mumps_factorise, \
66 INT, \
67 INT, \
68 INT, \
69 INTV, \
70 INTV, \
71 DOUBLEV, \
72 I_POOL, \
73 N, \
74 NZ_LOC, \
75 IRN_LOC, \
76 JCN_LOC, \
77 A_LOC)
78
80 MUMPS_SOLVE, mumps_solve, INT, INT, INT, INTV, INTV, DOUBLEV, DOUBLEV)
81#define mumps_solve(I_POOL, N, NZ_LOC, IRN_LOC, JCN_LOC, A_LOC, RHS) \
82 CCALLSFSUB7(MUMPS_SOLVE, \
83 mumps_solve, \
84 INT, \
85 INT, \
86 INT, \
87 INTV, \
88 INTV, \
89 DOUBLEV, \
90 DOUBLEV, \
91 I_POOL, \
92 N, \
93 NZ_LOC, \
94 IRN_LOC, \
95 JCN_LOC, \
96 A_LOC, \
97 RHS)
98
99
101#define mumps_backsub(I_POOL, N, RHS) \
102 CCALLSFSUB3(MUMPS_BACKSUB, mumps_backsub, INT, INT, DOUBLEV, I_POOL, N, RHS)
103
104
105PROTOCCALLSFSUB1(MUMPS_CLEANUP_MEMORY, mumps_cleanup_memory, INT)
106#define mumps_cleanup_memory(I_POOL) \
107 CCALLSFSUB1(MUMPS_CLEANUP_MEMORY, mumps_cleanup_memory, INT, I_POOL)
108
109
111#define mumps_shutdown(I_POOL) \
112 CCALLSFSUB1(MUMPS_SHUTDOWN, mumps_shutdown, INT, I_POOL)
PROTOCCALLSFSUB3(MA42ID, ma42id, INTV, DOUBLEV, INTV) PROTOCCALLSFSUB8(MA42AD
DOUBLEV
Definition frontal.h:194
mumps_setup
Definition mumps.h:33
mumps_switch_on_doc
Definition mumps.h:51
PROTOCCALLSFSUB2(MUMPS_SET_WORKSPACE_SCALING_FACTOR, mumps_set_workspace_scaling_factor, INT, INT) PROTOCCALLSFSUB1(MUMPS_SWITCH_ON_DOC
mumps_backsub
Definition mumps.h:100
INT
Definition mumps.h:33
PROTOCCALLSFSUB1(MUMPS_SETUP_SOLVER_POOL, mumps_setup_solver_pool, INT) PROTOCCALLSFSUB2(MUMPS_SETUP
mumps_shutdown
Definition mumps.h:110
mumps_factorise
Definition mumps.h:62
PROTOCCALLSFSUB7(MUMPS_SOLVE, mumps_solve, INT, INT, INT, INTV, INTV, DOUBLEV, DOUBLEV) PROTOCCALLSFSUB3(MUMPS_BACKSUB
INTV
Definition mumps.h:62