|
Robotran C Documentation
|
Go to the documentation of this file.
10 #ifndef mbs_linearipk_h
11 #define mbs_linearipk_h
int mbs_Rred(MbsAux *mbs_aux, MbsData *s)
compute Rred, the reduced equations of motions on a residual form [nqu x 1] obtained after the 2 cons...
Definition: mbs_Rred.c:20
double * qd_saved
qd saved configuration
Definition: mbs_linearipk_struct.h:26
#define _MBS_ERR_MOD_SPEC_17
Generic error number Module specific errors range from -11 to -19 please read the error message a...
Definition: mbs_errors_names.h:198
int mbs_lineari_fct(double *x, double *Fx, MbsLpk *lpk, MbsAux *aux, MbsData *s, int EqChoice)
compute the Fx vector for a given vector x.
Definition: mbs_linearipk.c:269
double absincr_max
Maximum increment value of variables, set to 0.0 to disable it [default = 0.0].
Definition: mbs_linearipk_struct.h:52
double * qd
Array with the current values of the generalized velocities.
Definition: mbs_data.h:188
double * q_saved
q saved configuration (because lienaripk uses the mbs_data structure in the process)
Definition: mbs_linearipk_struct.h:25
MbsLpk * mbs_new_lpk(MbsData *s, int nx, int nF)
create a new lpk structure that is used to compute the linearized matrices Gr and Kr.
Definition: mbs_linearipk.c:344
double * F_star
force vector for the reference configuration.
Definition: mbs_linearipk_struct.h:40
double relincr
options for the lpk linearization [default = 1e-2]
Definition: mbs_linearipk_struct.h:50
int nqu
Number of independent articulations.
Definition: mbs_data.h:165
Definition: mbs_linearipk_struct.h:19
int n_diverge
Definition: mbs_linearipk_struct.h:22
double * get_dvec_0(int l_v)
create (with memory allocation) a vector (length l_v) of doubles, starting at index 0
Definition: mbs_1D_array.c:880
int njoint
Number of joints in the system.
Definition: mbs_data.h:162
#define _MBS_ERR_MID_UXD
Mid Level error number Related to uxd, i.e.
Definition: mbs_errors_names.h:82
double maxcomp
Definition: mbs_linearipk_struct.h:23
void free_dmat_0(double **mat)
release memory for a matrix of doubles, starting at index 0
Definition: mbs_matrix.c:293
MbsLpk * mbs_new_lpk(MbsData *s, int nx, int nF)
create a new lpk structure that is used to compute the linearized matrices Gr and Kr.
Definition: mbs_linearipk.c:344
int Nux
Number of user variable.
Definition: mbs_data.h:288
void user_Derivative(MbsData *mbs_data)
Definition: user_Derivative.c:15
#define _MBS_ERR_LOW_NAN
Low Level error number Number is NaN (not a number) = -7.
Definition: mbs_errors_names.h:142
double ** x_ptr
vector of pointers pointing to the linearized variables
Definition: mbs_linearipk_struct.h:34
double ** get_dmat_0(int nb_r, int nb_c)
create (with memory allocation) a [nb_r times nb_c] matrix of doubles, starting at index 0
Definition: mbs_matrix.c:238
int mbs_linearipk(double **GK, MbsLpk *lpk, MbsAux *aux, MbsData *s, int EqChoice)
compute the linearized damping matrix Gr or stiffness matrix Kr for a given configuration (q,...
Definition: mbs_linearipk.c:20
void mbs_delete_lpk(MbsLpk *lpk)
free memory of the lpk structure.
Definition: mbs_linearipk.c:393
double absincr
Minimum increment value of variables [default = 1e-3].
Definition: mbs_linearipk_struct.h:51
double ** GK_prem
Definition: mbs_linearipk_struct.h:44
int flag_safety_checks
Flag to activate safety checks everywhere in mbsysc core. Faster computation if this flag is put to 0...
Definition: mbs_data.h:307
void mbs_msg(char *msg,...)
Send a message.
Definition: mbs_message.c:76
double * F_mid
force vector for the middle configuration.
Definition: mbs_linearipk_struct.h:41
int itermax
options for the lpk linearization [default = 10]
Definition: mbs_linearipk_struct.h:49
double * Qq
Array with the values of the joint forces.
Definition: mbs_data.h:204
double * q
Array with the current values of the generalized coordinates.
Definition: mbs_data.h:187
subroutine, public increment(tbegin)
Increment time step and save the current configuration of all mbs.
Definition: mod_external_robotran.f90:203
double * x_mid
middle configuration (for parabolic fitting iteration)
Definition: mbs_linearipk_struct.h:37
int mbs_linearipk(double **GK, MbsLpk *lpk, MbsAux *aux, MbsData *s, int EqChoice)
compute the linearized damping matrix Gr or stiffness matrix Kr for a given configuration (q,...
Definition: mbs_linearipk.c:20
#define _MBS_ERR_MOD_SPEC_16
Generic error number Module specific errors range from -11 to -19 please read the error message a...
Definition: mbs_errors_names.h:192
double * x_star
reference configuration (for the modal analysis, typically an equilibrium configuration)
Definition: mbs_linearipk_struct.h:36
double * F_ext
force vector for the extreme configuration.
Definition: mbs_linearipk_struct.h:42
int * diverge_ind
Definition: mbs_linearipk_struct.h:21
double * x_ext
extreme configuration (for parabolic fitting iteration)
Definition: mbs_linearipk_struct.h:38
double * Qq_saved
Qq saved configuration.
Definition: mbs_linearipk_struct.h:28
double * qdd_saved
qdd saved configuration (because mbs_data-qdd is modified in the dirdynared call)
Definition: mbs_linearipk_struct.h:27
int * get_ivec_0(int l_v)
create (with memory allocation) a vector (length l_v) of integers, starting at index 0
Definition: mbs_1D_array.c:399
Definition: mbs_data.h:149
#define _MBS_ERR_MOD_SPEC_11
Mid Level error number Module specific errors range from -11 to -19 please read the error message...
Definition: mbs_errors_names.h:162
int verbose
Definition: mbs_linearipk_struct.h:47
double ** GK_comp
Definition: mbs_linearipk_struct.h:45
void mbs_delete_lpk(MbsLpk *lpk)
free memory of the lpk structure.
Definition: mbs_linearipk.c:393
double equitol
options for the lpk linearization [default = 1e-6]
Definition: mbs_linearipk_struct.h:53
static double sign(double a, double b)
Definition: dopri5.c:77
int mbs_lineari_fct(double *x, double *Fx, MbsLpk *lpk, MbsAux *aux, MbsData *s, int EqChoice)
compute the Fx vector for a given vector x.
Definition: mbs_linearipk.c:269
double * ux_saved
ux saved confguration
Definition: mbs_linearipk_struct.h:29
void copy_dvec_0(double *vec_src, double *vec_dest, int l_v)
Copy the content of a vector (of sizel_v) of doubles to a second vector, starting with index 0.
Definition: mbs_1D_array.c:906
double * uxd
Array with the values of the time derivatives of the user variables.
Definition: mbs_data.h:286
double lintol
options for the lpk linearization [default = 1e-3]
Definition: mbs_linearipk_struct.h:54
void user_equil_fxe(MbsData *mbs_data, double *f)
user own implementation of added equilibrium equations Fxe Necessary to express equilibrium f(x)=0
Definition: user_equil.c:65
#define MAX(a, b)
Definition: useful_functions.h:14
double * qdd
Array with the current values of the generalized acceleration.
Definition: mbs_data.h:189
int nF
nF=nqu or nF=nqu+nux (working variable)
Definition: mbs_linearipk_struct.h:32
double * ux
Array with the values of the user variables.
Definition: mbs_data.h:285
int nx
nx=nqu or nux (working variable)
Definition: mbs_linearipk_struct.h:31