134 lines (108 with data), 5.7 kB
#include "../../libdef.any"
// This is a Wilke Spine Pressure Validation Model. To see the documentation click the link below.
// #path HTML_DOC "<ANYBODY_PATH_BODY>/Documentation/auto_examples/Validation/plot_WilkeSpinePressure.html"
Main = {
AnyDrawOverlayImage wilke =
{
Opacity = 1.0;
ImageFile = "wilke et al., 2001 Fig6b.jpg";
};
/**Execute this operation to run the model in the intended operation sequence.
It is also possible to run operations seperately, by manual selections in the operation tree*/
AnyOperationSequence RunApplication = {
/**This operation calibrates the muscles in the model if these are of the type AnyMuscleModel3E.
This will just be an empty operation if the model is using a muscle type that does not require calibration.*/
AnyOperation &CalibrationAnal = Main.HumanModel.Calibration.CalibrationSequence;
///This operation is the inverse dynamic analysis
AnyOperation &InvAnal=Main.Study.InverseDynamics;
};
/// Driver Positions - in degrees
AnyFolder DrvPos = {
AnyVar PelvisSeatLinXPos = 0.16; ///< Position of the pelvis on the seat
AnyVar SeatGlobalLinYPos = 0; ///< Seat Height
AnyVar SeatGlobalZRot = -0.0; ///< Forward seat inclination
AnyVar BackRestHeadResRotZPos = 0; ///< Rotation of the head rest wrt the back rest
AnyVar GlobalLegRestRotZPos = 0; ///< Inclination of the leg rest
AnyVar GlobalBackRestRotZPos = 21; ///< Back rest inclination
AnyVar LegRestFootRestLinYPos = 0.15; //< Position of the footrest along the leg rest
}; // DrvPos
/// Driver Velocities - angles are in degrees per second
AnyFolder DrvVel = {
AnyVar PelvisSeatLinXVel = 0; ///< Movement of the pelvis on the seat
AnyVar SeatGlobalLinYVel = 0; ///< Movement of the seat Height
AnyVar SeatGlobalZRotVel = 0; ///< Movement of seat inclination
AnyVar GlobalBackRestRotZVel = 0; ///< Back rest inclination velocity
AnyVar GlobalLegRestRotZVel = 0; ///< Leg rest inclination velocity
AnyVar LegRestFootRestLinYVel = 0; //< Movement of the footrest along the leg rest
}; // DrvVel
// --------------------------------------------------------
// Support settings
// --------------------------------------------------------
/// Settings for the support elements, friction coefficients and
/// strength of the support contact elements. If the strength
/// gets too low it means that the body will start using muscle
/// force to avoid laying too much
AnyFolder SupportSettings = {
//Friction coefficients between the human and the chair
AnyVar StaticFrictionSeat = 0.5;
AnyVar StaticFrictionBackrest = 0.5;
AnyVar StaticFrictionFootrest = 0.5;
AnyVar StaticFrictionArmrest = 0.2;
//Strenght of the support muscles between the human and the chair
AnyVar SeatSupportStrength=10000;
AnyVar BackrestSupportStrength=10000;
AnyVar FootrestSupportStrength=10000;
AnyVar ArmrestSupportStrength=10000;
};
// ----------------------------------------------------------
// Draw settings
// ----------------------------------------------------------
#include "DrawSettings.any"
// ----------------------------------------------------------
// Definition of the path for Mannequin.any file
// ----------------------------------------------------------
#include "Mannequin.any"
// ----------------------------------------------------------
// Definition of the path for anthropometric data
// ----------------------------------------------------------
#path BM_SCALING_ANTHRO_FILE "AnyManUniform.any"
// ----------------------------------------------------------
// Scaling method settings
// ----------------------------------------------------------
#define BM_SCALING _SCALING_UNIFORM_
// ----------------------------------------------------------
// BM statements which configure the structure of human model
// ----------------------------------------------------------
#define BM_LEG_MODEL _LEG_MODEL_TLEM2_
#include "<ANYBODY_PATH_BODY>/HumanModel.any"
// ------------------------------------------------------------
// Model
// ------------------------------------------------------------
/// This folder collects all the objects in the model.
AnyFolder Model = {
AnyFolder &BodyModel=.HumanModel.BodyModel;
AnyFolder& Mannequin = .HumanModel.Mannequin;
#include "Environment.any"
/// Objects connecting the human to the chair
AnyFolder ModelEnvironmentConnection = {
#include "ConnectionSegments.any"
#include "JointsAndDrivers.any"
AnyFolder &RefPM=Main.Model.EnvironmentModel;
#include "InitialPositionsEnvironment.any"
#include "Support.any"
}; // ModelEnvironmentConnection
}; // Model
// --------------------------------------------------------------
// Study
// --------------------------------------------------------------
AnyBodyStudy Study = {
AnyFolder &Model = .Model;
tEnd = 1;
Gravity = {0.0001, -9.81, 0.00001};
nStep = 1;
//Size of total force in the L5 Sacrum joint
AnyVar L5SacrumReac = (Main.Model.BodyModel.Trunk.JointsLumbar.L5SacrumJnt.Constraints.Reaction.Fout[0]^2+
Main.Model.BodyModel.Trunk.JointsLumbar.L5SacrumJnt.Constraints.Reaction.Fout[1]^2+
Main.Model.BodyModel.Trunk.JointsLumbar.L5SacrumJnt.Constraints.Reaction.Fout[2]^2)^0.5;
}; // Study
};// Main