--- a +++ b/Application/Examples/SeatedHuman/SeatedHuman.main.any @@ -0,0 +1,92 @@ +#include "../libdef.any" + +/** The Seated Human is a family of models resulting from a +research project involving the furniture industry. This +model is a human sitting in a generic chair where the seat, +backrest, arm rests, foot rest and head rest can be adjusted +and their influence on the forces in the human body can be +investigated. +Notice that the contact conditions are conditional with +respect to the distance between the body and the surface +in question so that they are only active when the contact +pair is close to each other. +The contact between the human body and the chair is by means +of contact elements that can only provide compression and +friction but no tension. The available friction is proportional +to the normal force and the user can supply a friction +coefficient for each surface such that the effect of different +surface fabrics can be investigated.*/ +Main = { + // ---------------------------------------------------------- + // Model parameters: Driver position and support settings + // ---------------------------------------------------------- + #include "Model/InputParameters.any" + + // ---------------------------------------------------------- + // Path to draw settings + // ---------------------------------------------------------- + #include "Model/DrawSettings.any" + + // ---------------------------------------------------------- + // Body Model Configuration + // ---------------------------------------------------------- + #include "Model/BodyModelConfiguration.any" + + // The Mannequin file specifies load-time positions for all the segments + // in the HumanModel. This is important for the model's ablity to resolve + // all the kinematic constraints when the model is analyzed. + // The mannequin file also drives those degrees of freedom of the human + // model that are not governed by problem-specific drivers at run time. + #include "Model/Mannequin.any" + + // Model of the human body to be used for the analysis + #include "<ANYBODY_PATH_BODY>/HumanModel.any" +// HumanModel.BodyModel.Left.Leg.Seg.Thigh.AnatomicalFrame={//.FootFootRestJntNode={ +// AnyDrawRefFrame a={ScaleXYZ={1,1,1}*0.5;RGB={1,0,0};}; +// }; + /// The actual model where all components are assembled + AnyFolder Model ={ + /// Body model without default drivers + AnyFolder &BodyModel=.HumanModel.BodyModel; + /// Reference to the mannequin folder (used by drivers) + AnyFolder &Mannequin =.HumanModel.Mannequin; + + #include "Model/Environment.any" + + /// Objects connecting the human to the chair + AnyFolder ModelEnvironmentConnection = { + + #include "Model/ConnectionSegments.any" + #include "Model/JointsAndDrivers.any" + + AnyFolder &RefPM=Main.Model.EnvironmentModel; + #include "Model/InitialPositionsEnvironment.any" + #include "Model/Support.any" + }; // ModelEnvironmentConnection + }; // Model + + // -------------------------------------------------------------- + // Study + // -------------------------------------------------------------- + AnyBodyStudy Study = { + AnyFolder &Model = .Model; + + tEnd = 1; + Gravity = {0.0, -9.81, 0.0}; + nStep = 5; + + //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; + + // Include functions to generate a video: + // -> Run `Study.VideoTool.Preview` to preview the camera view. + // -> Run `Study.VideoTool.Create_Video` to generate video from the analysis. + #include "Model/CreateVideo.any" + }; // Study + + // Include an operation sequence to run all required steps of your application (see Operations tab) + #include "<ANYBODY_PATH_MODELUTILS>\Operations\RunAppSequence.any" + +};// Main