--- a
+++ b/Application/Examples/BikeModel2D/BikeModel2D.main.any
@@ -0,0 +1,85 @@
+#include "../libdef.any"
+/**2-D bicyle model.
+Although this model can be rotated in 3-D space it really is just a saggital
+plane pedaling model with only a few muscles in each leg. The beauty of 
+pedaling is that it is one of the few cases of biomechanics that can be modeled
+reasonably on two dimensions only. 
+
+The 2-D legs are supplemented with models of the bike frame, crank, and
+wheels.
+
+You can do lots of interesting stuff with this model:
+- Investigate the influence of the bicycle design
+- Change riding parameters sich as cadence and output power
+- Separate internal work for acceleraton of body segments
+from external work on the crank.*/
+Main = {  
+
+  /// Various parameters for setting up the bicycle and the riding characteristics.
+  AnyFolder BikeParameters = {
+    
+    // Geometry parameters
+    AnyVar PedalArmLength =0.17;  //Length of pedal arm
+    AnyVar PedalArmWidth = 0.106; //Horizontal distance between left and right connecting point between foot and pedal
+    AnyVar SaddleHeight = 0.7 ;  //Height of hip joint measured vertically from the crank
+    AnyVar SaddlePos = -0.15;     //Horizontal pos of hipjoint measured from the crank
+    
+    // Loading parameters
+    AnyVar Cadence = 80.0;   //Cadence in RPM 
+    AnyVar MechOutput = 165; //Average Mechanical output over a cycle in Watt
+    
+    // The function for the crank moment is defined as Moment=Offset-Amp*cos(4*pi*t/T+Phase)
+    AnyVar T = 60/Cadence; //Cycle time
+    
+    AnyVar CrankMomentTopDeadCenter = 3.0; // This is the moment which can be applied by the rider in the top dead center point
+    AnyVar CrankMomentOffset = (MechOutput*T)/(2*pi); 
+    AnyVar CrankMomentAmp = CrankMomentOffset-CrankMomentTopDeadCenter;
+    AnyVar CrankMomentPhase = -15*pi/180;
+  };
+  
+  /// These are the attachment positions of the bike frames to the global 
+  /// reference frame
+  AnyFixedRefFrame GlobalRef = {
+    AnyRefNode Bike2DGround = { sRel = {0.0, 0.0, 0.0}; };
+    AnyRefNode Bike3DGround = { sRel = {0.0, 0.0, 0.0}; };
+  };  // Global reference frame  
+  
+  /// Body parameters that the leg model will need a reference to.
+  AnyFolder BodyParameters = {
+    AnyVar BodyMass = 75;
+    AnyVar Density = 1000;
+  }; //Bodyparameters
+  
+  #include "Model/DrawSettings.any"
+  #include "Model/Scaling.any"
+  
+  
+  
+  /// This folder is a place to assemble all the elements to include in the
+  /// study.
+  AnyFolder Model = {
+    
+    // Notice the '&'. It means that HumanFolder is just a pointer
+    AnyFolder &HumanFolder = Leg2D;  
+    #include "Model/Leg2D.any"
+    #include "Model/BikeFrameAndWheels.any"
+    #include "Model/BikeLegConnection.any"        
+    AnyRefNode& GroundNode = Main.GlobalRef.Bike2DGround;
+    #include "Model/BikeFrameGroundConnection.any"
+  };
+  
+  /// The study: Operations to be performed on the model
+  AnyBodyStudy Study = {
+    AnyFolder &Model = .Model;      
+    
+   
+    Gravity = {0.0, -9.81, 0.0};
+    tEnd = Main.BikeParameters.T;
+  };
+
+  // Include an operation sequence to run all required steps of your application (see Operations tab)
+    #include "Model\RunAppSequence.any"  
+        
+  
+}; // Main
+