1 |
/* |
2 |
* SLV: Ascend Nonlinear Solver |
3 |
* by Karl Michael Westerberg |
4 |
* Created: 2/6/90 |
5 |
* Version: $Revision: 1.7 $ |
6 |
* Version control file: $RCSfile: slv0.h,v $ |
7 |
* Date last modified: $Date: 1997/07/18 12:15:51 $ |
8 |
* Last modified by: $Author: mthomas $ |
9 |
* |
10 |
* This file is part of the SLV solver. |
11 |
* |
12 |
* Copyright (C) 1990 Karl Michael Westerberg |
13 |
* Copyright (C) 1993 Joseph Zaher |
14 |
* Copyright (C) 1994 Joseph Zaher, Benjamin Andrew Allan |
15 |
* |
16 |
* The SLV solver is free software; you can redistribute |
17 |
* it and/or modify it under the terms of the GNU General Public License as |
18 |
* published by the Free Software Foundation; either version 2 of the |
19 |
* License, or (at your option) any later version. |
20 |
* |
21 |
* The SLV solver is distributed in hope that it will be |
22 |
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
23 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
24 |
* General Public License for more details. |
25 |
* |
26 |
* You should have received a copy of the GNU General Public License |
27 |
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
28 |
*/ |
29 |
|
30 |
/** @file |
31 |
* Slv solver registration module. |
32 |
* <pre> |
33 |
* Contents: Slv module |
34 |
* |
35 |
* Authors: Karl Westerberg |
36 |
* Joseph Zaher |
37 |
* |
38 |
* Dates: 06/90 - original version |
39 |
* 04/91 - fine tuned modified marquadt computation, |
40 |
* provided minor iterations for step generation |
41 |
* within each major iteration of jacobian |
42 |
* updates |
43 |
* 06/93 - eliminated pointer sublists being generated |
44 |
* at the beginning of each block |
45 |
* 04/94 - extended scope to equality constrained |
46 |
* optimization. |
47 |
* |
48 |
* Description: This file is created by make_slv_header, so don't |
49 |
* modify it yourself. All functions defined in this |
50 |
* header have identical protocols to the corresponding |
51 |
* functions in slv.h except that slv_system_t ==> |
52 |
* slv0_system_t and slv0_eligible_solver() only takes one |
53 |
* parameter: the system. Note also that the select |
54 |
* solver functions don't exist. |
55 |
* </pre> |
56 |
* @todo Slv (solver/slv0.c) is out-of-date |
57 |
* Should be either fixed or archived. |
58 |
*/ |
59 |
|
60 |
#ifndef ASC_SLV0_H |
61 |
#define ASC_SLV0_H |
62 |
|
63 |
#include <ascend/system/slv_client.h> |
64 |
|
65 |
/** @addtogroup solver Solver |
66 |
@{ |
67 |
*/ |
68 |
|
69 |
typedef struct slv0_system_structure *slv0_system_t; |
70 |
|
71 |
int slv0_register(SlvFunctionsT *sft); |
72 |
/**< |
73 |
* Registration function for the Slv nonlinear solver. |
74 |
* This is the function that tells the system about the QRSlv solver. |
75 |
* Our index is not necessarily going to be 0. That everything here is |
76 |
* named slv0* is just a historical event. |
77 |
* |
78 |
* @param sft SlvFunctionsT to receive the solver registration info. |
79 |
* @return Returns non-zero on error (e.g. f == NULL), zero if all is ok. |
80 |
*/ |
81 |
|
82 |
/* @} */ |
83 |
|
84 |
#endif /* ASC_SLV0_H */ |
85 |
|