Welcome, Guest. Please Login or Register.
Class web site
02/09/10 at 02:40:52
News: Welcome to the Gravity Simulator forum.
Home Help Search Login Register


Pages: 1 2 3 4
Send Topic Print
Various questions (Read 5397 times)
Mal
Senior Member
****


oh, crumbs!!!

Posts: 446
Various questions
10/14/06 at 18:06:55
 
Does GravSim do orbital resonances (spin:orbit and secular) and tidal evolution?  
 
Is there a way to get it to crunch numbers using both parts of a dualcore processor (or even on larger parallel processing systems?)
 
And I gather from the demos that it can actually accrete objects by default... is there a way to output the total mass of the final objects?
Back to top
 
 
WWW   IP Logged
Tony
YaBB Administrator
*****




Posts: 735
Gender: male
Re: Various questions
Reply #1 - 10/14/06 at 21:09:09
 
Quote from Mal   on 10/14/06 at 18:06:55:
Does GravSim do orbital resonances (spin:orbit and secular) and tidal evolution?

Is there a way to get it to crunch numbers using both parts of a dualcore processor (or even on larger parallel processing systems?)

And I gather from the demos that it can actually accrete objects by default... is there a way to output the total mass of the final objects?

 
No tidal evolution, at least not yet.   Objects in Gravity Simulator do not spin.  Check out this link: http://www.ns.umich.edu/htdocs/releases/story.php?id=986 of a binary asteroid.  I'd love to be able to model something like this in a future version.
 
I've never owned a dual or greater processor, so it's only single processor.
 
Orbital resonances are easy to model in Gravity Simulator.  See the Pluto, Toutatis, Cruithne, Tethys, Janus, Dione and Spitzer simulations.  The rotating frame feature makes it easy to expose resonances.  The next version will include the ability to make planets migrate so you can capture objects into resonances.
Back to top
 
 
Email WWW   IP Logged
Mal
Senior Member
****


oh, crumbs!!!

Posts: 446
Re: Various questions
Reply #2 - 10/14/06 at 21:30:40
 
Quote from Tony   on 10/14/06 at 21:09:09:

I've never owned a dual or greater processor, so it's only single processor.

 
That's a pity, since this sort of simulation would be perfect fodder for multi-processor distribution... I hope it will support that someday, that could really cut down the simulation times.  
Back to top
 
 
WWW   IP Logged
frankuitaalst
Ultimate Member
*****


Great site

Posts: 1167
Gender: male
Re: Various questions
Reply #3 - 11/01/06 at 03:20:09
 
Inclination - definition :
The Kozai mechanism affects the inclination of the planet /moon .  
Running the simulation I wondered if it is possible to get also the orientation of the plane in which the inclination is measured .  
To explain my question I added a sketch .  
 
http://primeupload.com/file/6268/incilination.bmp.html
 
In the frame above the moon is running at 90° incl , but at the right this is in the xz plane , in the middle in the yz plane.  
So this makes a difference.  
 
Can I get out of GravSim the orientation of the inclination plane ?  
 
Regards - frank
Back to top
 
« Last Edit: 11/01/06 at 04:34:10 by frankuitaalst »  
Email   IP Logged
Tony
YaBB Administrator
*****




Posts: 735
Gender: male
Re: Various questions
Reply #4 - 11/01/06 at 19:26:06
 
I'm not quite sure I understand your question, but Longitude of the Ascending Node may be what you're looking for.  It's where your orbit intersects the xy plane (ecliptic).  On one of the intersections, the planet or moon will be travelling from above the ecliptic to below the ecliptic.  This is the decending node.  On the other side of the orbit, it will be travelling from below the ecliptic to above the ecliptic.  This is the ascending node.  The angle between this point and the vernal equinox is the Longitude of the Ascending Node (LAN).  It is one of the outputs Gravity Simulator gives you.
Back to top
 
 
Email WWW   IP Logged
frankuitaalst
Ultimate Member
*****


Great site

Posts: 1167
Gender: male
Re: Various questions
Reply #5 - 11/05/06 at 10:33:20
 
