MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
harwlib.h
Go to the documentation of this file.
1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/libraries/libmbwrap/harwlib.h,v 1.18 2017/01/12 14:44:25 masarati Exp $ */
2 /*
3  * MBDyn (C) is a multibody analysis code.
4  * http://www.mbdyn.org
5  *
6  * Copyright (C) 1996-2017
7  *
8  * Pierangelo Masarati <masarati@aero.polimi.it>
9  * Paolo Mantegazza <mantegazza@aero.polimi.it>
10  *
11  * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
12  * via La Masa, 34 - 20156 Milano, Italy
13  * http://www.aero.polimi.it
14  *
15  * Changing this copyright notice is forbidden.
16  *
17  * This program is free software; you can redistribute it and/or modify
18  * it under the terms of the GNU General Public License as published by
19  * the Free Software Foundation (version 2 of the License).
20  *
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */
31 
32 /*****************************************************************************
33  * *
34  * HARWLIB *
35  * *
36  *****************************************************************************/
37 
38 /* Dichiarazione delle routines include nel file <harwlib.c>,
39  * che sono un subset della libreria di calcolo HARWELL.
40  * In particolare sono pate delle routines di gestione di matrici sparse,
41  * con assemblaggio sparso, fattorizzazione LU, soluzione ecc.
42  * Convertite in C/C++ da Pierangelo Masarati con f2c */
43 
44 /* Per il significato dei vari termini, consultare il file <harwlib.c>,
45  * in cui c'e' un echo dei commenti originali in FORTRAN */
46 
47 
48 #ifndef HARWLIB_H
49 #define HARWLIB_H
50 
51 #include <ac/f2c.h>
52 
53 #ifdef USE_UNDERSCORES
54 #define __U_S__ _
55 #else
56 #define __U_S__
57 #endif
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 
63 extern int __FC_DECL__(ma28ad)(integer *n, integer *nz, doublereal *a,
64  integer *licn, integer *irn, integer *lirn,
65  integer *icn, doublereal *u, integer *ikeep,
66  integer *iw, doublereal *w, integer *iflag);
67 extern int __FC_DECL__(ma28bd)(integer *n, integer *nz, doublereal *a,
68  integer *licn, integer *ivect, integer *jvect,
69  integer *icn, integer *ikeep, integer *iw,
70  doublereal *w, integer *iflag);
71 extern int __FC_DECL__(ma28cd)(integer *n, doublereal *a, integer *licn,
72  integer *icn, integer *ikeep, doublereal *rhs,
73  doublereal *w, integer *mtype);
74 extern int __FC_DECL__(ma28dd)(integer *n, doublereal *a, integer *licn,
75  integer *ivect, integer *jvect, integer *nz,
76  integer *icn, integer *lenr, integer *lenrl,
77  integer *lenoff, integer *ip, integer *iq,
78  integer *iw1, integer *iw, doublereal *w1,
79  integer *iflag);
80 extern int __FC_DECL__(ma28id)(integer *n, integer *nz, doublereal *aorg,
81  integer *irnorg, integer *icnorg,
82  integer *licn, doublereal *a, integer *icn,
83  integer *ikeep, doublereal *rhs,
84  doublereal *x, doublereal *r, doublereal *w,
85  integer *mtype, doublereal *prec,
86  integer *iflag);
87 extern int __FC_DECL__(ma30ad)(integer *nn, integer *icn, doublereal *a,
88  integer *licn, integer *lenr, integer *lenrl,
89  integer *idisp, integer *ip, integer *iq,
90  integer *irn, integer *lirn, integer *lenc,
91  integer *ifirst, integer *lastr,
92  integer *nextr, integer *lastc, integer *nextc,
93  integer *iptr, integer *ipc, doublereal *u,
94  integer *iflag);
95 extern int __FC_DECL__(ma30bd)(integer *n, integer *icn, doublereal *a,
96  integer *licn, integer *lenr, integer *lenrl,
97  integer *idisp, integer *ip, integer *iq,
98  doublereal *w, integer *iw, integer *iflag);
99 extern int __FC_DECL__(ma30cd)(integer *n, integer *icn, doublereal *a,
100  integer *licn, integer *lenr, integer *lenrl,
101  integer *lenoff, integer *idisp, integer *ip,
102  integer *iq, doublereal *x, doublereal *w,
103  integer *mtype);
104 extern int __FC_DECL__(ma30dd)(doublereal *a, integer *icn, integer *iptr,
105  integer *n, integer *iactiv, integer *itop,
106  logical *reals);
107 extern int __FC_DECL__(mc13d)(integer *n, integer *icn, integer *licn,
108  integer *ip, integer *lenr, integer *ior,
109  integer *ib, integer *num, integer *iw);
110 extern int __FC_DECL__(mc13e)(integer *n, integer *icn, integer *licn,
111  integer *ip, integer *lenr, integer *arp,
112  integer *ib, integer *num, integer *lowl,
113  integer *numb, integer *prev);
114 extern int __FC_DECL__(mc19ad)(integer *n, integer *na, doublereal *a,
115  integer *irn, integer *icn, real *r, real *c,
116  real *w);
117 extern int __FC_DECL__(mc20ad)(integer *nc, integer *maxa, doublereal *a,
118  integer *inum, integer *jptr, integer *jnum,
119  integer *jdisp);
120 extern int __FC_DECL__(mc20bd)(integer *nc, integer *maxa, doublereal *a,
121  integer *inum, integer *jptr);
122 extern int __FC_DECL__(mc21a)(integer *n, integer *icn, integer *licn,
123  integer *ip, integer *lenr, integer *iperm,
124  integer *numnz, integer *iw);
125 extern int __FC_DECL__(mc21b)(integer *n, integer *icn, integer *licn,
126  integer *ip, integer *lenr, integer *iperm,
127  integer *numnz, integer *pr, integer *arp,
128  integer *cv, integer *out);
129 extern int __FC_DECL__(mc22ad)(integer *n, integer *icn, doublereal *a,
130  integer *nz, integer *lenrow, integer *ip,
131  integer *iq, integer *iw, integer *iw1);
132 extern int __FC_DECL__(mc23ad)(integer *n, integer *icn, doublereal *a,
133  integer *licn, integer *lenr, integer *idisp,
134  integer *ip, integer *iq, integer *lenoff,
135  integer *iw, integer *iw1);
136 extern int __FC_DECL__(mc24ad)(integer *n, integer *icn, doublereal *a,
137  integer *licn, integer *lenr, integer *lenrl,
138  doublereal *w);
139 /* comlen ma28ed_ 16 */
140 /* comlen ma28fd_ 52 */
141 /* comlen ma28gd_ 8 */
142 /* comlen ma28hd_ 80 */
143 /* comlen ma30ed_ 16 */
144 /* comlen ma30fd_ 20 */
145 /* comlen ma30id_ 28 */
146 /* comlen mc23bd_ 20 */
147 /* comlen ma30gd_ 16 */
148 /* comlen ma30hd_ 8 */
149 /* comlen mc19bd_ 8 */
150 
151 
152 /* Common Block Declarations */
153 
154 struct ma28ed_1_ {
156  logical lblock, grow;
157 };
158 
159 #define ma28ed_1 (*(struct ma28ed_1_ *) &ma28ed_)
160 
161 struct ma28fd_1_ {
164  logical abort1, abort2;
165 };
166 
167 #define ma28fd_1 (*(struct ma28fd_1_ *) &ma28fd_)
168 
169 struct ma28hd_1_ {
172  logical lbig;
173 };
174 
175 #define ma28hd_1 (*(struct ma28hd_1_ *) &ma28hd_)
176 
177 extern struct ext_ma28ed_ {
179  logical e_2[2];
180  } ma28ed_;
181 
182 extern struct ext_ma28fd_ {
185  logical e_3[2];
186  } ma28fd_;
187 
188 extern struct ext_ma28hd_ {
196  logical e_8;
197  } ma28hd_;
198 
199 extern struct ext_ma28gd_ {
200  integer idisp[2];
201 } ma28gd_;
202 
203 extern union ext_ma30fd_ {
204  struct {
206  } _1;
207  struct {
209  } _2;
210 } ma30fd_;
211 
212 
213 
214 #ifdef __cplusplus
215 }
216 #endif
217 #endif
int mc23ad(integer *n, integer *icn, doublereal *a, integer *licn, integer *lenr, integer *idisp, integer *ip, integer *iq, integer *lenoff, integer *iw, integer *iw1)
integer minicn
Definition: harwlib.h:163
integer mirank
Definition: harwlib.h:205
int mc13d(integer *n, integer *icn, integer *licn, integer *ip, integer *lenr, integer *ior, integer *ib, integer *num, integer *iw)
integer irncp
Definition: harwlib.h:163
integer minicn
Definition: harwlib.h:208
int mc13e(integer *n, integer *icn, integer *licn, integer *ip, integer *lenr, integer *arp, integer *ib, integer *num, integer *lowl, integer *numb, integer *prev)
integer mp
Definition: harwlib.h:155
integer irank
Definition: harwlib.h:163
int mc20ad(integer *nc, integer *maxa, doublereal *a, integer *inum, integer *jptr, integer *jnum, integer *jdisp)
integer noiter
Definition: harwlib.h:171
logical e_2[2]
Definition: harwlib.h:179
struct ext_ma28gd_ ma28gd_
integer fill_2[9]
Definition: harwlib.h:184
logical e_3[2]
Definition: harwlib.h:185
integer micn
Definition: harwlib.h:205
integer ndrop
Definition: harwlib.h:171
doublereal themax
Definition: harwlib.h:170
integer mirncp
Definition: harwlib.h:205
int ma28cd(integer *n, doublereal *a, integer *licn, integer *icn, integer *ikeep, doublereal *rhs, doublereal *w, integer *mtype)
logical abort1
Definition: harwlib.h:164
integer nsrch
Definition: harwlib.h:171
integer lp
Definition: harwlib.h:155
doublereal tol
Definition: harwlib.h:170
struct ext_ma28hd_ ma28hd_
union ext_ma30fd_ ma30fd_
doublereal errmax
Definition: harwlib.h:170
integer fill_6[1]
Definition: harwlib.h:194
doublereal dxmax
Definition: harwlib.h:170
integer minirn
Definition: harwlib.h:208
logical lblock
Definition: harwlib.h:156
integer icncp
Definition: harwlib.h:208
integer mirn
Definition: harwlib.h:205
doublereal big
Definition: harwlib.h:170
doublereal resid
Definition: harwlib.h:162
#define real
integer e_1[2]
Definition: harwlib.h:178
integer icncp
Definition: harwlib.h:163
struct ext_ma28fd_ ma28fd_
int mc20bd(integer *nc, integer *maxa, doublereal *a, integer *inum, integer *jptr)
doublereal dres
Definition: harwlib.h:170
int mc24ad(integer *n, integer *icn, doublereal *a, integer *licn, integer *lenr, integer *lenrl, doublereal *w)
int mc21b(integer *n, integer *icn, integer *licn, integer *ip, integer *lenr, integer *iperm, integer *numnz, integer *pr, integer *arp, integer *cv, integer *out)
integer fill_4[1]
Definition: harwlib.h:192
integer maxit
Definition: harwlib.h:171
integer istart
Definition: harwlib.h:171
doublereal fill_2[5]
Definition: harwlib.h:190
int ma28dd(integer *n, doublereal *a, integer *licn, integer *ivect, integer *jvect, integer *nz, integer *icn, integer *lenr, integer *lenrl, integer *lenoff, integer *ip, integer *iq, integer *iw1, integer *iw, doublereal *w1, integer *iflag)
integer e_7[2]
Definition: harwlib.h:195
integer minirn
Definition: harwlib.h:163
static std::stack< cleanup * > c
Definition: cleanup.cc:59
struct ext_ma30fd_::@17 _2
int ma28ad(integer *n, integer *nz, doublereal *a, integer *licn, integer *irn, integer *lirn, integer *icn, doublereal *u, integer *ikeep, integer *iw, doublereal *w, integer *iflag)
integer irank
Definition: harwlib.h:208
int ma30ad(integer *nn, integer *icn, doublereal *a, integer *licn, integer *lenr, integer *lenrl, integer *idisp, integer *ip, integer *iq, integer *irn, integer *lirn, integer *lenc, integer *ifirst, integer *lastr, integer *nextr, integer *lastc, integer *nextc, integer *iptr, integer *ipc, doublereal *u, integer *iflag)
doublereal e_1
Definition: harwlib.h:183
logical grow
Definition: harwlib.h:156
int ma30dd(doublereal *a, integer *icn, integer *iptr, integer *n, integer *iactiv, integer *itop, logical *reals)
int ma30cd(integer *n, integer *icn, doublereal *a, integer *licn, integer *lenr, integer *lenrl, integer *lenoff, integer *idisp, integer *ip, integer *iq, doublereal *x, doublereal *w, integer *mtype)
int mc22ad(integer *n, integer *icn, doublereal *a, integer *nz, integer *lenrow, integer *ip, integer *iq, integer *iw, integer *iw1)
static const doublereal a
Definition: hfluid_.h:289
integer micncp
Definition: harwlib.h:205
logical e_8
Definition: harwlib.h:196
doublereal e_3
Definition: harwlib.h:191
logical lbig
Definition: harwlib.h:172
integer irncp
Definition: harwlib.h:208
doublereal e_1
Definition: harwlib.h:189
struct ext_ma30fd_::@16 _1
integer e_5
Definition: harwlib.h:193
struct ext_ma28ed_ ma28ed_
double doublereal
Definition: colamd.c:52
logical abort2
Definition: harwlib.h:164
int ma30bd(integer *n, integer *icn, doublereal *a, integer *licn, integer *lenr, integer *lenrl, integer *idisp, integer *ip, integer *iq, doublereal *w, integer *iw, integer *iflag)
long int integer
Definition: colamd.c:51
doublereal rmin
Definition: harwlib.h:162
int mc21a(integer *n, integer *icn, integer *licn, integer *ip, integer *lenr, integer *iperm, integer *numnz, integer *iw)
doublereal cgce
Definition: harwlib.h:170
int ma28id(integer *n, integer *nz, doublereal *aorg, integer *irnorg, integer *icnorg, integer *licn, doublereal *a, integer *icn, integer *ikeep, doublereal *rhs, doublereal *x, doublereal *r, doublereal *w, integer *mtype, doublereal *prec, integer *iflag)
doublereal eps
Definition: harwlib.h:162
int mc19ad(integer *n, integer *na, doublereal *a, integer *irn, integer *icn, real *r, real *c, real *w)
int ma28bd(integer *n, integer *nz, doublereal *a, integer *licn, integer *ivect, integer *jvect, integer *icn, integer *ikeep, integer *iw, doublereal *w, integer *iflag)