Toggle navigation
Documentation
Big picture
The finite element method
The data structure
Not-so-quick guide
Optimisation
Order of action functions
Example codes and tutorials
List of example codes and tutorials
Meshing
Solvers
MPI parallel processing
Post-processing/visualisation
Other
Change log
Creating documentation
Coding conventions
Index
FAQ
Installation
Installation guide
Copyright
About
People
Contact/Get involved
Publications
Acknowledgements
Picture show
Go
src
generic
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
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
33
PROTOCCALLSFSUB2
(MUMPS_SETUP,
mumps_setup
,
INT
,
INT
)
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
51
PROTOCCALLSFSUB1
(MUMPS_SWITCH_ON_DOC,
mumps_switch_on_doc
,
INT
)
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
79
PROTOCCALLSFSUB7
(
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
100
PROTOCCALLSFSUB3
(MUMPS_BACKSUB,
mumps_backsub
,
INT
,
INT
,
DOUBLEV
)
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
110
PROTOCCALLSFSUB1
(MUMPS_SHUTDOWN,
mumps_shutdown
,
INT
)
111
#define mumps_shutdown(I_POOL) \
112
CCALLSFSUB1(MUMPS_SHUTDOWN, mumps_shutdown, INT, I_POOL)
PROTOCCALLSFSUB3
PROTOCCALLSFSUB3(MA42ID, ma42id, INTV, DOUBLEV, INTV) PROTOCCALLSFSUB8(MA42AD
DOUBLEV
DOUBLEV
Definition:
frontal.h:194
mumps_setup
mumps_setup
Definition:
mumps.h:33
mumps_switch_on_doc
mumps_switch_on_doc
Definition:
mumps.h:51
PROTOCCALLSFSUB2
PROTOCCALLSFSUB2(MUMPS_SET_WORKSPACE_SCALING_FACTOR, mumps_set_workspace_scaling_factor, INT, INT) PROTOCCALLSFSUB1(MUMPS_SWITCH_ON_DOC
mumps_backsub
mumps_backsub
Definition:
mumps.h:100
INT
INT
Definition:
mumps.h:33
PROTOCCALLSFSUB1
PROTOCCALLSFSUB1(MUMPS_SETUP_SOLVER_POOL, mumps_setup_solver_pool, INT) PROTOCCALLSFSUB2(MUMPS_SETUP
mumps_shutdown
mumps_shutdown
Definition:
mumps.h:110
mumps_factorise
mumps_factorise
Definition:
mumps.h:62
PROTOCCALLSFSUB7
PROTOCCALLSFSUB7(MUMPS_SOLVE, mumps_solve, INT, INT, INT, INTV, INTV, DOUBLEV, DOUBLEV) PROTOCCALLSFSUB3(MUMPS_BACKSUB
INTV
INTV
Definition:
mumps.h:62