MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
solver_impl.h
Go to the documentation of this file.
1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/mbdyn/base/solver_impl.h,v 1.18 2017/01/12 14:46:10 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  * Copyright 1999-2017 Giuseppe Quaranta <quaranta@aero.polimi.it>
34  * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
35  *
36  * This copyright statement applies to the MPI related code, which was
37  * merged from files schur.h/schur.cc
38  */
39 
40 /*
41  *
42  * Copyright (C) 2003-2017
43  * Giuseppe Quaranta <quaranta@aero.polimi.it>
44  *
45  */
46 
47 /* metodo per la soluzione del modello */
48 
49 #ifndef SOLVER_IMPL_H
50 #define SOLVER_IMPL_H
51 
52 #include <limits>
53 
54 #if defined(HAVE_SIGNAL) && defined(HAVE_SIGNAL_H)
55 #include <signal.h>
56 #endif /* HAVE_SIGNAL && HAVE_SIGNAL_H */
57 
58 #ifdef USE_MPI
59 #include "mbcomm.h"
60 #ifdef USE_EXTERNAL
61 #include "external.h"
62 #endif /* USE_EXTERNAL */
63 #endif /* USE_MPI */
64 
65 
66 #if defined(HAVE_SYS_MMAN_H)
67 #include <sys/mman.h>
68 #endif /* HAVE_SYS_MMAN_H */
69 
70 #if 0
71 #ifdef HAVE_SIGNAL
72 extern volatile sig_atomic_t mbdyn_keep_going;
73 extern __sighandler_t mbdyn_sh_term;
74 extern __sighandler_t mbdyn_sh_int;
75 extern __sighandler_t mbdyn_sh_hup;
76 extern __sighandler_t mbdyn_sh_pipe;
77 
78 extern "C" void mbdyn_really_exit_handler(int signum);
79 extern "C" void mbdyn_modify_last_iteration_handler(int signum);
80 extern "C" void mbdyn_modify_final_time_handler(int signum);
81 #endif /* HAVE_SIGNAL */
82 #endif
83 
84 extern "C" void mbdyn_signal_init(int pre);
85 
86 extern int mbdyn_reserve_stack(unsigned long size);
87 
88 /* Parametri locali */
91 static const doublereal dDefaultDummyStepsRatio = 1.e-3;
95 static const doublereal dDefaultTol = 1.e-6;
97 static const doublereal defaultIterativeTau = 1.e-7;
98 
99 static const integer iDefaultMaxIterations = 1;
100 static const doublereal dDefaultMinTimeStep = -1.;
101 static const doublereal dDefaultMaxTimeStep = std::numeric_limits<doublereal>::max();
103 
104 #endif /* ! SOLVER_IMPL_H */
static const doublereal dDefaultMinTimeStep
Definition: solver_impl.h:100
static const doublereal defaultIterativeEtaMax
Definition: solver_impl.h:96
static const doublereal defaultIterativeTau
Definition: solver_impl.h:97
static const doublereal dDefaultDummyStepsRatio
Definition: solver_impl.h:91
static const integer iDefaultPreconditionerSteps
Definition: solver_impl.h:94
static const doublereal dDefaultDerivativesCoefficient
Definition: solver_impl.h:89
static const integer iDefaultMaxIterations
Definition: solver_impl.h:99
static const integer iDefaultDummyStepsNumber
Definition: solver_impl.h:90
static const integer iDefaultIterationsBeforeAssembly
Definition: solver_impl.h:92
static const doublereal dDefaultMaxTimeStep
Definition: solver_impl.h:101
static const integer iDefaultIterativeSolversMaxSteps
Definition: solver_impl.h:93
static const doublereal dDefaultDummyStepsTolerance
Definition: solver_impl.h:102
static const doublereal dDefaultTol
Definition: solver_impl.h:95
void mbdyn_signal_init(int pre)
Definition: solver.cc:208
int mbdyn_reserve_stack(unsigned long size)
Definition: solver.cc:254
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51