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-2023 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 
29 PROTOCCALLSFSUB1(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 
38 PROTOCCALLSFSUB2(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 
56 PROTOCCALLSFSUB1(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 
61 PROTOCCALLSFSUB6(
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 
105 PROTOCCALLSFSUB1(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)
DOUBLEV
Definition: arpack.h:102
PROTOCCALLSFSUB3(MA42ID, ma42id, INTV, DOUBLEV, INTV) PROTOCCALLSFSUB8(MA42AD
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