Concerning the point of accurancy of the program : tony mentionned that if there would be a block of time the programm could run with RK4 . I wonder what the present algorithm is ...
Back to top
 
 
Email   IP Logged
Tony
YaBB Administrator
*****




Posts: 735
Gender: male
Re: Various questions
Reply #6 - 11/05/06 at 20:41:09
 
Quote from frankuitaalst   on 11/05/06 at 10:33:20:
Concerning the point of accurancy of the program : tony mentionned that if there would be a block of time the programm could run with RK4 . I wonder what the present algorithm is ...

The present algorithm is Euler method:
 
Code:
// CodeOptomizer.cpp : Defines the entry point for the DLL application.   
//   
   
#include "stdafx.h"   
   
BOOL APIENTRY DllMain( HANDLE hModule,    
   DWORD  ul_reason_for_call,    
   LPVOID lpReserved   
 )   
{   
    return TRUE;   
}   
   
int _stdcall RunLoop(int NumObjects, double * ObjMass, double * objx, double * objy, double * objz, double * objvx, double * objvy, double * objvz, double * objsize, long * CollisionObjectA, long * CollisionObjectB)    
{   
 if (NumObjects < 1) return 0; //Should be 1 or more   
   
 double tM;   
 double tM2;   
 double dx;   
 double dy;   
 double dz;   
 double D;   
 double f;   
 double fx;   
 double fy;   
 double fz;   
 int Collisions;   
 Collisions = 0;   
 for (int k=1;k<=NumObjects;k++) {   
  tM = ObjMass[k] * 398600440000000;   
  for (int j=k+1;j<=NumObjects;j++) {   
    dx = objx[j] - objx[k];   
    dy = objy[j] - objy[k];   
    dz = objz[j] - objz[k];   
    D = sqrt(dx*dx+dy*dy+dz*dz);   
    if  (((objsize[k] + objsize[j])/2) > D) {   
	Collisions = Collisions + 1;   
	CollisionObjectA[Collisions] = j;   
	CollisionObjectB[Collisions] = k;   
    }   
   if (tM > 0) {   
  f = (1/D) * (1/D) * tM;   
  fx = (dx / D) * f;   
  fy = (dy / D) * f;   
  fz = (dz / D) * f;   
  objvx[j] = objvx[j] - fx;   
  objvy[j] = objvy[j] - fy;   
  objvz[j] = objvz[j] - fz;   
    }   
  tM2 = ObjMass[j] * 398600440000000;   
    if (tM2 > 0) {   
  f = (1/D) * (1/D) * tM2;   
  fx = (-dx / D) * f;   
  fy = (-dy / D) * f;   
  fz = (-dz / D) * f;   
  objvx[k] = objvx[k] - fx;   
  objvy[k] = objvy[k] - fy;   
  objvz[k] = objvz[k] - fz;   
    }   
	
  }   
 }   
   
 for (int h=0;h<=NumObjects;h++) {   
  objx[h] = objx[h] + objvx[h];   
  objy[h] = objy[h] + objvy[h];   
  objz[h] = objz[h] + objvz[h];   
 }   
	
	
 //End of loop computations ------   
 return 1; //Finished successfully   
	
}   

 

Back to top
 
 
Email WWW   IP Logged
Mal
Senior Member
****


oh, crumbs!!!

Posts: 446
Re: Various questions
Reply #7 - 11/05/06 at 21:30:10
 
What's this number for?
 
Code:
 tM2 = ObjMass[j] * 398600440000000;
 

Back to top
 
 
WWW   IP Logged
Tony
YaBB Administrator
*****




Posts: 735
Gender: male
Re: Various questions
Reply #8 - 11/05/06 at 21:52:39
 
Quote from Mal   on 11/05/06 at 21:30:10:
What's this number for?

Code:
 tM2 = ObjMass[j] * 398600440000000;
 


That number is mu for the 2nd object in the current pass.  Mu is the gravitational parameter, also refered to as GM.  It is the mass of the object * the gravitational constant G.  Normally, you see the gravitational constant G expressed as 6.672x10-11Nm2kg-2.  But using Earth masses as the unit of mass, G is 398600440000000 Nm2MEarth-2.
Back to top
 
 
Email WWW   IP Logged
frankuitaalst
Ultimate Member
*****


