<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ascend4.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arjun</id>
	<title>ASCEND - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://ascend4.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arjun"/>
	<link rel="alternate" type="text/html" href="https://ascend4.org/Special:Contributions/Arjun"/>
	<updated>2026-04-28T23:02:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Arjun&amp;diff=3557</id>
		<title>User:Arjun</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Arjun&amp;diff=3557"/>
		<updated>2012-04-14T20:48:38Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student of Institute of Technology, Banaras Hindu University, Varanasi, India.&lt;br /&gt;
I am currently pursuing major in Computer Science &amp;amp; Engineering.&lt;br /&gt;
I am currently working on project GUI Improvements in Ascend.&lt;br /&gt;
I have made necessary modifications in IPOPT solver Package to make it work on Ubuntu 11.10. &lt;br /&gt;
My Skill Set:- C, C++, Tcl/Tk, Python.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
== Bugs: ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bugs reported by me are {{bug|534}}, {{bug|535}}, {{bug|536}}.&lt;br /&gt;
Bug resolved by me(it was also resolved by shawn) {{bug|533}} with its diff files https://github.com/arjun109/recent_files_patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
== Projectile Model ==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a model which solves the Projectile Motion of a particle.&lt;br /&gt;
&lt;br /&gt;
The model calculates the various parameters of the projectile motion namely:&lt;br /&gt;
Range,&lt;br /&gt;
Time of Flight, &lt;br /&gt;
Instant Horizontal and Vertical distance at given instant time.&lt;br /&gt;
&lt;br /&gt;
I also did the parametrisation of the model by creating the various instances of the Projectile and compared &lt;br /&gt;
theta(angle with the horizontal plane of projectile at starting time) and speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
The model could easily be changed to compare various other parameters of the Projection such as:&lt;br /&gt;
Difference in the initial Plane &amp;amp; Final Plane vs Range.&lt;br /&gt;
Range  vs speed(magnitude with which the projectile was projected).&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  ;&lt;br /&gt;
	(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist  &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	instant_ver_dist IS_A displacement ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
        magn_speed , horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		IS_A angle ;&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed =  magn_speed * sin(theta) ;&lt;br /&gt;
&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist = ( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 {rad};&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Its parameterized version code is as follows &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;ProjectileTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  (&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		WILL_BE angle ;&lt;br /&gt;
	magn_speed  &amp;quot;the initial overall magnitude of speed&amp;quot;&lt;br /&gt;
 		WILL_BE speed ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist , instant_ver_dist &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
     &lt;br /&gt;
	horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the projectile motion &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed = magn_speed * sin(theta) ;&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist =( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 ;&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile 		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Projectile_values;&lt;br /&gt;
    	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Projectiles to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	theta[1..n_entries] &amp;quot;set of angle for the Projectiles&amp;quot;&lt;br /&gt;
	    IS_A angle;&lt;br /&gt;
	&lt;br /&gt;
        magn_speed[1..n_entries] &amp;quot;initial magnitude of speed of various Projectiles&amp;quot;&lt;br /&gt;
	    IS_A speed;&lt;br /&gt;
&lt;br /&gt;
	initial_height	&amp;quot;the initial height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	p[i] &amp;quot;the i-th Projectile model&amp;quot;&lt;br /&gt;
	    IS_A Projectile(theta[i],magn_speed[i] ,&lt;br /&gt;
	initial_height,final_height);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN p[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Projectile models having theta )&lt;br /&gt;
	ranging from 0.1 to 1}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	initial_height := 25 {m};&lt;br /&gt;
	final_height   := 5 {m};&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		theta[i] := i/10.0;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Projectile_values;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Projectile to&lt;br /&gt;
	   compute a range of magnitude of speed for different range of theta.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screenshot Of the model on my system:&lt;br /&gt;
[[File:incidence1.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
== Bohr Model of an Atom ==&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have developed a Bohr model of an atom which calculates the following properties of an electron in nth orbit:.&lt;br /&gt;
&lt;br /&gt;
Kinetic Energy/ Potential Energy of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Velocity of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Quantum of energy to be supplied/released when transition of an electron occurs from energy levels.&lt;br /&gt;
&lt;br /&gt;
Determining the radiation which enables the effective transition.&lt;br /&gt;
&lt;br /&gt;
The model could be enhanced to compare various parameters between the different parameters at the nth orbit.&lt;br /&gt;
&lt;br /&gt;
The code for the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr  ;&lt;br /&gt;
		(* variables *)&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		IS_A positive_variable ;&lt;br /&gt;
	n1,n2   &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		IS_A positive_variable ;	&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
 		&lt;br /&gt;
&lt;br /&gt;
		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code for the Parameterized version of the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;BohrTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr(&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n1      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n2      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the Bohr Model of an atom &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Bohr_values;&lt;br /&gt;
  	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Bohr atoms to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	Z[1..n_entries] &amp;quot;set of atomic numbers for the Bohr model of an atom&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
        n[1..n_entries] &amp;quot;nth orbit in which electron is present&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
	n1	&amp;quot;the initial orbit in which electron was present&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
	n2	&amp;quot;the final orbit in which electron transition occured&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	b[i] IS_A Bohr(Z[i],n[i],n1,n2);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN b[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Bohr models models having n &lt;br /&gt;
	ranging from 1 to 10}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	n1 := 2 ;&lt;br /&gt;
	n2 := 4 ;&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		n[i] := i ;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Bohr_values ;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Bohr Model of an atom to&lt;br /&gt;
	   compute a range of various parameters for different orbits of an atom.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Screenshot for the model running on my system are as follows:&lt;br /&gt;
[[File:incidence2.png]].&lt;br /&gt;
[[File:incidence3.png]].&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Arjun&amp;diff=3556</id>
		<title>User:Arjun</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Arjun&amp;diff=3556"/>
		<updated>2012-04-14T20:46:33Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student of Institute of Technology, Banaras Hindu University, Varanasi, India.&lt;br /&gt;
I am currently pursuing major in Computer Science &amp;amp; Engineering.&lt;br /&gt;
I am currently working on project GUI Improvements in Ascend.&lt;br /&gt;
I have made necessary modifications in IPOPT solver Package to make it work on Ubuntu 11.10. &lt;br /&gt;
My Skill Set:- C, C++, Tcl/Tk, Python.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
== Bugs: ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bugs reported by me are {{bug|534}}, {{bug|535}}, {{bug|536}}.&lt;br /&gt;
Bug resolved by me(it was also resolved by shawn) {{bug|533}} with its diff files https://github.com/arjun109/recent_files_patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projectile Model&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a model which solves the Projectile Motion of a particle.&lt;br /&gt;
&lt;br /&gt;
The model calculates the various parameters of the projectile motion namely:&lt;br /&gt;
Range,&lt;br /&gt;
Time of Flight, &lt;br /&gt;
Instant Horizontal and Vertical distance at given instant time.&lt;br /&gt;
&lt;br /&gt;
I also did the parametrisation of the model by creating the various instances of the Projectile and compared &lt;br /&gt;
theta(angle with the horizontal plane of projectile at starting time) and speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
The model could easily be changed to compare various other parameters of the Projection such as:&lt;br /&gt;
Difference in the initial Plane &amp;amp; Final Plane vs Range.&lt;br /&gt;
Range  vs speed(magnitude with which the projectile was projected).&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  ;&lt;br /&gt;
	(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist  &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	instant_ver_dist IS_A displacement ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
        magn_speed , horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		IS_A angle ;&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed =  magn_speed * sin(theta) ;&lt;br /&gt;
&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist = ( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 {rad};&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Its parameterized version code is as follows &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;ProjectileTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  (&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		WILL_BE angle ;&lt;br /&gt;
	magn_speed  &amp;quot;the initial overall magnitude of speed&amp;quot;&lt;br /&gt;
 		WILL_BE speed ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist , instant_ver_dist &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
     &lt;br /&gt;
	horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the projectile motion &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed = magn_speed * sin(theta) ;&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist =( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 ;&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile 		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Projectile_values;&lt;br /&gt;
    	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Projectiles to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	theta[1..n_entries] &amp;quot;set of angle for the Projectiles&amp;quot;&lt;br /&gt;
	    IS_A angle;&lt;br /&gt;
	&lt;br /&gt;
        magn_speed[1..n_entries] &amp;quot;initial magnitude of speed of various Projectiles&amp;quot;&lt;br /&gt;
	    IS_A speed;&lt;br /&gt;
&lt;br /&gt;
	initial_height	&amp;quot;the initial height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	p[i] &amp;quot;the i-th Projectile model&amp;quot;&lt;br /&gt;
	    IS_A Projectile(theta[i],magn_speed[i] ,&lt;br /&gt;
	initial_height,final_height);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN p[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Projectile models having theta )&lt;br /&gt;
	ranging from 0.1 to 1}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	initial_height := 25 {m};&lt;br /&gt;
	final_height   := 5 {m};&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		theta[i] := i/10.0;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Projectile_values;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Projectile to&lt;br /&gt;
	   compute a range of magnitude of speed for different range of theta.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screenshot Of the model on my system:&lt;br /&gt;
[[File:incidence1.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bohr Model of an Atom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have developed a Bohr model of an atom which calculates the following properties of an electron in nth orbit:.&lt;br /&gt;
&lt;br /&gt;
Kinetic Energy/ Potential Energy of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Velocity of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Quantum of energy to be supplied/released when transition of an electron occurs from energy levels.&lt;br /&gt;
&lt;br /&gt;
Determining the radiation which enables the effective transition.&lt;br /&gt;
&lt;br /&gt;
The model could be enhanced to compare various parameters between the different parameters at the nth orbit.&lt;br /&gt;
&lt;br /&gt;
The code for the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr  ;&lt;br /&gt;
		(* variables *)&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		IS_A positive_variable ;&lt;br /&gt;
	n1,n2   &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		IS_A positive_variable ;	&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
 		&lt;br /&gt;
&lt;br /&gt;
		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code for the Parameterized version of the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;BohrTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr(&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n1      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n2      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the Bohr Model of an atom &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Bohr_values;&lt;br /&gt;
  	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Bohr atoms to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	Z[1..n_entries] &amp;quot;set of atomic numbers for the Bohr model of an atom&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
        n[1..n_entries] &amp;quot;nth orbit in which electron is present&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
	n1	&amp;quot;the initial orbit in which electron was present&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
	n2	&amp;quot;the final orbit in which electron transition occured&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	b[i] IS_A Bohr(Z[i],n[i],n1,n2);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN b[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Bohr models models having n &lt;br /&gt;
	ranging from 1 to 10}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	n1 := 2 ;&lt;br /&gt;
	n2 := 4 ;&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		n[i] := i ;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Bohr_values ;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Bohr Model of an atom to&lt;br /&gt;
	   compute a range of various parameters for different orbits of an atom.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Screenshot for the model running on my system are as follows:&lt;br /&gt;
[[File:incidence2.png]].&lt;br /&gt;
[[File:incidence3.png]].&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Arjun&amp;diff=3555</id>
		<title>User:Arjun</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Arjun&amp;diff=3555"/>
		<updated>2012-04-14T20:45:24Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student of Institute of Technology, Banaras Hindu University, Varanasi, India.&lt;br /&gt;
I am currently pursuing major in Computer Science &amp;amp; Engineering.&lt;br /&gt;
I am currently working on project GUI Improvements in Ascend.&lt;br /&gt;
I have made necessary modifications in IPOPT solver Package to make it work on Ubuntu 11.10. &lt;br /&gt;
My Skill Set:- C, C++, Tcl/Tk, Python.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
== Bugs: ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bugs reported by me are {{bug|534}}, {{bug|535}}, {{bug|536}}.&lt;br /&gt;
Bug resolved by me(it was also resolved by shawn) {{bug|533}} with its diff files https://github.com/arjun109/recent_files_patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projectile Model&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a model which solves the Projectile Motion of a particle.&lt;br /&gt;
&lt;br /&gt;
The model calculates the various parameters of the projectile motion namely:&lt;br /&gt;
Range,&lt;br /&gt;
Time of Flight, &lt;br /&gt;
Instant Horizontal and Vertical distance at given instant time.&lt;br /&gt;
&lt;br /&gt;
I also did the parametrisation of the model by creating the various instances of the Projectile and compared &lt;br /&gt;
theta(angle with the horizontal plane of projectile at starting time) and speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
The model could easily be changed to compare various other parameters of the Projection such as:&lt;br /&gt;
Difference in the initial Plane &amp;amp; Final Plane vs Range.&lt;br /&gt;
Range  vs speed(magnitude with which the projectile was projected).&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  ;&lt;br /&gt;
	(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist  &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	instant_ver_dist IS_A displacement ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
        magn_speed , horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		IS_A angle ;&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed =  magn_speed * sin(theta) ;&lt;br /&gt;
&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist = ( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 {rad};&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Its parameterized version code is as follows &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;ProjectileTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  (&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		WILL_BE angle ;&lt;br /&gt;
	magn_speed  &amp;quot;the initial overall magnitude of speed&amp;quot;&lt;br /&gt;
 		WILL_BE speed ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist , instant_ver_dist &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
     &lt;br /&gt;
	horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the projectile motion &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed = magn_speed * sin(theta) ;&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist =( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 ;&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile 		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Projectile_values;&lt;br /&gt;
    	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Projectiles to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	theta[1..n_entries] &amp;quot;set of angle for the Projectiles&amp;quot;&lt;br /&gt;
	    IS_A angle;&lt;br /&gt;
	&lt;br /&gt;
        magn_speed[1..n_entries] &amp;quot;initial magnitude of speed of various Projectiles&amp;quot;&lt;br /&gt;
	    IS_A speed;&lt;br /&gt;
&lt;br /&gt;
	initial_height	&amp;quot;the initial height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	p[i] &amp;quot;the i-th Projectile model&amp;quot;&lt;br /&gt;
	    IS_A Projectile(theta[i],magn_speed[i] ,&lt;br /&gt;
	initial_height,final_height);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN p[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Projectile models having theta )&lt;br /&gt;
	ranging from 0.1 to 1}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	initial_height := 25 {m};&lt;br /&gt;
	final_height   := 5 {m};&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		theta[i] := i/10.0;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Projectile_values;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Projectile to&lt;br /&gt;
	   compute a range of magnitude of speed for different range of theta.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screenshot Of the model on my system:&lt;br /&gt;
[[File:incidence1.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bohr Model of an Atom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have developed a Bohr model of an atom which calculates the following properties of an electron in nth orbit:.&lt;br /&gt;
&lt;br /&gt;
Kinetic Energy/ Potential Energy of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Velocity of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Quantum of energy to be supplied/released when transition of an electron occurs from energy levels.&lt;br /&gt;
&lt;br /&gt;
Determining the radiation which enables the effective transition.&lt;br /&gt;
&lt;br /&gt;
The model could be enhanced to compare various parameters between the different parameters at the nth orbit.&lt;br /&gt;
&lt;br /&gt;
The code for the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr  ;&lt;br /&gt;
		(* variables *)&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		IS_A positive_variable ;&lt;br /&gt;
	n1,n2   &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		IS_A positive_variable ;	&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
 		&lt;br /&gt;
&lt;br /&gt;
		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code for the Parameterized version of the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;BohrTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr(&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n1      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n2      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the Bohr Model of an atom &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Bohr_values;&lt;br /&gt;
  	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Bohr atoms to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	Z[1..n_entries] &amp;quot;set of atomic numbers for the Bohr model of an atom&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
        n[1..n_entries] &amp;quot;nth orbit in which electron is present&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
	n1	&amp;quot;the initial orbit in which electron was present&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
	n2	&amp;quot;the final orbit in which electron transition occured&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	b[i] IS_A Bohr(Z[i],n[i],n1,n2);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN b[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Bohr models models having n &lt;br /&gt;
	ranging from 1 to 10}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	n1 := 2 ;&lt;br /&gt;
	n2 := 4 ;&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		n[i] := i ;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Bohr_values ;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Bohr Model of an atom to&lt;br /&gt;
	   compute a range of various parameters for different orbits of an atom.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Screenshot for the model running on my system are as follows:&lt;br /&gt;
[[File:incidence2.png]].&lt;br /&gt;
[[File:incidence3.png]].&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Arjun&amp;diff=3554</id>
		<title>User:Arjun</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Arjun&amp;diff=3554"/>
		<updated>2012-04-14T14:02:33Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student of Institute of Technology, Banaras Hindu University, Varanasi, India.&lt;br /&gt;
I am currently pursuing major in Computer Science &amp;amp; Engineering.&lt;br /&gt;
I am currently working on project GUI Improvements in Ascend.&lt;br /&gt;
I have made necessary modifications in IPOPT solver Package to make it work on Ubuntu 11.10. &lt;br /&gt;
My Skill Set:- C, C++, Tcl/Tk, Python.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projectile Model&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a model which solves the Projectile Motion of a particle.&lt;br /&gt;
&lt;br /&gt;
The model calculates the various parameters of the projectile motion namely:&lt;br /&gt;
Range,&lt;br /&gt;
Time of Flight, &lt;br /&gt;
Instant Horizontal and Vertical distance at given instant time.&lt;br /&gt;
&lt;br /&gt;
I also did the parametrisation of the model by creating the various instances of the Projectile and compared &lt;br /&gt;
theta(angle with the horizontal plane of projectile at starting time) and speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
The model could easily be changed to compare various other parameters of the Projection such as:&lt;br /&gt;
Difference in the initial Plane &amp;amp; Final Plane vs Range.&lt;br /&gt;
Range  vs speed(magnitude with which the projectile was projected).&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  ;&lt;br /&gt;
	(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist  &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	instant_ver_dist IS_A displacement ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
        magn_speed , horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		IS_A angle ;&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed =  magn_speed * sin(theta) ;&lt;br /&gt;
&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist = ( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 {rad};&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Its parameterized version code is as follows &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;ProjectileTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  (&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		WILL_BE angle ;&lt;br /&gt;
	magn_speed  &amp;quot;the initial overall magnitude of speed&amp;quot;&lt;br /&gt;
 		WILL_BE speed ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist , instant_ver_dist &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
     &lt;br /&gt;
	horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the projectile motion &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed = magn_speed * sin(theta) ;&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist =( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 ;&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile 		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Projectile_values;&lt;br /&gt;
    	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Projectiles to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	theta[1..n_entries] &amp;quot;set of angle for the Projectiles&amp;quot;&lt;br /&gt;
	    IS_A angle;&lt;br /&gt;
	&lt;br /&gt;
        magn_speed[1..n_entries] &amp;quot;initial magnitude of speed of various Projectiles&amp;quot;&lt;br /&gt;
	    IS_A speed;&lt;br /&gt;
&lt;br /&gt;
	initial_height	&amp;quot;the initial height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	p[i] &amp;quot;the i-th Projectile model&amp;quot;&lt;br /&gt;
	    IS_A Projectile(theta[i],magn_speed[i] ,&lt;br /&gt;
	initial_height,final_height);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN p[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Projectile models having theta )&lt;br /&gt;
	ranging from 0.1 to 1}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	initial_height := 25 {m};&lt;br /&gt;
	final_height   := 5 {m};&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		theta[i] := i/10.0;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Projectile_values;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Projectile to&lt;br /&gt;
	   compute a range of magnitude of speed for different range of theta.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screenshot Of the model on my system:&lt;br /&gt;
[[File:incidence1.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bohr Model of an Atom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have developed a Bohr model of an atom which calculates the following properties of an electron in nth orbit:.&lt;br /&gt;
&lt;br /&gt;
Kinetic Energy/ Potential Energy of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Velocity of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Quantum of energy to be supplied/released when transition of an electron occurs from energy levels.&lt;br /&gt;
&lt;br /&gt;
Determining the radiation which enables the effective transition.&lt;br /&gt;
&lt;br /&gt;
The model could be enhanced to compare various parameters between the different parameters at the nth orbit.&lt;br /&gt;
&lt;br /&gt;
The code for the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr  ;&lt;br /&gt;
		(* variables *)&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		IS_A positive_variable ;&lt;br /&gt;
	n1,n2   &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		IS_A positive_variable ;	&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
 		&lt;br /&gt;
&lt;br /&gt;
		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code for the Parameterized version of the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;BohrTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr(&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n1      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n2      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the Bohr Model of an atom &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Bohr_values;&lt;br /&gt;
  	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Bohr atoms to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	Z[1..n_entries] &amp;quot;set of atomic numbers for the Bohr model of an atom&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
        n[1..n_entries] &amp;quot;nth orbit in which electron is present&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
	n1	&amp;quot;the initial orbit in which electron was present&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
	n2	&amp;quot;the final orbit in which electron transition occured&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	b[i] IS_A Bohr(Z[i],n[i],n1,n2);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN b[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Bohr models models having n &lt;br /&gt;
	ranging from 1 to 10}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	n1 := 2 ;&lt;br /&gt;
	n2 := 4 ;&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		n[i] := i ;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Bohr_values ;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Bohr Model of an atom to&lt;br /&gt;
	   compute a range of various parameters for different orbits of an atom.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Screenshot for the model running on my system are as follows:&lt;br /&gt;
[[File:incidence2.png]].&lt;br /&gt;
[[File:incidence3.png]].&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
== Bugs: ==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bugs reported by me are {{bug|534}}, {{bug|535}}, {{bug|536}}.&lt;br /&gt;
Bug resolved by me(it was also resolved by shawn) {{bug|533}} with its diff files https://github.com/arjun109/recent_files_patch&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Arjun&amp;diff=3546</id>
		<title>User:Arjun</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Arjun&amp;diff=3546"/>
		<updated>2012-04-13T20:31:07Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student of Institute of Technology, Banaras Hindu University, Varanasi, India.&lt;br /&gt;
I am currently pursuing major in Computer Science &amp;amp; Engineering.&lt;br /&gt;
I am currently working on project GUI Improvements in Ascend.&lt;br /&gt;
I have made necessary modifications in IPOPT solver Package to make it work on Ubuntu 11.10. &lt;br /&gt;
My Skill Set:- C, C++, Tcl/Tk, Python.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projectile Model&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a model which solves the Projectile Motion of a particle.&lt;br /&gt;
&lt;br /&gt;
The model calculates the various parameters of the projectile motion namely:&lt;br /&gt;
Range,&lt;br /&gt;
Time of Flight, &lt;br /&gt;
Instant Horizontal and Vertical distance at given instant time.&lt;br /&gt;
&lt;br /&gt;
I also did the parametrisation of the model by creating the various instances of the Projectile and compared &lt;br /&gt;
theta(angle with the horizontal plane of projectile at starting time) and speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
The model could easily be changed to compare various other parameters of the Projection such as:&lt;br /&gt;
Difference in the initial Plane &amp;amp; Final Plane vs Range.&lt;br /&gt;
Range  vs speed(magnitude with which the projectile was projected).&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  ;&lt;br /&gt;
	(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist  &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	instant_ver_dist IS_A displacement ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
        magn_speed , horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		IS_A angle ;&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed =  magn_speed * sin(theta) ;&lt;br /&gt;
&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist = ( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 {rad};&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Its parameterized version code is as follows &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;ProjectileTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Projectile  (&lt;br /&gt;
	theta      &amp;quot;angle with horizontal ground at the time of throwing&amp;quot;&lt;br /&gt;
		WILL_BE angle ;&lt;br /&gt;
	magn_speed  &amp;quot;the initial overall magnitude of speed&amp;quot;&lt;br /&gt;
 		WILL_BE speed ;&lt;br /&gt;
	initial_height 		&amp;quot;the initial height &amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		WILL_BE distance;&lt;br /&gt;
&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
	max_height	&amp;quot;the maximum height of the projectile&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	range	&amp;quot;distance covered bt the projectile in horizontal direction&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	instant_hor_dist , instant_ver_dist &amp;quot;distance travelled from the starting point in horizontal and vertical direction&amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
&lt;br /&gt;
        time_flight , max_flight_time    &amp;quot;total time of flight  and time to reach maximum height by a flight&amp;quot;&lt;br /&gt;
		IS_A time;&lt;br /&gt;
     &lt;br /&gt;
	horizontal_speed ,vertical_speed &amp;quot;speed split into horizontal speed and vertical speed&amp;quot;&lt;br /&gt;
		IS_A speed ;&lt;br /&gt;
	&lt;br /&gt;
 	instant_time &amp;quot;any time in between the flight or projectile motion&amp;quot;&lt;br /&gt;
		IS_A time ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the projectile motion &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	horizontal_speed = magn_speed * cos(theta) ;&lt;br /&gt;
	vertical_speed = magn_speed * sin(theta) ;&lt;br /&gt;
	max_flight_time = vertical_speed / 1{EARTH_G}    ;&lt;br /&gt;
	max_height = (vertical_speed ^ 2) / ( 2 * 1{EARTH_G} )  ;&lt;br /&gt;
	time_flight = max_flight_time + sqrt( (2 * (max_height + initial_height - final_height) / 1{EARTH_G} ) ) ;	&lt;br /&gt;
	range = time_flight * horizontal_speed ;&lt;br /&gt;
	instant_hor_dist = horizontal_speed * instant_time  ;&lt;br /&gt;
	instant_ver_dist =( (vertical_speed * instant_time) - (0.5 * 1{EARTH_G} ) * (instant_time ^ 2) ) ;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX theta;&lt;br /&gt;
		FIX magn_speed;&lt;br /&gt;
		FIX initial_height;&lt;br /&gt;
		FIX final_height;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	theta		        :=	0.785;&lt;br /&gt;
	magn_speed		:=	100 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	50 {m};&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	time_flight			:=	10 {s};&lt;br /&gt;
	max_flight_time			:=	20 {s};&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	theta			:=	0.785 ;&lt;br /&gt;
	magn_speed		:=	500 {m/s};&lt;br /&gt;
	initial_height		:=	10 {m};&lt;br /&gt;
	final_height		:=	30 {m};&lt;br /&gt;
END default_all		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Projectile 		;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Projectile_values;&lt;br /&gt;
    	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Projectiles to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	theta[1..n_entries] &amp;quot;set of angle for the Projectiles&amp;quot;&lt;br /&gt;
	    IS_A angle;&lt;br /&gt;
	&lt;br /&gt;
        magn_speed[1..n_entries] &amp;quot;initial magnitude of speed of various Projectiles&amp;quot;&lt;br /&gt;
	    IS_A speed;&lt;br /&gt;
&lt;br /&gt;
	initial_height	&amp;quot;the initial height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
	&lt;br /&gt;
	final_height	&amp;quot;the final height&amp;quot;&lt;br /&gt;
		IS_A distance;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	p[i] &amp;quot;the i-th Projectile model&amp;quot;&lt;br /&gt;
	    IS_A Projectile(theta[i],magn_speed[i] ,&lt;br /&gt;
	initial_height,final_height);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN p[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Projectile models having theta )&lt;br /&gt;
	ranging from 0.1 to 1}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	initial_height := 25 {m};&lt;br /&gt;
	final_height   := 5 {m};&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		theta[i] := i/10.0;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Projectile_values;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Projectile to&lt;br /&gt;
	   compute a range of magnitude of speed for different range of theta.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screenshot Of the model on my system:&lt;br /&gt;
[[File:incidence1.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bohr Model of an Atom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have developed a Bohr model of an atom which calculates the following properties of an electron in nth orbit:.&lt;br /&gt;
&lt;br /&gt;
Kinetic Energy/ Potential Energy of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Velocity of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
Quantum of energy to be supplied/released when transition of an electron occurs from energy levels.&lt;br /&gt;
&lt;br /&gt;
Determining the radiation which enables the effective transition.&lt;br /&gt;
&lt;br /&gt;
The model could be enhanced to compare various parameters between the different parameters at the nth orbit.&lt;br /&gt;
&lt;br /&gt;
The code for the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr  ;&lt;br /&gt;
		(* variables *)&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		IS_A positive_variable ;&lt;br /&gt;
	n1,n2   &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		IS_A positive_variable ;	&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
 		&lt;br /&gt;
&lt;br /&gt;
		(* equations *)&lt;br /&gt;
&lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code for the Parameterized version of the model is as follows:&lt;br /&gt;
&amp;lt;source lang=a4c&amp;gt;&lt;br /&gt;
REQUIRE &amp;quot;atoms.a4l&amp;quot;;&lt;br /&gt;
PROVIDE &amp;quot;BohrTabulated.a4c&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL Bohr(&lt;br /&gt;
	Z	&amp;quot;Atomic number of an electron&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable;&lt;br /&gt;
	n	&amp;quot;orbit in which electron present&amp;quot; &lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n1      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
	n2      &amp;quot;n1 and n2 are the various orbits between which transition of an atom occurs&amp;quot;&lt;br /&gt;
		WILL_BE positive_variable ;&lt;br /&gt;
)  ;&lt;br /&gt;
&lt;br /&gt;
			(* variables *)&lt;br /&gt;
&lt;br /&gt;
	lambda  &amp;quot; wavelength &amp;quot;&lt;br /&gt;
		IS_A distance ;&lt;br /&gt;
	velocityn &amp;quot;velocity of an atom in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A speed ;&lt;br /&gt;
	kinetic_energy  &amp;quot;Kinetic, potential and total energy of electron in nth orbit&amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	potential_energy IS_A energy ;&lt;br /&gt;
	total_energy IS_A energy ;&lt;br /&gt;
	threshold_energy &amp;quot;energy released or required between transition of electron fron n1th orbit to n2th orbit &amp;quot;&lt;br /&gt;
		 IS_A energy ;&lt;br /&gt;
	rn	&amp;quot;the radius of an atom in nth orbit&amp;quot;&lt;br /&gt;
		IS_A delta_distance ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 		NOTES &#039;purpose&#039; SELF { Various Equations necessary for the Bohr Model of an atom &lt;br /&gt;
					are described below }&lt;br /&gt;
    END NOTES;&lt;br /&gt;
		&lt;br /&gt;
			(* equations *)&lt;br /&gt;
       &lt;br /&gt;
	rn = n*n * 1{PLANCK_C}^2 * 1{EPSILON0} / (Z* 1{PI} * 1{eMASS} * 1{eCHARGE}^2 ) ;&lt;br /&gt;
&lt;br /&gt;
	velocityn = Z * 1{eCHARGE}^2 /(n*2* 1{EPSILON0} * 1{PLANCK_C})   ;&lt;br /&gt;
&lt;br /&gt;
	kinetic_energy =  (1{eMASS})*(1{eCHARGE}^4)*(Z^2) / ( n^2 * 8 * 1{EPSILON0}^2 * 1{PLANCK_C}^2 )  ;&lt;br /&gt;
&lt;br /&gt;
	total_energy = -kinetic_energy ;&lt;br /&gt;
&lt;br /&gt;
	potential_energy = -2 * kinetic_energy ;&lt;br /&gt;
	&lt;br /&gt;
	threshold_energy = 1{eMASS}* 1{eCHARGE}^4 * 1{EPSILON0}^-2 * 1{PLANCK_C}^-2 * Z^2 * ( n1^-2  -  n2^-2)/8 ;&lt;br /&gt;
	(* if threshold energy positive then enrgy released in terms of radiation if its negative it is required or absorbed*)&lt;br /&gt;
	&lt;br /&gt;
	lambda = 1{PLANCK_C} * 1{LIGHT_C} / threshold_energy  ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
	METHOD specify;&lt;br /&gt;
	    NOTES&lt;br /&gt;
		&#039;purpose&#039; SELF {to fix four variables and make the problem well-posed}&lt;br /&gt;
	    END NOTES;&lt;br /&gt;
		FIX Z;&lt;br /&gt;
		FIX n;&lt;br /&gt;
		FIX n1;&lt;br /&gt;
		FIX n2;&lt;br /&gt;
	END specify;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES&lt;br /&gt;
	&#039;purpose&#039; SELF {to set the values for the fixed variables}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_self;&lt;br /&gt;
END bound_self;&lt;br /&gt;
&lt;br /&gt;
METHOD bound_all;&lt;br /&gt;
    RUN bound_self;&lt;br /&gt;
END bound_all;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_all;&lt;br /&gt;
    RUN scale_self;&lt;br /&gt;
END scale_all;&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
	Z 				:=	2 ;&lt;br /&gt;
	n				:=	1 ;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD default_all;&lt;br /&gt;
    RUN default_self;&lt;br /&gt;
	Z		        :=	2;&lt;br /&gt;
	n			:=	1 ;&lt;br /&gt;
	n1			:=	1 ;&lt;br /&gt;
	n2			:=	4 ;&lt;br /&gt;
END default_all;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
END Bohr ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODEL tabulated_Bohr_values;&lt;br /&gt;
  	&lt;br /&gt;
	&lt;br /&gt;
	n_entries &amp;quot;number of Bohr atoms to simulate&amp;quot;&lt;br /&gt;
	    IS_A integer_constant;&lt;br /&gt;
	n_entries :== 10;&lt;br /&gt;
    	&lt;br /&gt;
	Z[1..n_entries] &amp;quot;set of atomic numbers for the Bohr model of an atom&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
        n[1..n_entries] &amp;quot;nth orbit in which electron is present&amp;quot;&lt;br /&gt;
	    IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
	n1	&amp;quot;the initial orbit in which electron was present&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
	&lt;br /&gt;
	n2	&amp;quot;the final orbit in which electron transition occured&amp;quot;&lt;br /&gt;
		IS_A positive_variable;&lt;br /&gt;
&lt;br /&gt;
    FOR i IN [1..n_entries] CREATE&lt;br /&gt;
	b[i] IS_A Bohr(Z[i],n[i],n1,n2);&lt;br /&gt;
    END FOR;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
METHOD default_self;&lt;br /&gt;
END default_self;&lt;br /&gt;
&lt;br /&gt;
METHOD specify;&lt;br /&gt;
	RUN b[1..n_entries].specify;&lt;br /&gt;
END specify;&lt;br /&gt;
&lt;br /&gt;
METHOD values;&lt;br /&gt;
    NOTES &#039;purpose&#039; SELF {to set up 10 Bohr models models having n &lt;br /&gt;
	ranging from 1 to 10}&lt;br /&gt;
    END NOTES;&lt;br /&gt;
	n1 := 2 ;&lt;br /&gt;
	n2 := 4 ;&lt;br /&gt;
	&lt;br /&gt;
	FOR i IN [1..n_entries] DO&lt;br /&gt;
		n[i] := i ;&lt;br /&gt;
	END FOR;&lt;br /&gt;
END values;&lt;br /&gt;
&lt;br /&gt;
METHOD scale_self;&lt;br /&gt;
END scale_self;&lt;br /&gt;
&lt;br /&gt;
END tabulated_Bohr_values ;&lt;br /&gt;
&lt;br /&gt;
ADD NOTES IN tabulated_Projectile_values;&lt;br /&gt;
&#039;description&#039; SELF {This model sets up an array of Bohr Model of an atom to&lt;br /&gt;
	   compute a range of various parameters for different orbits of an atom.}&lt;br /&gt;
&#039;purpose&#039; SELF {to illustrate the use of arrays in ASCEND}&lt;br /&gt;
END NOTES;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Screenshot for the model running on my system are as follows:&lt;br /&gt;
[[File:incidence2.png]]&lt;br /&gt;
[[File:incidence3.png]]&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=File:Incidence3.png&amp;diff=3545</id>
		<title>File:Incidence3.png</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=File:Incidence3.png&amp;diff=3545"/>
		<updated>2012-04-13T20:27:37Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=File:Incidence2.png&amp;diff=3544</id>
		<title>File:Incidence2.png</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=File:Incidence2.png&amp;diff=3544"/>
		<updated>2012-04-13T20:25:45Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=File:Incidence1.png&amp;diff=3539</id>
		<title>File:Incidence1.png</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=File:Incidence1.png&amp;diff=3539"/>
		<updated>2012-04-13T20:15:16Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Arjun&amp;diff=3470</id>
		<title>User:Arjun</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Arjun&amp;diff=3470"/>
		<updated>2012-04-05T04:32:07Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student of Institute of Technology, Banaras Hindu University, Varanasi, India.&lt;br /&gt;
I am currently pursuing major in Computer Science &amp;amp; Engineering.&lt;br /&gt;
I am currently working on project GUI Improvements in Ascend.&lt;br /&gt;
I have made necessary modifications in IPOPT solver Package to make it work on Ubuntu 11.10. &lt;br /&gt;
My Skill Set:- C, C++, Tcl/Tk, Python.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projectile Model&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a model which solves the Projectile Motion of a particle.&lt;br /&gt;
&lt;br /&gt;
The model calculates the various parameters of the projectile motion namely:&lt;br /&gt;
Range,&lt;br /&gt;
Time of Flight, &lt;br /&gt;
Instant Horizontal and Vertical distance at given instant time.&lt;br /&gt;
&lt;br /&gt;
I also did the parametrisation of the model by creating the various instances of the Projectile and compared &lt;br /&gt;
theta(angle with the horizontal plane of projectile at starting time) and speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
The model could easily be changed to compare various other parameters of the Projection such as:&lt;br /&gt;
Difference in the initial Plane &amp;amp; Final Plane vs Range.&lt;br /&gt;
Range  vs speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bohr Model of an Atom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a Bohr model of an atom which calculates the following properties of an electron in nth orbit:.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Kinetic Energy/ Potential Energy of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Velocity of an electron in an nth orbit.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Quantum of energy to be supplied/released when transition of an electron occurs from energy levels.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Determining the radiation which enables the effective transition.&lt;br /&gt;
&lt;br /&gt;
The model could be enhanced to compare various parameters between the different parameters at the nth orbit.&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=User:Arjun&amp;diff=3404</id>
		<title>User:Arjun</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=User:Arjun&amp;diff=3404"/>
		<updated>2012-03-27T23:20:35Z</updated>

		<summary type="html">&lt;p&gt;Arjun: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am an undergraduate student of Institute of Technology, Banaras Hindu University, Varanasi, India.&lt;br /&gt;
I am currently pursuing major in Computer Science &amp;amp; Engineering.&lt;br /&gt;
I am currently working on project GUI Improvements in Ascend.&lt;br /&gt;
I have made necessary modifications in IPOPT solver Package to make it work on Ubuntu 11.10. &lt;br /&gt;
My Skill Set:- C, C++, Tcl/Tk, Python.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Projectile Model&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have developed a model which solves the Projectile Motion of a particle.&lt;br /&gt;
&lt;br /&gt;
The model calculates the various parameters of the projectile motion namely:&lt;br /&gt;
Range,&lt;br /&gt;
Time of Flight, &lt;br /&gt;
Instant Horizontal and Vertical distance at given instant time.&lt;br /&gt;
&lt;br /&gt;
I also did the parametrisation of the model by creating the various instances of the Projectile and compared &lt;br /&gt;
theta(angle with the horizontal plane of projectile at starting time) and speed(magnitude with which the projectile was projected).&lt;br /&gt;
&lt;br /&gt;
The model could easily be changed to compare various other parameters of the Projection such as:&lt;br /&gt;
Difference in the initial Plane &amp;amp; Final Plane vs Range.&lt;br /&gt;
Range  vs speed(magnitude with which the projectile was projected).&lt;/div&gt;</summary>
		<author><name>Arjun</name></author>
	</entry>
</feed>