Skip to content

Anisotropic Ray Tracer for Electromagnetism in Magnetospheres, Ionospheres and Solar wind, including Polarisation

License

Notifications You must be signed in to change notification settings

maserlib/ARTEMIS-P

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI

ARTEMIS-P

Anisotropic Ray Tracer for Electromagnetism in Magnetospheres, Ionospheres and Solar wind, including Polarisation

A short description of the code is available in the Proceedings of the 2013 URSI-France meeting.

Requirement

Compilation

The default compiler is GNU Fortran Compiler.
It is also possible to compile with Intel Fortran Compiler.

How to run

input files

There are 2 initialization files :

  • init_environ.txt : contains initial values of the environement.
  • init_raytracing.txt : constains all parameters for the initialization of the program.

Defining Density and Magnetic Field

Currently, the density and magnetic field are defined by an analytical function only. In the file environ.f90, the routine magneticf calculates the magnetic field and density computes the electron density.

Outputs

the program produces for each ray a file containing various data calculated at each time step and along the trajectory of the ray.

Future improvements

It will be possible to load a complete environment from a simulation for instance.
In addition, the format of the results will also be updated.

Description of input files

You need to specify all the lines. You can find two simple examples on Toy1 and Toy2 branches.

init_environ.txt :

  • n0 in cm^-3 ; used in computation of Ne (see the routine density in environ.f90).
  • z0 in km ; used in the computation of Ne (see the routine density in environ.f90).
  • B0 in T ; used in computation of B (see the routine magneticf in environ.f90).
  • z0B in km ; used in computation of B (see the routine magneticf in environ.f90).

init_raytracing.txt :

  • <directory_name> : maximum length = 4.
  • <integrator_name> : choose between RK4 and RK4F.
  • frequency in kHz (real).
  • number of rays (integer).
  • number of iterations (integer).
  • coordinate system. Choose between cart or sphr.
  • length units. Choose between km, m or rs.
  • initial position of rays (x,y,z). Give the initial position of each ray on a different line.
  • wave vector k (kx, ky, kz). Give the initial position of each ray on a different line.
  • propagation mode. "X" for extraordinary mode or "O" for ordinary mode. Give the initial position of each ray on a different line.
  • maximum value of refractive index (integer).
  • initial time step (real).
  • maximum time step (real).
  • minimum time step (real).

Description of result files

For the moment the results are written in a .dat file as columns. There is one file per ray which are written in the folder specified in init_raytracing.txt. Each line corresponds to a time step except the first one which is the header.

Here is the list of saved parameters :

  • position (x, y, z) in cartesian coordinates
  • wave vector (kx, ky, kz) in cartesian coordinates
  • refractive index
  • time step
  • group velocity
  • phase velocity
  • (k, B) angle in degree
  • (r, B) angle in degree (cannot be calculated during the first iteration)
  • covered distance
  • magnetic field (Bx, By, Bz) in Tesla
  • plasma frequency in Hz
  • cyclotron frequency in Hz
  • upper hybrid frequency
  • electron density in cm^-3
  • polarization ratios of Ey/Ex, Ez/Ex and Ez/Ey
  • propagation mode (ordinary or extra-ordinary)
  • limiting polarisation vector ('VP' -> polar variable, 'LP' -> limiting polar)
  • relative error between two time step
  • dispersion error

About

Anisotropic Ray Tracer for Electromagnetism in Magnetospheres, Ionospheres and Solar wind, including Polarisation

Resources

License

Stars

Watchers

Forks

Packages