Great site

Posts: 1167
Gender: male
Re: Various questions
Reply #9 - 11/25/06 at 02:20:18
 
Hi Tony ,  
Thanks for the script of your program . I did some investigation about accurancy of the method used . It seems that RK4 could improve the accurancy a bit but more time is needed to perform the calculations .  
I landed also on a site ( have to look it up which ...) that describes an algorithm to calculate the multi body system in closed form , this means , without errors . The only error involved is the calculation precision ...
The method works with Taylor /McLaurin series which calculates the system given an initial condition . After calculation of the coëfficients of the series the system can be simulated for various times ...
I intend to write the code in Basic just to see how goed it works. Keep you informed ...
Back to top
 
 
Email   IP Logged
Tony
YaBB Administrator
*****




Posts: 735
Gender: male
Re: Various questions
Reply #10 - 11/25/06 at 15:16:44
 
I'd be interested in seeing that if you get a chance to play with it.
Back to top
 
 
Email WWW   IP Logged
frankuitaalst
Ultimate Member
*****


Great site

Posts: 1167
Gender: male
Re: Various questions
Reply #11 - 12/08/06 at 10:21:23
 
hallo Tony ,  
The method discribed is the method of Parker . In an article of Prof Rudmin it seems it is possible to calculate the orbits of the bodys in space exactly , using an iteration based on the McLauren series . The only limit seems to be the accurancy of the computer . Seems promising . According to Rudmin this method is superior in accurancy to RungeKutta and other known integrators.  
So I wrote a code for an n-body problem , using this algoritm . The first results a very promising .  
The advantage of the method is that one can determine the accurancy of the iteration , up to some meters fi .  
 
As a test I run the Kozai for the moon in an 90° orbit around the sun . Seems to work .  
In a second test I created a second earth at 29/30 AU and got a nice interaction between the two earth .  
Both simulations were run under an accurancy of 10 meters in a timescale of about 3 days .  
The later simulation was run for about 400 years and took about 1 minute .  
I think this method is accurate enough to run the Kozai  
If interested I can send a screen plot and the code , written in PBasic.  
Unfortanately I don't have the time to add the nice menus and boxes for input and output  
 
 
Back to top
 
 
Email   IP Logged
Tony
YaBB Administrator
*****




Posts: 735
Gender: male
Re: Various questions
Reply #12 - 12/08/06 at 16:18:23
 
sure, send me that, and I'll try to translate it to C++ or VB to see how it works with Gravity Simulator.
Back to top
 
 
Email WWW   IP Logged
frankuitaalst
Ultimate Member
*****


Great site

Posts: 1167
Gender: male
Re: Various questions
Reply #13 - 12/08/06 at 23:44:31
 
Here is the link to the page of Prof Dr Rudmin which I used .  
The code and method are public domain .  
Finally I used the method described by Dr Broucke of Nasa JPL  
which is simular but uses apolynom of order nt , starting with 1 .  
 
http://csma31.csm.jmu.edu/physics/rudmin/ParkerSochacki.htm
Back to top
 
 
Email   IP Logged
frankuitaalst
Ultimate Member
*****


Great site

Posts: 1167
Gender: male
Re: Various questions
Reply #14 - 12/12/06 at 10:35:49
 
I ran the program with the Parker simulation in some tests. Most bugs are out now . In annex I submit a simulation of our good earth at 1.4 AU of a pair of our suns , but starting in a polar orbit .  
After a number of revolutions our earth decides to come more and more in the plane of the suns . Eccentricity (0) seems however conserved .  Is Kozai involved ? I don't know...  
Not showed here is the result after longer time , where the earth is again in the polar orbit .  
I think astronomers would run crazy in such a world   , where the poles become equator after some years ...  
The simulation was run with an overall accurancy of some meters per iteration , ( if no bugs are in ) so should be rather accurate ...  
[/ftp] http://www.orbitsimulator.com/yabbfiles/Attachments/2_suns__earth_in_polar_orbit.GIF[ftp]
Back to top
 
 
Email   IP Logged
Pages: 1 2 3 4
Send Topic Print