--- a
+++ b/Body/AAUHuman/Trunk/TrunkModel.root.any
@@ -0,0 +1,231 @@
+/** A detailed model of the human lumbar spine.
+
+Trunk.root.any is the root file for the lumbar spine model with muscles.
+
+You can read more about this lumbar spine model and some prelimary validation in the following article:
+de Zee, M., L. Hansen, C. Wong, J. Rasmussen, and E.B. Simonsen. A generic detailed rigid-body
+lumbar spine model. J.Biomech. 40: 1219-1227, 2007.
+
+Data of vertebrae dimensions is taken from Nissan and Gilad (J.Biomech. 19: 753-758, 1986)
+and also the WholeBodyParameters.
+
+Some important facts about this model
+- The model is only partly evaluated. More validation is needed for your own purpose.
+- The model does not include facet joints.
+- The muscles do not include the force-length-velocity relations (i.e. we use the socalled simple muscle model).
+  The only input parameter in the muscle model is the cross-sectional area multiplied by a factor. Daggfeldt and
+  Thorstensson (J.Biomech. 2003, 36: 815-825) didn't include the force-length-velocity relations either.
+- Ligaments are not included in this model, because we do not have the necessary mechanical properties. This
+  is however not a problem, because it has been shown that the torque production from ligaments might not be very important
+  (Cholewicki and McGill, J.Biomech. 1992, 25: 17-28).
+  
+The model contains a preliminary model of the Intra Abdominal pressure (IAP). In short the IAP is modelled as constant volume,
+which, when squeezed from the side by the transversus muscles extends the spine by pushing on the rib thorax
+and the pelvic floor. From the mathematical point-ofview,this lets the abdominal muscles function as spine
+extensors, and they become part of the whole recruitment problem. The limit of the IAP was set to
+26600 Pa, which was based on measurements on well-trained subjects (Essendrop, M., 2003. Significance of intra-abdominal pressure in work
+related trunk-loading. Ph.D. Thesis, National Institute of Occupational Health, Denmark.) and using geometric/anatomic estimates of pressure surface
+area and area centroids, which in turn determines the effective moment arm of the pressure.
+
+This root file contains the following include files:
+
+"Buckle.any"   this is the main file for simulating the abdominal pressure
+"SegmentsLumbar.any" this the segments for the lumbar part of the spine
+"SegmentsThorax.any" this is the segment for thoracic part of the spine 
+"JointsLumbar.any" this file contains the joint definitions
+"MuscleSpineLeft.any" this is the file which collects the muscles for the left side of the spine
+"MuscleSpineRight.any" this is the file which collects the muscles for the right side of the spine
+
+"MuscleParametersSpineSimpleLeft.any" the muscle strength parameters for the left side of the spine
+"MuscleParametersSpineSimpleRight.any" the muscle strength parameters for the right side of the spine
+
+*/
+AnyFolder &PsoasMajorRightRef=PsoasMajorRightReference;
+AnyFolder &PsoasMajorLeftRef=PsoasMajorLeftReference;
+
+
+/* Data section */
+
+#ifndef BM_TRUNK_DATASET
+  // default dataset
+  #define BM_TRUNK_DATASET "TrunkData1.1"
+#endif
+
+#ifndef BM_TRUNK_DATASET_PATH
+  #path BM_TRUNK_DATASET_PATH "../Trunk/"+BM_TRUNK_DATASET
+#endif
+
+AnyFolder ModelParameters = {
+  #include "<BM_TRUNK_DATASET_PATH>/ModelParameters.any"
+};
+AnyFolder STL = {
+  #include "<BM_TRUNK_DATASET_PATH>/STL/STL.any"
+};
+
+//AnyFolder DumpingData = {
+//  AnyFolder Lumbar = {
+//    #include "<BM_TRUNK_DATASET_PATH>/DumpLumbarNodes.any"
+//  };
+//  AnyFolder Thorax = {
+//    #include "<BM_TRUNK_DATASET_PATH>/DumpThoracicNodes.any"
+//  };
+//  AnyFolder CervicalSpine = {
+//    #include "<BM_TRUNK_DATASET_PATH>/DumpCervicalSpineNodes.any"
+//  };
+//};
+
+
+/* Segment & node construction section */
+
+
+// Including all spinal segments
+#include "SegmentsLumbar.any"
+#include "SegmentsCervicalSpine.any"
+
+
+// Thorax can be either rigid or deformable with more segments
+
+AnyFolder  SegmentsRibCage = {};
+
+
+
+#include "SegmentsThorax.any"  
+
+SegmentsRibCage = {
+  AnyFolder &SternumSeg = .SegmentsThorax.ThoraxSeg;
+  AnyFolder &SternalBodySeg = .SegmentsThorax.ThoraxSeg;
+  AnyFolder RibsRight = {};
+  AnyFolder RibsLeft = {};
+};
+
+
+// nodes for muscle attachments
+#include "NodesSegmentsThoraxIndividual.any"
+#include "NodesForThoracicMuscles.any"
+#include "RibCageMuscleNodes.any"
+
+// nodes for interaction with environment 
+#include "ContactPoints.any"
+
+/* Joint muscle section */
+AnyFolder JointMuscles = {};
+
+#if BM_TRUNK_CERVICAL_MUSCLES == OFF
+  #include "JointMusclesCervical.any" //Adds muscles to the joints in the cervical spine
+#endif
+
+//#if BM_TRUNK_THORACIC_MUSCLES == OFF
+//  //#include "JointMusclesThoracic.any" //Adds muscles to the joints in the cervical spine  // PLACEHOLDER
+//#endif
+
+#if BM_TRUNK_LUMBAR_MUSCLES == OFF
+  // if no muscles are defined at all - we will use the leg muscles for PsoasMajor
+  #include "JointMusclesLumbar.any"     //Adds muscles to the joints in the lumbar spine
+#endif
+
+
+/* Section for kinematic constraints & stiffnesses */
+
+#include "JointsLumbar.any"
+#include "JointsCervical.any"
+
+/* Muscle definition section */
+
+// switch cervical muscles on if flags provided
+#if BM_TRUNK_CERVICAL_MUSCLES != OFF
+  #include "MusclesCervicalSpineRight.any"
+  #include "MusclesCervicalSpineLeft.any"
+  #include "MuscleParametersCervicalSpineSimpleRight.any"
+  #include "MuscleParametersCervicalSpineSimpleLeft.any"
+#endif
+
+
+#if BM_TRUNK_THORACIC_FUTURE
+  #include "MuscleParametersRibCage.any"
+  #include "MusclesRibCage.any"
+ // PLACEHOLDER FOR THE THORAX
+#endif
+
+
+AnyFolder MusclesSpineRight = {};
+AnyFolder MusclesSpineLeft= {};
+
+// switch lumbar muscles on if flags provided (NEEDS A REVISIT WHEN THORAX IS ADDED)
+#if BM_TRUNK_LUMBAR_MUSCLES != OFF
+  #include "Buckle.any"
+  #include "RectusAbdominis.any"
+  #include "Transversus.any"
+  
+
+  #include "MusclesSpineRight.any"
+  #include "MusclesSpineLeft.any"
+  #include "Spinalis.any"
+
+  #include "MuscleParametersSpineSimpleRight.any"
+  #include "MuscleParametersSpineSimpleLeft.any"     
+#endif
+
+
+/* Soft tissue section */
+
+#if BM_TRUNK_LUMBAR_LIGAMENTS == ON
+   #include "LumbarLigamentNodes.any"
+   #include "LigamentsLumbar.any"
+#endif
+
+//#if BM_TRUNK_THORACIC_LIGAMENTS == ON
+//   // PLACEHOLDER FOR THE THORACIC SPINE LIGAMENTS
+//#endif
+
+// #if BM_TRUNK_CERVICAL_LIGAMENTS == ON
+//    // PLACEHOLDER FOR THE CERVICAL SPINE LIGAMENTS
+// #endif
+
+/* Other sections */
+
+
+//Summation of masses in the spine
+AnyFolder MassSummation=
+{
+    AnyVar Mass=.SegmentsCervicalSpine.SkullSeg.Mass+
+              .SegmentsThorax.ThoraxSeg.Mass+
+              .SegmentsLumbar.L1Seg.Mass+
+              .SegmentsLumbar.L2Seg.Mass+
+              .SegmentsLumbar.L3Seg.Mass+
+              .SegmentsLumbar.L4Seg.Mass+
+              .SegmentsLumbar.L5Seg.Mass+
+              .SegmentsLumbar.SacrumSeg.Mass+
+              .SegmentsLumbar.PelvisSeg.Mass+
+              .SegmentsCervicalSpine.C1Seg.Mass+
+              .SegmentsCervicalSpine.C2Seg.Mass+
+              .SegmentsCervicalSpine.C3Seg.Mass+
+              .SegmentsCervicalSpine.C4Seg.Mass+
+              .SegmentsCervicalSpine.C5Seg.Mass+
+              .SegmentsCervicalSpine.C6Seg.Mass+
+              .SegmentsCervicalSpine.C7Seg.Mass
+              #if BM_TRUNK_LUMBAR_MUSCLES != OFF
+              +
+              .Buckle.Segments.BuckleSeg.Mass+
+              .Buckle.Slider1.Seg.Mass+ 
+              .Buckle.Slider2.Seg.Mass+
+              .Buckle.Slider3.Seg.Mass+ 
+              .Buckle.Slider4.Seg.Mass+ 
+              .Buckle.Slider5.Seg.Mass
+              #endif              
+              ;
+};
+
+InterfaceFolder=
+{
+  #include "Interface.any"
+};
+
+#ifdef DONT_USE_INITIAL_POSITION_FROM_MANNEQUIN
+#else
+#include "InitialPositions.any"
+#endif
+
+
+MannequinValuesFolder ={
+  #include "MannequinValuesFromModel.any"
+};