// DO NOT EDIT THIS FILE // This file defines the default values when BM_SCALING is _SCALING_XYZ_ // // If you need to modify these values simply assign them with // different values in your application. // For example: // // Main.HumanModel.Anthropometrics = { // BodyHeight = 1.8; // // }; AnyVar BMI ??= BodyMass/(BodyHeight^2); ///Estimation from Frankenfield et al. (2001) valid for men AnyVar FatPercent ??= (-0.09 + 0.0149*BMI - 0.00009*BMI^2)*100; AnyVar BodyMass ??= DesignVar(75) ; AnyVar BodyHeight ??= DesignVar(175 /100); AnyFolder SegmentMasses = { //Segment masses in kg from Winter ("Biomechanics and motor control of human movement." David A. Winter) AnyVar Lumbar ??= 0.139*.BodyMass; // T12-L1 to L5-Sacrum AnyVar Thorax ??= 0.1894*.BodyMass; // C7-T1 to T12-L1 (modified from 0.216 winter to separate scapula) AnyVar Pelvis ??= 0.142*.BodyMass; AnyVar Head ??= 0.081*.BodyMass; // head and cervical AnyFolder Right = { AnyVar Shoulder ??= 0.0133*..BodyMass; //< Combined mass of shoulder muscles and scapula/clavicula bones. AnyVar UpperArm ??= 0.028*..BodyMass; AnyVar LowerArm ??= 0.016*..BodyMass; AnyVar Hand ??= 0.006*..BodyMass; AnyVar Thigh ??= 0.1*..BodyMass; AnyVar Shank ??= 0.0465*..BodyMass; AnyVar Talus ??= 0.2*0.0145*..BodyMass; //20% of total foot (from bone volume ratio) AnyVar Foot ??= 0.8*0.0145*..BodyMass; //80% of total foot (from bone volume ratio) }; AnyFolder Left = { AnyVar Shoulder ??= 0.0133*..BodyMass; AnyVar UpperArm ??= 0.028*..BodyMass; AnyVar LowerArm ??= 0.016*..BodyMass; AnyVar Hand ??= 0.006*..BodyMass; AnyVar Thigh ??= 0.1*..BodyMass; AnyVar Shank ??= 0.0465*..BodyMass; AnyVar Talus ??= 0.2*0.0145*..BodyMass; //20% of total foot (from bone volume ratio) AnyVar Foot ??= 0.8*0.0145*..BodyMass; //80% of total foot (from bone volume ratio) }; }; AnyFolder SegmentDimensions = { AnyVar PelvisWidth ??= DesignVar(0.168342*.SegmentScaleFactors.BodyScale); ///< distance between hip joints (0.16 for simple leg model) AnyVar PelvisHeight ??= DesignVar(0.1089694*.BodyHeight/1.75); AnyVar PelvisDepth ??= DesignVar(0.1230066*.SegmentScaleFactors.BodyScale); AnyVar HeadHeight ??= DesignVar(0.141256*.BodyHeight/1.75); ///< Height in neutral position from C1HatNode to top of head AnyVar HeadWidth ??= DesignVar(0.1797169*.SegmentScaleFactors.BodyScale); ///< Distance from the most lateral point to most medial point on the skull AnyVar HeadDepth ??= DesignVar(0.2295371*.SegmentScaleFactors.BodyScale); ///< Distance from the most anterior point on the skull to the most posterior point on the skull AnyVar TrunkHeight ??= DesignVar(0.606667*.BodyHeight/1.75); ///< Height in neutral position from C1HatNode to L5SacrumJnt AnyVar TrunkWidth ??= DesignVar(0.3875729*.SegmentScaleFactors.BodyScale); //< Width between shoulder joints AnyVar TrunkDepth ??= DesignVar(0.1867059*.SegmentScaleFactors.BodyScale); ///< Horizontal distance between (midpoint of LTptT8S3Via3NodeL and LTptT8S3Via3NodeR) and (midpoint of RACP_CO6ViaNodeR and RACP_CO6ViaNodeL) AnyVar NeckLength ??= DesignVar(0.14024*.BodyHeight/1.75); ///< Measured as vertical distance between C7 to C1HatNode on thorax segment // These two folders are used by the scaling laws AnyFolder Right ={ AnyVar ThighLength ??= DesignVar(0.4098364*..BodyHeight/1.75); AnyVar ShankLength ??= DesignVar(0.4210448*..BodyHeight/1.75); AnyVar FootLength ??= DesignVar(0.2571425*..SegmentScaleFactors.BodyScale); AnyVar FootHeight ??= DesignVar(0.13986 * ShankLength); AnyVar FootWidth ??= DesignVar(0.07388748*..SegmentScaleFactors.BodyScale); AnyVar UpperArmLength ??= DesignVar(0.340079*..BodyHeight/1.75); AnyVar LowerArmLength ??= DesignVar(0.2690167*..BodyHeight/1.75); AnyVar HandLength ??= DesignVar(0.182*..SegmentScaleFactors.BodyScale); AnyVar HandBreadth ??= DesignVar(0.085*..SegmentScaleFactors.BodyScale); }; AnyFolder Left ={ AnyVar ThighLength ??= DesignVar(0.4098364*..BodyHeight/1.75); AnyVar ShankLength ??= DesignVar(0.4210448*..BodyHeight/1.75); AnyVar FootLength ??= DesignVar(0.2571425*..SegmentScaleFactors.BodyScale); AnyVar FootHeight ??= DesignVar(0.13986 * ShankLength); AnyVar FootWidth ??= DesignVar(0.07388748*..SegmentScaleFactors.BodyScale); AnyVar UpperArmLength ??= DesignVar(0.340079*..BodyHeight/1.75); AnyVar LowerArmLength ??= DesignVar(0.2690167*..BodyHeight/1.75); AnyVar HandLength ??= DesignVar(0.182*..SegmentScaleFactors.BodyScale); AnyVar HandBreadth ??= DesignVar(0.085*..SegmentScaleFactors.BodyScale); }; }; AnyFolder SegmentScaleFactors = { /// Estimated overall scaling of the entire body. /// Calculated weighing the length scale factors. /// This factor is used for scaling certain body dimension /// if they are not given explicitly by the user. AnyVar BodyScale = Head.LengthScale*0.07552441 + Neck.LengthScale*0.0711439 + Thorax.LengthScale*0.1657206 + Lumbar.LengthScale*0.0851843 + Pelvis.LengthScale*0.0584573 + max({Right.Thigh.LengthScale*0.221090, Left.Thigh.LengthScale*0.221090}) + max({Right.Shank.LengthScale*0.227137,Left.Shank.LengthScale*0.227137}) + max({Right.Foot.DepthScale*0.037835, Left.Foot.DepthScale*0.037835}); AnyFolder Pelvis = { AnyFloat LengthScale ??= ..SegmentDimensions.PelvisHeight / ...Scaling.StandardParameters.Pelvis.Height; AnyFloat DepthScale ??= ..SegmentDimensions.PelvisDepth / ...Scaling.StandardParameters.Pelvis.Depth; AnyFloat WidthScale ??= ..SegmentDimensions.PelvisWidth / ...Scaling.StandardParameters.Pelvis.Width; }; AnyFolder Thorax = { AnyFloat LengthScale ??= ..SegmentDimensions.TrunkHeight / ...Scaling.StandardParameters.Trunk.Height; AnyFloat DepthScale ??= ..SegmentDimensions.TrunkDepth / ...Scaling.StandardParameters.Trunk.Depth; AnyFloat WidthScale ??= ..SegmentDimensions.TrunkWidth / ...Scaling.StandardParameters.Trunk.Width; }; AnyFolder Head = { AnyFloat LengthScale ??= ..SegmentDimensions.HeadHeight / ...Scaling.StandardParameters.Head.Height; AnyFloat DepthScale ??= ..SegmentDimensions.HeadDepth / ...Scaling.StandardParameters.Head.Depth; AnyFloat WidthScale ??= ..SegmentDimensions.HeadWidth / ...Scaling.StandardParameters.Head.Width; }; AnyFolder Neck = { AnyFloat LengthScale ??= ..SegmentDimensions.NeckLength/ ...Scaling.StandardParameters.Neck.Length; AnyFloat DepthScale ??= ..SegmentDimensions.TrunkDepth / ...Scaling.StandardParameters.Trunk.Depth; AnyFloat WidthScale ??= ..SegmentDimensions.TrunkWidth / ...Scaling.StandardParameters.Trunk.Width; }; AnyFolder Lumbar = { AnyFloat LengthScale ??= ..SegmentDimensions.TrunkHeight / ...Scaling.StandardParameters.Trunk.Height; AnyFloat DepthScale ??= ..SegmentDimensions.TrunkDepth / ...Scaling.StandardParameters.Trunk.Depth; AnyFloat WidthScale ??= ..SegmentDimensions.TrunkWidth / ...Scaling.StandardParameters.Trunk.Width; }; AnyFolder Right = { AnyFolder Clavicula = { AnyFloat LengthScale ??= ..Thorax.WidthScale; AnyFloat DepthScale ??= ..Thorax.DepthScale; AnyFloat WidthScale ??= ..Thorax.LengthScale; }; AnyFolder Scapula = { AnyFloat LengthScale ??= ..Thorax.LengthScale; AnyFloat DepthScale ??= ..Thorax.DepthScale; AnyFloat WidthScale ??= ..Thorax.WidthScale; }; AnyFolder Humerus = { AnyFloat LengthScale ??= ...SegmentDimensions.Right.UpperArmLength / ....Scaling.StandardParameters.Humerus.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Radius = { AnyFloat LengthScale ??= ...SegmentDimensions.Right.LowerArmLength / ....Scaling.StandardParameters.Radius.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Ulna = { AnyFloat LengthScale ??= ...SegmentDimensions.Right.LowerArmLength / ....Scaling.StandardParameters.Ulna.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Hand = { AnyFloat LengthScale ??= ...SegmentDimensions.Right.HandLength / ....Scaling.StandardParameters.Hand.HandLength; AnyFloat DepthScale ??= ...SegmentDimensions.Right.HandBreadth / ....Scaling.StandardParameters.Hand.HandBreadth; AnyFloat WidthScale ??= ...SegmentDimensions.Right.HandBreadth / ....Scaling.StandardParameters.Hand.HandBreadth; }; AnyFolder Foot = { AnyFloat LengthScale ??= ...SegmentDimensions.Right.FootLength / ....Scaling.StandardParameters.Right.Foot.Length; AnyFloat DepthScale ??= ...SegmentDimensions.Right.FootHeight / ....Scaling.StandardParameters.Right.Foot.Height; AnyFloat WidthScale ??= ...SegmentDimensions.Right.FootWidth / ....Scaling.StandardParameters.Right.Foot.Width; }; AnyFolder Shank = { AnyFloat LengthScale ??= ...SegmentDimensions.Right.ShankLength / ....Scaling.StandardParameters.Right.Shank.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Thigh = { AnyFloat LengthScale ??= ...SegmentDimensions.Right.ThighLength / ....Scaling.StandardParameters.Right.Thigh.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; }; AnyFolder Left = { AnyFolder Clavicula = { AnyFloat LengthScale ??= ..Thorax.WidthScale; AnyFloat DepthScale ??= ..Thorax.DepthScale; AnyFloat WidthScale ??= ..Thorax.LengthScale; }; AnyFolder Scapula = { AnyFloat LengthScale ??= ..Thorax.LengthScale; AnyFloat DepthScale ??= ..Thorax.DepthScale; AnyFloat WidthScale ??= ..Thorax.WidthScale; }; AnyFolder Humerus = { AnyFloat LengthScale ??= ...SegmentDimensions.Left.UpperArmLength / ....Scaling.StandardParameters.Humerus.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Radius = { AnyFloat LengthScale ??= ...SegmentDimensions.Left.LowerArmLength / ....Scaling.StandardParameters.Radius.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Ulna = { AnyFloat LengthScale ??= ...SegmentDimensions.Left.LowerArmLength / ....Scaling.StandardParameters.Ulna.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Hand = { AnyFloat LengthScale ??= ...SegmentDimensions.Left.HandLength / ....Scaling.StandardParameters.Hand.HandLength; AnyFloat DepthScale ??= ...SegmentDimensions.Left.HandBreadth / ....Scaling.StandardParameters.Hand.HandBreadth; AnyFloat WidthScale ??= ...SegmentDimensions.Left.HandBreadth / ....Scaling.StandardParameters.Hand.HandBreadth; }; AnyFolder Foot = { AnyFloat LengthScale ??= ...SegmentDimensions.Left.FootLength / ....Scaling.StandardParameters.Left.Foot.Length; AnyFloat DepthScale ??= ...SegmentDimensions.Left.FootHeight / ....Scaling.StandardParameters.Left.Foot.Height; AnyFloat WidthScale ??= ...SegmentDimensions.Left.FootWidth / ....Scaling.StandardParameters.Left.Foot.Width; }; AnyFolder Shank = { AnyFloat LengthScale ??= ...SegmentDimensions.Left.ShankLength / ....Scaling.StandardParameters.Left.Shank.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; AnyFolder Thigh = { AnyFloat LengthScale ??= ...SegmentDimensions.Left.ThighLength / ....Scaling.StandardParameters.Left.Thigh.Length; AnyFloat DepthScale ??= ..BodyScale; AnyFloat WidthScale ??= ..BodyScale; }; }; };