Table of Contents


runlpvi - NEMO front end for the LP-VIcode


runlpvi [parameter=value]


runlpvi is a NEMO front-end to the LP-VIcode, which computes a set of chaos indicators for (galactic) orbits. The main documentation can be found online in their manual . Here we review the particulars of the NEMO user interface, see also EXAMPLES below for some of the NEMO examples.

Compiling and Running the original LP-VIcode requires 4 actions:

1) provide a "PAV" fortran coded file with use your Potential, Acceleration and Variationals and include it in the code, and compile it. Note that in the current implementation both the potential and its parameters are specified in the executable, and unlike NEMO’s potname/potpars interface cannot be changed.

2) write an initial conditions file (4,5,6 or 7 values on the line). We only support 4 or 6 at the moment. (see tstop= below)

3) write a input parameter file. Needs to be 20 lines, including comments. This needs to be named

4) write a parameter file in which NDIM is defined (the rest seems not important) This needs to be named LP-VIcode.par.

This is sufficiently complex to make running many examples cumbersome, hence the runlpvi NEMO interface, which takes care of items 2-4. Linking the LP-VIcode is left as an exercize to the reader.


Output run directory, which must not exist yet. (required)
Initial conditions (4 or 6 values). Multiple orbits can be given now, but without individual times. The ndim= is then required. A hardcoded maximum is 1000. No default.
Prefix for output files. The name is not very important, as all files are in a new directory. The extensions are described in the manual, but in brief are: .ene, .orb, .lyap, .sali, .gali, .sd, .ssn, .rli, .megno, and .fli. [log]
Integration step [0.01]
Time of integration. In a future version multiple orbits can have different integration times, which means they need to be specified at the end of the posvel= sequence. [1]
Screen output? [1]
Orbit output? [0]
CI indictors: LIs, SALI, GALIs, SD & SSNs, RLI & LImax, MEGNO & SElLCE, FLI & OFLI. 0=don’t compute, 1=output for all t, 2=output only last value
Nr. of steps between outputs (when orbit or indicators are = 1) [1]
Initial dev. vectors (0 = at random, 1 = random orthonormal, 2=fixed) [1]
SALI & potential(t): normal saturation (=0) or restart [1]
Not used yet, but might be needed if we allow multiple orbits and optional tstop’s.
Name of the fortran executable [LP-VIcode]


The logarithm2 example from the manual can be run as follows: (2nd CI for the moment is 0, some error):
  runlpvi run1 posvel=0.2,0.34,0.5,0.1235 prefix=log dt=0.05 tstop=25000 orbit=1
ci=1,0,1::5 nstep=20
  tabplot run1/log.orb 2 3 -0.5 0.5 -0.5 0.5
which took about 35sec CPU. We follow with some pure NEMO orbits with the same initial conditions and potential:
  mkorbit run1/ 0.2 0.34 0 0.5 0.1235 0 potname=log potpars=0,2,0,0.7
  orbint run1/ run1/orb.out  50000 0.05 ndiag=10000
and it becomes obvious the integrator in orbint cannot handle a 0 core radius for box orbits. To show both method agree try this loop/tube orbit:
  mkorbit x=0.8 lz=1 e=1 potname=log potpars=0,0.5,0,0.7 
  orbint - 2000 0.01 ndiag=200 | orbplot - yapp=2/xs 
  #>> 0 0 0.8 0 0 0 1.56406 0  0 -1e+30 1e+30 7.35388e+188
  runlpvi run2 posvel=0.8,0,0,1.56406 prefix=log dt=0.01 tstop=20 orbit=1
ci=1::7 nstep=20
  tabplot run2/log.orb 2 3 -2 2 -2 2  line=1,1 yapp=1/xs

See Also





Peter Teuben (runlpvi)

Update History

29-dec-2019    V0.1 Created    PJT
30-dec-2019    V0.3 posvel= now allows multiple orbits    PJT

Table of Contents