Biomech-Sim-Toolbox 1
Toolbox for movement simulation and analysis
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
gait2dc.c File Reference

C source code for the MEX function gait2dc.mex32. More...

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "mex.h"
#include "gait2dc.h"

Classes

struct  muscleprop
 

Macros

#define ALMOSTZERO   1e-15
 
#define isnan(x)   ((x) != (x))
 
#define M_PI   3.1415926535897932384626433832795
 
#define MAXCONTACTS   20
 
#define MAXSECTIONS   10
 
#define MAXSTATES   2*NDOF+2*NMUS+4*MAXCONTACTS
 
#define NMUS   16
 
#define NNZ_DA_DQ   38
 
#define NNZ_DA_DQD   58
 
#define NNZ_DA_DQDD   86
 
#define VERBOSE   0
 

Functions

void ExtractParameters (double par[])
 
void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
 
double MuscleDynamics (muscleprop *m, double a, double Lce, double Lcedot, double Lm, double *df_da, double *df_dLce, double *df_dLcedot, double *df_dLm, double *force, double *dforce_dLm, double *dforce_dLce, double *forceCE, double *dforceCE_da, double *dforceCE_dLce, double *dforceCE_dLcedot, double *powerCE)
 
double MusclePath (muscleprop *m, double ang[NMOM], double dLm_dang[NMOM])
 
double Softpos (double x, double x0, double *dydx)
 

Variables

static double bodymass
 
static contactprop contacts [MAXCONTACTS]
 
static int initialized = 0
 
static muscleprop muscles [NMUS]
 
static int ncontacts = 0
 
static int nonzeromomentarms
 
static mwSize nstates = 0
 
static param_struct param
 
static double zeros [MAXSTATES]
 

Detailed Description

C source code for the MEX function gait2dc.mex32.

Author
Antonie J. (Ton) van den Bogert, Iris Kellermann, Eva Dorschky
Date
Mai 31, 2016

Implicit differential equation for 2D musculoskeletal model : f(x,dx/dt,u) = 0 with implicit contact formulation. This is the source code for the MEX function gait2cd.mex32 The musculoskeletal model is documented in the file gait2dc_reference.odt The function documentation is in gait2dc.m. The model includes an accelerometer model.

Macro Definition Documentation

◆ ALMOSTZERO

#define ALMOSTZERO   1e-15

◆ isnan

#define isnan (   x)    ((x) != (x))

◆ M_PI

#define M_PI   3.1415926535897932384626433832795

◆ MAXCONTACTS

#define MAXCONTACTS   20

◆ MAXSECTIONS

#define MAXSECTIONS   10

◆ MAXSTATES

#define MAXSTATES   2*NDOF+2*NMUS+4*MAXCONTACTS

◆ NMUS

#define NMUS   16

◆ NNZ_DA_DQ

#define NNZ_DA_DQ   38

◆ NNZ_DA_DQD

#define NNZ_DA_DQD   58

◆ NNZ_DA_DQDD

#define NNZ_DA_DQDD   86

◆ VERBOSE

#define VERBOSE   0

Function Documentation

◆ ExtractParameters()

void ExtractParameters ( double  par[])

◆ mexFunction()

void mexFunction ( int  nlhs,
mxArray *  plhs[],
int  nrhs,
const mxArray *  prhs[] 
)

◆ MuscleDynamics()

double MuscleDynamics ( muscleprop m,
double  a,
double  Lce,
double  Lcedot,
double  Lm,
double *  df_da,
double *  df_dLce,
double *  df_dLcedot,
double *  df_dLm,
double *  force,
double *  dforce_dLm,
double *  dforce_dLce,
double *  forceCE,
double *  dforceCE_da,
double *  dforceCE_dLce,
double *  dforceCE_dLcedot,
double *  powerCE 
)

◆ MusclePath()

double MusclePath ( muscleprop m,
double  ang[NMOM],
double  dLm_dang[NMOM] 
)

◆ Softpos()

double Softpos ( double  x,
double  x0,
double *  dydx 
)

Variable Documentation

◆ bodymass

double bodymass
static

◆ contacts

contactprop contacts[MAXCONTACTS]
static

◆ initialized

int initialized = 0
static

◆ muscles

muscleprop muscles[NMUS]
static

◆ ncontacts

int ncontacts = 0
static

◆ nonzeromomentarms

int nonzeromomentarms
static

◆ nstates

mwSize nstates = 0
static

◆ param

param_struct param
static

◆ zeros

double zeros[MAXSTATES]
static