Robotran C Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
mbs_modal_struct.h
Go to the documentation of this file.
1 
2 
3 #ifndef MBS_MODAL_STRUCT_h
4 #define MBS_MODAL_STRUCT_h
5 
6 #include "useful_functions.h"
7 
8 #include "mbs_data.h"
9 #include "mbs_linearipk_struct.h"
10 #include "mbs_statespace.h"
11 
12 typedef struct MbsModalOptions
13 {
14  int save2file;
15  int save_mat;
16  int save_eval;
17  int save_evec;
19  int save_anim;
20  int verbose;
26  double mode_ampl;
28  int compute_JS;
29  int norm_evec;
31 
32  // lpk linearization options
34  double lpk_relincr;
35  double lpk_absincr;
36  double lpk_absincr_max;
37  double lpk_equitol;
38  double lpk_lintol;
39 
40  // animation options
41  int anim_speed;
42  double anim_dt;
43  double anim_t;
44 
54  char *resfilename;
62  char *respath;
70  char *animpath;
71 
73 
74 typedef struct MbsModalMode
75 {
76  int type;
77 
78  double eval_a;
79  double eval_b;
80 
81  double ksi;
82  double nu_0;
83  double nu;
84 
85  double *q_a;
86  double *q_b;
87  double *ux_a;
88  double *ux_b;
89 
90  double *q_r;
91  double *q_phi;
92  double *ux_r;
93  double *ux_phi;
94 
95  double *evec_r;
96  double *evec_phi;
97 
98 } MbsModalMode;
99 
100 typedef struct MbsModal
101 {
103  MbsAux *aux;
104 
107 
108  double **Bvuc;
109 
110  double *q_saved;
111  double *qd_saved;
112  double *qdd_saved;
113  double *Qq_saved;
114 
115  int Nux_saved;
116 
117  int nx;
118 
119  double *eval_a;
120  double *eval_b;
121 
122  double **evec_a;
123  double **evec_b;
124  double **evec_r;
125  double **evec_phi;
126 
127 
128  int nMode;
131 
132 } MbsModal;
133 
134 
135 
136 
137 
138 #endif
MbsModalOptions::lpk_absincr_max
double lpk_absincr_max
See MbsLpk::absincr_max [default = 1e-3].
Definition: mbs_modal_struct.h:36
MbsModal::Nux_saved
int Nux_saved
copy of mbs_data Nux
Definition: mbs_modal_struct.h:115
MbsModal::evec_a
double ** evec_a
Result of the Eigenvalue problem: real part of the eigen vectors (each column is a eigenvector) [nx X...
Definition: mbs_modal_struct.h:122
MbsModal::eval_b
double * eval_b
Result of the Eigenvalue problem: imaginary part of the nx eigen values [nx].
Definition: mbs_modal_struct.h:120
MbsModalOptions::respath
char * respath
Path in which results file are saved.
Definition: mbs_modal_struct.h:62
MbsModalOptions
Definition: mbs_modal_struct.h:12
useful_functions.h
MbsModal::iModeSorted
int * iModeSorted
Definition: mbs_modal_struct.h:130
MbsModalOptions::lpk_absincr
double lpk_absincr
See MbsLpk::absincr [default = 1e-3].
Definition: mbs_modal_struct.h:35
MbsModalOptions::mode_ampl
double mode_ampl
amplification factor for the animation of the modes, application dependent [default = 0....
Definition: mbs_modal_struct.h:26
mbs_data.h
MbsModalOptions::save_result
int save_result
no = 0, yes = 1, flag to save the modal results summary [default = 1]
Definition: mbs_modal_struct.h:18
MbsLpk
Definition: mbs_linearipk_struct.h:19
MbsModalOptions::lpk_itermax
int lpk_itermax
See MbsLpk::itermax [default = 10].
Definition: mbs_modal_struct.h:33
MbsModalMode::q_phi
double * q_phi
Phase of the generalized position corresponding to the mode motion (computed from evec_r and evec_phi...
Definition: mbs_modal_struct.h:91
MbsModalOptions::save_eval
int save_eval
no = 0, yes = 1, flag to save the eigen values in two separate files: "_a" for Real part and "_b" for...
Definition: mbs_modal_struct.h:16
MbsModalOptions::compute_uxd
int compute_uxd
no = 0, yes = 1, flag to compute the modes associated with the extra constitutive differential equati...
Definition: mbs_modal_struct.h:27
MbsModalMode
Definition: mbs_modal_struct.h:74
MbsModalMode::nu_0
double nu_0
Undamped frequency [Hz].
Definition: mbs_modal_struct.h:82
MbsModal::lpk
MbsLpk * lpk
working structure to compute the linearized matrices (one by one)
Definition: mbs_modal_struct.h:105
MbsModalOptions::verbose
int verbose
Verbosity level propagated to other compatible module:
Definition: mbs_modal_struct.h:20
MbsModalOptions::norm_evec
int norm_evec
no = 0, yes = 1, flag to normalize the eigenvectors [default = 1]
Definition: mbs_modal_struct.h:29
MbsModal::options
MbsModalOptions * options
Definition: mbs_modal_struct.h:102
MbsModal::modeList
MbsModalMode ** modeList
List of model object.
Definition: mbs_modal_struct.h:129
MbsModalOptions::lpk_lintol
double lpk_lintol
See MbsLpk::lintol [default = 1e-3].
Definition: mbs_modal_struct.h:38
MbsModalOptions::anim_speed
int anim_speed
flag to decide whether the independent speeds have to be integrated while generating the animation fi...
Definition: mbs_modal_struct.h:41
mbs_linearipk_struct.h
MbsSS
The State-space representation starts at index 0.
Definition: mbs_statespace_struct.h:10
MbsModalMode::type
int type
1=unoscillating stable; 2=rigid; 3=unoscillating unstable; 4=oscillating damped; 5=oscillating undamp...
Definition: mbs_modal_struct.h:76
MbsModalMode::q_r
double * q_r
Norm of the generalized position corresponding to the mode motion (computed from evec_r and evec_phi)
Definition: mbs_modal_struct.h:90
MbsModalMode::nu
double nu
Frequency of the -damped- mode [Hz].
Definition: mbs_modal_struct.h:83
MbsModal
Definition: mbs_modal_struct.h:100
MbsModalOptions::save_anim
int save_anim
no = 0, yes = 1, flag to save and generate the animation for the modes [default = 0]
Definition: mbs_modal_struct.h:19
MbsModalMode::q_b
double * q_b
Img part of the generalized position corresponding to the mode motion (computed from q_phi)
Definition: mbs_modal_struct.h:86
MbsModalOptions::anim_t
double anim_t
time for the animation generation [default = 2]
Definition: mbs_modal_struct.h:43
MbsModalMode::q_a
double * q_a
Real part of the generalized position corresponding to the mode motion (computed from q_r)
Definition: mbs_modal_struct.h:85
MbsModalOptions::save_mat
int save_mat
no = 0, yes = 1, flag to save the linearized matrix A,Mr,Gr,Kr [default = 0]
Definition: mbs_modal_struct.h:15
MbsModalOptions::save_evec
int save_evec
no = 0, yes = 1, flag to save the eigen vector in two separate files: "_a" for Real part,...
Definition: mbs_modal_struct.h:17
MbsModal::q_saved
double * q_saved
copy of vector q before the modal process.
Definition: mbs_modal_struct.h:110
MbsModal::qd_saved
double * qd_saved
copy of vector qd before the modal process.
Definition: mbs_modal_struct.h:111
MbsModal::eval_a
double * eval_a
Result of the Eigenvalue problem: real part of the nx eigen values [nx].
Definition: mbs_modal_struct.h:119
MbsModalOptions::lpk_relincr
double lpk_relincr
See MbsLpk::relincr [default = 1e-2].
Definition: mbs_modal_struct.h:34
MbsModal::evec_b
double ** evec_b
Result of the Eigenvalue problem: img part of the eigen vectors (each column is a eigenvector) [nx X ...
Definition: mbs_modal_struct.h:123
MbsModalMode::evec_phi
double * evec_phi
Phase of the eigen vector associated to the mode [nx].
Definition: mbs_modal_struct.h:96
MbsModalMode::eval_b
double eval_b
Imaginary part of the mode eigenvalue.
Definition: mbs_modal_struct.h:79
MbsModal::nx
int nx
number of 1st order equations, nx = 2*nqu (+Nux)
Definition: mbs_modal_struct.h:117
MbsModalOptions::zeroEigenPrecision
double zeroEigenPrecision
Define the limit at which the eigen value will be considered as null [default = 1e-6].
Definition: mbs_modal_struct.h:30
MbsModal::Bvuc
double ** Bvuc
copy of the Bvuc matrix (index 1)
Definition: mbs_modal_struct.h:108
MbsModalMode::ux_b
double * ux_b
Img part of the extra ODE states corresponding to the mode motion (computed from ux_phi)
Definition: mbs_modal_struct.h:88
MbsModalOptions::compute_JS
int compute_JS
no = 0, yes = 1, flag to compute the non diagonal terms [default = 0] TO IMPLEMENT !
Definition: mbs_modal_struct.h:28
MbsModalOptions::lpk_equitol
double lpk_equitol
See MbsLpk::equitol [default = 1e-6].
Definition: mbs_modal_struct.h:37
MbsModal::Qq_saved
double * Qq_saved
copy of vector Qq before the modal process.
Definition: mbs_modal_struct.h:113
MbsModal::qdd_saved
double * qdd_saved
copy of vector qdd before the modal process.
Definition: mbs_modal_struct.h:112
MbsModalMode::ux_a
double * ux_a
Real part of the extra ODE states corresponding to the mode motion (computed from ux_r)
Definition: mbs_modal_struct.h:87
MbsModalMode::ksi
double ksi
Damping factor [%].
Definition: mbs_modal_struct.h:81
MbsModalMode::evec_r
double * evec_r
Norm of the eigen vector associated to the mode [nx].
Definition: mbs_modal_struct.h:95
MbsModalOptions::resfilename
char * resfilename
Basename of the results files, suffixes and extension added automatically.
Definition: mbs_modal_struct.h:54
MbsModalMode::ux_phi
double * ux_phi
Phase of the extra ODE states corresponding to the mode motion (computed from evec_r and evec_phi)
Definition: mbs_modal_struct.h:93
MbsModalOptions::save2file
int save2file
no = 0, yes = 1, flag to save any results or animations [default = 1]
Definition: mbs_modal_struct.h:14
MbsModal::nMode
int nMode
Number of modes (nx duplication)
Definition: mbs_modal_struct.h:128
MbsModalMode::eval_a
double eval_a
Real part of the mode eigenvalue.
Definition: mbs_modal_struct.h:78
MbsModal::aux
MbsAux * aux
Definition: mbs_modal_struct.h:103
MbsModal::evec_r
double ** evec_r
Result of the Eigenvalue problem: norm of the eigen vectors (each column is a eigenvector) [nx X nx].
Definition: mbs_modal_struct.h:124
MbsModalOptions::animpath
char * animpath
Path in which animation file is saved.
Definition: mbs_modal_struct.h:70
MbsModal::evec_phi
double ** evec_phi
Result of the Eigenvalue problem: phase of the eigen vectors (each column is a eigenvector) [nx X nx]...
Definition: mbs_modal_struct.h:125
MbsModal::ss
MbsSS * ss
working structure containing a state space representation (with the matrix A)
Definition: mbs_modal_struct.h:106
MbsModalMode::ux_r
double * ux_r
Norm of the extra ODE states corresponding to the mode motion (computed from evec_r and evec_phi)
Definition: mbs_modal_struct.h:92
mbs_statespace.h
MbsModalOptions::anim_dt
double anim_dt
delta t for the animation generation [default = 1e-2]
Definition: mbs_modal_struct.h:42