User:Ujjavalverma10

From ASCEND
Jump to navigation Jump to search

A simple model for FRUSTUM OF A CONE

I am new to the ASCEND language and intend to contribute something to the community through GSOC2011. I wrote a sample model for Frustum Of A Cone


REQUIRE "system.a4l";
MODEL frustrum_of_cone;

    (* variables *)
    R,
    h,
    r,
    l,
    metal_density,
    curved_area,
    total_area,
    vol,
    metal_mass      IS_A solver_var;
    (* specifications *)
    R              = 30.0;
    r		   = 10.0;
    h              = 50.0;
    metal_density  = 9.60;
    
    (* equations *)
    l = sqrt(h^2 + (R-r)^2);
    vol = 3.1416*h*(R^2 + r^2 + r*R)/3;
    curved_area = 3.1416*l*(R+r);
    total_area = 3.1416*(R^2 + r^2) + curved_area;
    metal_mass = metal_density*vol;
    
METHODS

   METHOD specify;
      FIX R;
      FIX r;
      FIX h;
      FIX metal_density;
   END specify;

   METHOD values;
      R              := 30.0 ;
      r		     := 10.0;
      h              := 50.0;
      metal_density  := 9.60 ;

   END values;

   METHOD setup;
      RUN specify;
      RUN values;
   END setup;
    
END frustrum_of_cone;

This MODEL is quite straight forward to write. ASCEND uses strong typing; it requires one to declare explicitly the type of each variable using IS_A statements.