NIGHTFALL is an interactive application that introduces into the fascinating realm of eclipsing binary stars. Apart from their light variations that make them interesting objects for observations, eclipsing binaries are of fundamental importance for astrophysics, e.g. for measuring the mass of stars. NIGHTFALL is capable of producing:
Eclipsing binary stars are most often very close systems. In such systems,
owing to tidal forces, the shapes of both stars can be highly nonspherical,
up to the possible formation of an 'overcontact' system, where both stars
form a single, dumbbell-shaped object.
NIGHTFALL is a mildly ultramundane program of baroque complexity
(I like Verdi and Händel on lazy sunday mornings - friday evenings are
better with Iron Maiden and a good whisky).
NIGHTFALL is based on a physical model that
takes into account the nonspherical
shape of stars in close binary systems, as well as mutual irradiance
of both stars, and a number of additional physical effects.
NIGHTFALL can handle a large range of configurations, including
overcontact systems,
eccentric (non-circular) orbits,
surface spots and asynchroneous rotations (stars rotating
slower or faster than the orbital period), and the possible presence of a
third star in the system.
NIGHTFALL supports OpenGL (or MesaGL) for an animated display of
binary systems. Individual frames of the animation can be saved as JPEGs
to create am MPEG movie.
NIGHTFALL can be build in a parallelized version, if your compiler
supports the OpenMP standard (e.g. sufficiently recent versions of gcc do).
NIGHTFALL supports the GNOME desktop (if installed), but does
not require it.
Also, NIGHTFALL supports internationalization. Currently,
besides the default language (english), only german is supported. The
language is selected by the environment variable LANG (must be set
before starting the program,
in sh, bash: LANG=de; export LANG
in csh, tcsh: setenv LANG de).
NIGHTFALL is not part of my
research work - rather it is the result of a recreational activity aimed
at distracting myself
from daily research work.
I have tested NIGHTFALL with published data on several binary stars. Data for these systems are included in the source code distribution. As no two light curve programs use exactly the same algorithms, results are never identical; however, results from NIGHTFALL appear to be within the range of similar light curve programs used in the literature. I hope that I have found most flaws in the logic of the code, at least in the 'scientific' part. If you want to use NIGHTFALL for a publication, you may want to evaluate its performance by yourself. NIGHTFALL comes WITHOUT ANY WARRANTY (see also the copyright statement for more information).
Several, probably. If you find a bug and can eliminate it, send me a diff. If you find a bug and can't cope with it, send me a report, and wait for the next version. If you would like a feature, tell me.
NIGHTFALL is copyright (c) 1998-2008 Rainer Wichmann, (c) 2001-2002
Markus Kuster, (c) 2001-2002 Patrick Risse
NIGHTFALL is free software; you can redistribute it
and/or modify
it under the terms of the GNU General Public License as
published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
NIGHTFALL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
This document is considered part of the NIGHTFALL program.
NIGHTFALL has been developed with the aim of being able
to compile and run the program on a typical Linux system without
any need of downloading/installing additional libraries or programs.
Although I have not tested this, NIGHTFALL should compile
on other Unix systems as well.
For command line use/file output, all you need is a C compiler (e.g. gcc).
For interactive use and plotting, NIGHTFALL requires additional
libraries/programs. Note: for compiling a program (e.g. for compiling
NIGHTFALL), you need so-called 'development' packages of the required
libraries. These 'development' packages are usually not
installed by default.
$ gtk-config -libs
which should yield something like: '-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -lglib -lXext -lX11 -lm' (might be different for your system). If you get a message like 'sh: gtk-config: not found', you might need to install GTK. (On most Linux distributions, GTK is split in two packages. For running GTK applications, you need only the 'gtk' package. For compiling applications (like NIGHTFALL), you also need the 'gtk-dev' package. Ubuntu package name: libgtk2.0-dev)
$ gnuplot
gnuplot$ set multiplot
If you get an error message, you have to update your GNUPLOT.
You also need write permission to the directory '/tmp' on your system.
To test this, try:
$ touch /tmp/foo
http://astro.caltech.edu/ tjp/pgplot
free for non-commercial use). You need a Fortran compiler (g77 is fine) to compile it. You have to compile it with the Xserver and postscript drivers, and also have to compile the C wrapper library that comes with PGPLOT.
Note: With GNUPLOT, plots are not that nice sometimes, but animated mode runs much smoother with GNUPLOT than with PGPLOT. GNUPLOT does not support incremental plotting and display of images, thus a few options are only available with PGPLOT.
After downloading the source code, do:
$ gunzip -c nightfall-(version number).tar.gz tar -xvf -
$ cd nightfall-(version number)
$ ./DoInstall.sh
The 'DoInstall.sh' script will query you for some information (e.g. where
to install the program),
and then (optionally) build, test, and install the application.
If you want to do it by hand, instead of './DoInstall.sh' run the following
sequence of commands:
$ ./configure
$ make
$ make install
If you want to use PGPLOT, 'configure' might find it by itself;
otherwise
you might need the 'configure' option
'-with-pgplot-include=PFX' (where PFX should be the directory where
the PGPLOT header file cpgplot.h is installed), and
'-with-pgplot-lib=PFX' (where PFX should be the directory where the
PGPLOT library files libpgplot.a, libcpgplot.a are installed).
If you want to build a parallelized version, you need
the 'configure' option '-enable-openmp'.
By default, the binary is installed to /usr/local/bin, the
data/help/configuration files to
/usr/local/share/nightfall. If you don't
like this, use the 'configure' option
'-prefix=/where/to/install', where '/where/to/install' will
replace '/usr/local'.
If you want to use a different compiler, you can supply the option CC=myCCompiler to configure (and also F77=myFortranCompiler, if you compile with PGPLOT).
This section is targeted at researchers wanting to adjust
NIGHTFALL to their needs.
Several aspects/limits of NIGHTFALL can be configured at
compile time. Mostly, these are related to fixed array sizes.
For most users, the defaults should be sufficient.
To configure, edit the file 'Light.h' and change the default value(s) of the '#define ITEM' statement(s) in the first section of this file (where 'ITEM' stands for any of the bold words on the list below). Configuration options include (but are not limited to):
As of version 1.64, NIGHTFALL supports a simplified 'educational' mode
that is targeted at undergraduate lab settings. In this mode, NIGHTFALL
always starts in interactive mode, with a much simpler GUI stripped of
almost all more or less advanced options. In additions, the sizes of the
stars have to be specified in units of solar radii instead of fractions
of the critical Roche volume (which allows to use NIGHTFALL without
having to explain the concept of the Roche volume).
To start NIGHTFALL in this mode, use the command line
parameter '-edu', like:
$ nightfall -edu
If used in interactive mode, only the command line parameter '-U' is required:
$ nightfall -U
If used in non-interactive mode, unless a configuration file is read in at startup (see info on configuration files), NIGHTFALL requires at least the following six numerical arguments on the command line (in that order):
These six numerical arguments are always required, if
NIGHTFALL is used in command-line (i.e. non-interactive) mode
without reading in a configuration file (see below)
$ nightfall -U -C ty_boo.cfg
will read parameters from a configuration file and start NIGHTFALL
in interactive mode. The configuration file is a simple text file
that can be edited by hand. In interactive mode, you can also
write out the current parameters to a configuration file.
$ nightfall (without arguments) will produce a full list of options (many).
By default, NIGHTFALL will do nothing more than run in non-interactive mode, compute the lightcurve, write it to an output file 'NightfallCurve.dat', and exit silently. If you want more (nifty plots, etc.), read on.
requires that NIGHTFALL has been compiled with support for PGPLOT or Gnuplot.
In interactive mode, there are several menu options available to produce plots. In non-interactive (command-line) mode, you can choose from the following:
Detailed output is always written to a file 'NightfallCurve.dat'.
Use command line option -U to choose this option.
A GUI will (hopefully) come up.
In the menu bar, there is a File menu for
reading data/configuration files.
Please note that you need to reset the data memory [Reset Memory]
before reading in data for another binary, otherwise you will end up
in a mess ...
The Output menu allows to choose between several facilities for
viewing the output of a computation and visualizing the binary system.
Some of them allow interactive change of parameters like viewing angle etc.
Please read the online help for more details.
In the toolbar below,
there are buttons for computing a lightcurve [Compute],
toggling animated view of the binary [Animate] while computing,
writing out the current binary configuration [Write],
and getting help on the currently active notebook page [Context].
The rest of the GUI is layed out as a 'notebook' with several different pages for setting options:
On the bottom of the GUI, there is a status/progress bar.
Note that OpenGL can lead to program crashes with some graphic cards.
If compiled with OpenGL support, the animated display will by default run in OpenGL mode. You can switch to GNUPLOT/PGPLOT mode in the PlotOptions page in the GUI. In OpenGL mode, you have the following options:
right arrow zoom out
left arrow zoom in
space reset to real observer viewpoint
f switch to 'points' display mode
l switch to 'wireframe' display mode
o switch to 'opaque' display mode
t toggle textures on/off
w cycle through texture type
(image/temperature/gravity/flux/velocity)
p toggle primary texture on/off
s toggle secondary texture on/off
a toggle axes on/off
m toggle movie mode on/off
With textures enabled, the default is to use a pixmap as texture. All other textures display the variation of physical quantities (caused by the non-spherical shape and/or limb darkening) across the stellar surface. Available choices are: surface temperature, surface gravity, flux towards the observer, and the velocity of surface elements towards the observer relative to the star's centre of mass.
Internally, if compiled with -enable-openmp, nightfall will run the
computation of mutual reflection in parallel, using as many threads as there
are cores on the host unless the environment variable OMP_NUM_THREADS
is set.
In addition, it is possible to distribute the workload of an optimization
run across several hosts. This requires that you can login via ssh to
those hosts, without using a password (e.g. by using a RSA/DSA key and
ssh-agent).
In order to make use of the latter option, you need to have a file
parallel.cfg in your current working directory (the one from which
you are starting NIGHTFALL, with one line per host. The format
of valid lines is:
HOST hostname maximum_number_of_instances
I.e. the line starts with the keyword HOST, followed by the hostname, followed
by a number which is the maximum
number of NIGHTFALL instances to run on that host. E.g.:
HOST host1 5
HOST host2 5
HOST host3 2
Furthermore,
Note that for the simplex fitting routine, the maximum number of instances spawned is equal to the number of free parameters (this would happen when the simplex shrinks towards the best solution and all vertices except the best are recomputed). For the simulated annealing global optimization, the first sweep will spawn at most 100 instances, while all subsequent sweeps will spawn 5 instances.
NIGHTFALL comes with a set of configuration files, each of which
will set the system parameters for a particular (real) binary system,
and automatically load some data files with observed data for
this particular binary star (see next section).
For the file format, see the commented example file 'ty_boo.cfg'
in the source code distribution. To read in such a file, on the
command line use:
-C path/to/config/file
If you don't give the full path,
NIGHTFALL will search (in this order of priority) the present working
directory, an eventual subdirectory './cfg', and the default
data directory set at compile time. If the configuration file is in one
of these, only the name, not the full path is required.
NIGHTFALL comes with a set of sample observational data for several
different eclipsing binaries. For each included binary system, the data
comprise lightcurves in several filters, as well as radial velocity curves.
Also, for each of these systems there is a configuration file
(see
details on configuration files).
Loading this configuration file will set the
appropriate parameters for that particular system, and also read in the data.
You can then compute the lightcurve and visualize the binary, with the
observed data overlayed on the lightcurve.
E.g. you might call NIGHTFALL
as 'nightfall -U -C data/ty_boo.cfg', then press 'ANIMATE' to switch
on the real-time animation, and press 'COMPUTE' to compute the
lightcurve. With 'PlotCurve' you can then get a plot of the final lightcurve,
with the data overlayed.
Of course, you can also experiment by yourself and try to fit the
lightcurve by varying the system parameters, or use the automatic
fitting option.
To read in a single data file, use
-I path/to/data/file.
If you don't give the full path, NIGHTFALL will search (in this order) the present working directory, an eventual subdirectory './data', and the default data directory set at compile time. If the data file is in one of these, only the name, not the full path is required. For details on the format of the files, see here.
Data are available for the following systems:
The run-time behaviour of the program can be modified by the value of
some environment variables. To set an environment variable
to some value, depending on your shell the following command is required:
in csh, tcsh: setenv VARIABLE=value
in sh, bash: VARIABLE=value; export VARIABLE
This section (and the next) provide(s) an introduction to the problem (at a popular science level, hopefully), the options, and the algorithm(s) used. More technical aspects are in italics. If you find the less technical part too arcane, feel free to supply (constructive) suggestions.
Imagine two lakes, seperated by a ridge. There are about three possible configurations:
Replace 'water' by 'gas', 'lake' by 'star', and you have the possible
configurations of a close binary star system.
The stellar shapes in such a system are given by the sum of the
gravitational forces, and the centrifugal force due to the orbital motion.
Instead of using the forces, it is easier to use a potential (forces
can then be expressed as the derivative of the potential, if needed).
In the case of binary stars, this potential is called
the Roche potential, named after the French mathematician
Edouard Albert Roche (1820-1883).
The stellar surface is then given by an equipotential surface
(a surface, on which the potential is constant).
Thus, the introduction of the potential makes
the computation of any forces superfluous in this particular application.
The largest size a single star can have in a binary system is given by the
Roche lobe - a teardrop-shaped equipotential surface,
whose cusp touches the cusp of the
Roche lobe of the other star at a point called Lagrange 1 (L1)
(there are four more Lagrange points, which are of less interest here).
L1 is located between both stars, on the line connecting their centres.
At L1, the sum the forces is zero, thus, if a star fills its Roche lobe, at L1
matter can flow into the Roche lobe of the other star (provided it is not
filled as well).
Thus, L1 would correspond to 'lowest point of the ridge' in the two-lake
example above, and the Roche lobes would correspond to the two valleys below
that point, that potentially can be filled by the two lakes. But just as
the two lakes in the example above may be smaller than their
maximum size (before flowing together), also the stars in a binary system
may be smaller than their respective Roche lobes.
A star that completely fills its Roche lobe will assume
its teardrop-like shape. A star filling only a small fraction of its Roche lobe
will be more spherical - distortion increases with the Roche lobe filling
factor.
Note that the relative size of the Roche lobe of the two stars
in the system depends on their mass ratio. The absolute size of the
Roche lobe also scales with the separation of the two stars.
Thus, with a fixed mass ratio and fixed absolute sizes of the stars (e.g.
in kilometers), a star may fill its Roche lobe (and have a highly distorted
figure), if the stars are rather close,
but the same star might fill just a tiny fraction of its Roche lobe
(and thus would be nearly spherical) if the binary separation
would be rather large.
To define the sizes of stars in NIGHTFALL, you have to give the 'Roche lobe filling factor', which is defined in units of the Roche lobe (actually, its polar radius). NIGHTFALL uses a dimensionless potential, i.e. the distance between both stars is arbitrarily set to unity. Thus, for a fixed absolute size of the stars, decreasing the 'Roche lobe filling factor' would be equivalent to increasing the distance.
The shape of the lightcurve depends mainly on three factors:
Stars in binary systems are labelled 'Primary' and 'Secondary'.
In NIGHTFALL, the star called 'Primary' is the star which
is eclipsing first, i.e.
the star that passes in front of the other one at
orbital phase zero (orbital phase indicates the position of the stars
in the orbit on a scale from zero to one). The secondary is the star that
is eclipsed first. In animated view, at start the Primary is left,
the Secondary right. Note that this labelling of 'Primary' and 'Secondary'
is inverse to the usual
convention ... mea culpa. Maybe I fix it sometime.
To exchange the stars (if needed), you can either (i) swap the eclipses
in your data, or (ii) swap the stars themselves.
For (i), add half an orbital period to the phase zeropoint in your datafile
(for a circular orbit), or the time lag of the second eclipse (for an eccentric
orbit).
For (ii), swap temperatures and Roche lobe fill factors, and replace the
mass ratio q by 1/q. Don't forget to swap spots, if you have. For an
eccentric orbit, add or subtract 180 deg to/from the Periastron length.
For a circular orbit, NIGHTFALL
starts at orbital phase -0.25 - which is identical to +0.75 -,
and calculates up to +0.75.
In a circular orbit, eclipses are at orbital phase 0.0 and 0.5.).
NIGHTFALL uses a dimensionless potential, i.e. the distance between
both stars is arbitrarily set to unity.
The relative size of both Roche lobes then depends
only on the mass ratio of both stars. The size of both stars has to be
given as a fraction of the Roche lobe (actually, its polar radius).
This fraction might be larger than one, if you want to specify an overcontact
system. To specify a semi-detached system, set the Roche lobe filling fraction
to 1.0 for one star, less for the other.
NIGHTFALL divides each stellar surface into a grid of a few thousand elements. Eclipse testing is done by checking - for each surface element individually- whether the line of sight towards that surface element intersects the other star. For overcontact systems, a star might eclipse its own throat region (the region connecting both stars). This condition is tested as well.
Although simple tests based on orbital phase or intersection of sperical
regions suffice in most cases, still sometimes a rigorous and expensive
test is needed.
Stellar surface temperatures can range from a
few 1000 Kelvin to several
10000 Kelvin. The respective brightness can be calculated
from the so-called blackbody law (a blackbody is an idealized thermal
radiation source). The blackbody law is applicable to thermal radiation,
such as infrared radiation of your own body, or radiation by stars; it is
not applicable to non-thermal radiation sources like lasers.
By default, NIGHTFALL uses the blackbody law, which is neither terribly
good nor terribly bad. It is possible to use, instead, light fluxes
from detailed numerical computations of stellar atmospheres. Contrary
to blackbody fluxes, these model atmosphere fluxes (like real stellar fluxes)
depend not only on temperature, but also (mildly)
on surface gravity, and on the chemical composition of the stellar atmosphere.
As actual atmosphere calculations
would be prohibitively expensive, model atmosphere fluxes are taken from
tables that cover only a limited range in temperature (3000 K to 35000 K).
Tables are hardcoded, and only available for one surface gravity value
(a compromise value that should be ok for most cases), and solar
chemical composition.
To switch on model atmosphere fluxes, use
-M
Lightcurves are output in eight commonly
used broad-band filters (UBVRIJHK from
near-UV to near-infrared),
and four narrow-band filters (Stroemgren uvby). The shape of the lightcurve
depends on the filter passband.
The human eye itself also is not equally sensitive to all wavelengths
of light - it also is a kind of 'filter' for light. To create a lightcurve
that looks like the human eye would see it, you have to choose an output
filter that matches as close as possible the sensitivity of the human
eye. For broadband filters, the V filter gives the best match to the human
eye. In the Stroemgren filter system, you might want to choose Stroemgren v.
Lightcurves are output in magnitudes.
This is a relative unit commonly used in astronomy,
and defined as
Output goes to a file 'NightfallCurve.dat'.
To select plotting of output light curve, use
-G
To select the filter for the plotted lightcurve, use
-Bfilter,
where filter should be one of UBVRIJHKuvby. The default for plotting is the V filter, which is the best match to the human eye. If you read in data files with observed lightcurves (see here for more info ), the default will be the filter of the first lightcurve read in.
To obtain a hardcopy (i.e. PS file), use
-H
The nonspherical shape
of both stars causes a non-constant surface gravity.
This, in term, causes brightness variations, with regions of higher
surface gravity having higher brightness. This effect is called gravity
brightening or gravity darkening (depending on which article you read).
Gravity brightening can produce deep minima in the lightcurve,
even if there is no eclipse at all !!
NIGHTFALL always takes care of this effect - there is no option to
switch it off.
In a binary system where one star fills its Roche lobe, there may be mass transfer via
Roche lobe overflow. I.e. at the L1 point between the two stars, matter from the
Roche-lobe filling star can flow into the Roche lobe of the other star. For physical
reasons (conservation of angular momentum), this matter will not just fall onto the
other star, but rather form a so-called accretion disk.
Within this disk, the
gas orbits the star and loses angular momentum by friction, thus slowly moving towards
the stellar surface. If the star has a strong magnetic field, this field may disrupt
the disk close to the star. I.e. the disk will not reach all the way to the stellar surface,
but rather there will be a gap between the inner edge and the star, and the gas will take
the last part of its journey along the magnetic field lines.
The disk is characterized by inner and outer radius, temperature, height, and the disk model.
Furthermore, optionally a hot spot may be included in the model.
The outer and inner edge of the disk are modelled as vertical ``walls''.
For all models, the height of the disk at radius r is computed as
For a simple disk, ,
is set equal to half of the thickness parameter, and
is set equal to the H/R parameter. Setting H/R to zero results in a flat disk.
The temperature is constant and equal to the respective input parameter.
While the simple disk model is isothermal, it's run of the height with radius is not
physically correct for an isothermal disk. In the isothermal disk, the exponent
is set to
, which is the correct value for an isothermal disk. Furthermore,
the H/R parameter is ignored, the constant
is set to
, and the factor
is chosen such that at the inner disk radius, the disk thickness equals the
thickness input parameter.
The reprocessing disk is the model for a disk that is reprocessing (absobing/re-radiating) the
radiation from the central star. The exponent
is set to
, which is the correct value for a reprocessing disk. Furthermore,
the H/R parameter is ignored, the constant
is set to
, and the factor
is chosen such that at the inner disk radius, the disk thickness equals the
thickness input parameter. Lastly, the temperature falls off with radius
as
.
The disk may have a hot spot (where the accretion stream from the donor star hits the outer edge of the disk). The hot spot is assumed to have constant temperature and constant depth (as measured from the outer edge of the disk).
To switch off the hot spot, set the extent in longitude to zero.
As eclipse testing is only done for the centres of surface elements,
the coarse surface grid introduces numerical artifacts that are readily
visible sometimes. To fix this problem, it is possible to compute
fractional visibilities for the surface elements (i.e. compute what
fraction of a surface element is eclipsed). To switch on, use
-F
Note: this option is not available if NIGHTFALL is compiled
in high precision mode (-enable-high-precision), since flux is
not sufficiently accurate conserved.
Due to the mutual
irradiance of both stars, in addition to its own light,
each star will also reflect light of its companion. This can be a very
important effect, especially if the two stars are close (large Roche fill
factor) or the temperature difference is large.
NIGHTFALL offers two options:
(1) by default, the irradiating
star is treated as a point source. This is ok for low Roche lobe
filling factors, but not very accurate for stars filling a large fraction of
the Roche lobe. It is rather fast, however.
(2) it is possible to compute the mutual irradiance of all pairs of surface
elements, with up to nine iterations (usually, two to three are sufficient).
This is an algorithm (N the number of surface elements), and thus
computationally very expensive. To switch on, use
-Rn
where 'n' is the number of iterations.
For overcontact systems, the second Lagrange point (L2) comes into play.
It is located behind the less massive star (as seen from the more massive),
and has the same property as L1, i.e. the force vanishes there, and matter
might flow out of the common envelope of an overcontact system (I suppose,
by now you know where L3 is. L4 and L5 are in the orbital plane, left and
right of the line connecting the centres of both stars. L3-5 are not
terribly important for binary stars.)
Thus, the surface of the common envelope of an overcontact system has to be
between the two equipotential surfaces given by the potentials of L1 and L2
(remember, the force is the derivative of the potential, thus if the net force
is zero, the potential can still have a non-zero value - it just has to be
'flat' locally).
To have an overcontact system, set the Roche lobe filling factor of one star
larger than 1.0 (as there is only one surface now, the smaller Roche lobe
filling factor will be ignored).
If you choose a too large value, NIGHTFALL will adjust it. (The largest
possible value depends on the mass ratio. Anything
larger than about 1.3 is rather unreasonable for any mass ratio.)
The combination of overcontact and non-circular orbit or asynchroneous rotation (see below) is not supported. It would be rather unphysical anyway, as the strong interaction (tidal forces and friction) would circularize and synchronize the system extremely rapidly.
Tidal forces in close binaries will tend to enforce synchroneous rotation
(both stars rotating with the orbital period, thus showing each other
always the same side) on a timescale usually shorter than stellar lifetimes.
There are, however, occasions when stars might rotate asynchroneously, e.g.
young stars that are not yet rotating synchroneously,
or massive stars that have short livetimes anyway, too short for
synchronization to occur during their lifetime. Also, tidal forces
fall off very rapidly with increasing distance, thus wide binaries
are likely candidates for asynchroneous rotation
(the tidal force is inverse proportional to
the cube of the distance - unlike e.g. gravity, which is inverse proportional
to the square of the distance and thus falls off much less rapidly).
A (nonstellar) example for synchronization is the Earth-Moon system,
where Moon's rotation has been synchronized already, while Earth's rotation
is known to slow down gradually. This would eventually lead to Earth's
synchronization as well, but I suspect it might take longer than the lifetime
of our solar system ...
To switch on asynchroneous rotation,
use
-fP fratio or -fS fratio
[-fP for Primary, -fS for Secondary). 'fratio' is the ratio between
stellar rotation period and orbital
period.
Asynchroneous rotation modifies the Roche potential (see
the info on 'Roche lobe'),
and hence
the equipotential surface which defines the stellar shape. One effect
is a 'flattening' of the star for faster rotation.
Another effect is that the 'critical lobe',
i.e. the largest possible surface, is modified. For faster rotation, it
becomes smaller than the Roche lobe (which is the 'critical lobe' for
a synchroneously rotating star, as discussed
here).
In this situation, you might have two binary component, both filling
their 'critical lobes', but well separated from each other.
For slower rotation, the 'critical lobe' can become larger than the Roche
lobe... NIGHTFALL will check (and complain), if both stars intersect.
(While an overcontact system with synchroneous rotation is no problem,
asynchroneous rotation, with contact, will cause heavy friction, I would
think, presumably leading to rapid synchronization. Thus a contact
system with asynchroneous rotation probably is unrealistic.)
Surface spots (if there are any) will move with the stellar rotation rate (just as they should).
According to Keplers laws, the shape of the orbit is
an ellipse. Often, it is close to a special case of an ellipse - a circle.
However, sometimes binary orbits are markedly eccentric, i.e. non-circular.
In an eccentric orbit,
the distance and the orbital velocity is not constant. The stars will
gain velocity, as they fall toward each other, and
move fastest at Periastron (closest approach). They will lose
velocity again as they move away from each other, and move slowest at Apastron
(largest distance). Thus the time between first and second
eclipse in general is different from the time between second and first.
Also, the width of the eclipses may be different, as in general
the stars will move with different velocities during the two eclipses.
NIGHTFALL comes with sample data for the star 'V541 Cygni', an eccentric
binary system where you can observe both effects.
Similar to asynchroneous rotation, the comment applies that tidal forces
will act towards circularization of the orbit. Eccentric orbits are more
likely in wide binaries than in close ones.
The problem is, that in an eccentric orbit the changing distance
is equivalent to a changing Roche lobe filling factor,
and thus a changing shape of the star
(remember, the larger the Roche lobe filling factor, the
larger also is the nonspherical distortion of a star's shape).
While in a circular orbit the stellar surface is calculated only once,
and then just rotated in space, in an eccentric orbit the stellar surface
must be re-calculated at each step in orbital phase, thus causing substantial
computational overhead.
To switch on this option, use
-e eccentricity periastron_length
where 'eccentricity' (range 0-1, 0 is circular orbit) is defined as
The input Roche lobe filling factor is assumed at Periastron.
Due to the variable orbital velocity, 'synchroneous' rotation is not really
synchroneous - rotation will lag behind the orbital motion for part of the
orbit, and advance for the other part of the orbit.
Surface spots (if there are any) will move accordingly.
The depth to which you can see into a star's atmosphere (where the visible
light comes from) varies with
the viewing angle. As the temperature (which determines the light flux)
increases with depth, you can see hotter (= brighter) layers
of the atmosphere towards the centre of the star's disk, where you
can look deeper. Towards the limb, you see shallower, cooler, and thus
less bright layers of the atmosphere.
This results in the limb of a star being darker than the
centre of its visible disk, an effect that can be seen readily on good (!)
photographies of the Sun.
Limb darkening, as a function of the cosine of the viewing angle
towards the stellar surface,
is well aproximated by simple expressions. NIGHTFALL offers three
different options, with expressions that are linear or include
additional square or square root terms. The square root law
is probably most accurate, but you will
find that there is not much difference.
The default is the linear law. To change this, use
-Ln
with 'n' a number in the range 0-2 (0 = default).
To set the limb darkening coefficients explicitely (e.g. for fitting, if
you use an external fitting routine), use
-l[P/S] lc_1_a,lc_1_b,..,lc_12_b
where 1..12 refers to the passbands in the order UBVRIJHK,Strömgren uvby.
Cool stars like the sun (i.e. stars with surface temperatures of a
few thousand Kelvin only) often have surface spots, which are regions of somewhat lower temperature
on the surface. Among such stars, some are
known to have surface spots ('starspots') much larger than those
shown by the Sun. In extreme
cases, spots may cover a few tenths of the stellar surface. Usually, these
are cool spots (i.e. a few 100 K cooler than the surrounding area), caused
by magnetic activity (like on the Sun).
To include spots, use
-sP longitude latitude radius dimfactor or
-sS longitude latitude radius dimfactor
(-sP for a spot on the Primary, -sS for a spot on the secondary).
Spots are circular. The arguments are longitude and latitude of the spot's
centre, the radius (all in degree) and the factor, by which the surface
temperature is changed in the spot area. You can have multiple spots on each
star. For overlapping spot areas, 'dimfactor' is averaged.
It is possible, but physically very unrealistic, to set 'dimfactor' to rather low or high values (0.5 - 2.0). Temperature deviations of more than about 1000 K may be not realistic. Hot spots are seen only in exceptional cases.
Unlike lightcurves, which can be expressed in a relative unit, radial
velocity curves only make sense in absolute units (km/s in NIGHTFALL).
Thus, they require absolute dimensions as input for the system.
(NIGHTFALL supplies default values, however, if you don't want to
bother about this.) Use
-tP period or
-tM mass or
-tD distance
('period' in days, 'mass' ( = total mass of both stars) in solar masses,
'distance' in solar radii.) You need to give two of these; the third
can (and will) be calculated from Kepler's third law.
Radial velocities are computed as the sum of the orbital velocity of a point mass plus corrctions (flux-weighted contributions from each surface element). In animated view, you can see the resulting sum as well as the correction term (the latter multiplied by 2).
NIGHTFALL can calculate spectral line profiles at each phase
step, which are output to files (one for each phase step). You can
specify the rest wavelength 'lambda_zero' for the line.
The luminosities (of individual surface elements)
used to compute the profile are those for the passband with the closest
effective wavelength. To switch on, use
-Plamda_zero
In interactive mode, you have the option to view the line profiles, and
change the phase interactively.
Some numerical artifacts present, probably due to finite surface grid.
The presence
of an additional light source in the system (e.g. a third star)
will decrease the contrast between eclipsed and non-eclipsed parts of the
lightcurve. To include this effect, use
-3filter fraction
where 'filter' is one of the supported filters (UBVRIJHKuvby) and
'fraction' is the relative contribution of third light
to the total system luminosity. I.e.:
It is possible to replace any or all of the built-in filters
with (a) different one(s). The command line option to replace
a filter is:
-r X:path
where X is one of the built-in filters (UBVRIJHKuvby), and path
is the path to a file containing the data for the replacement filter. The
format of the file is as follows (also see the example
Filter_OM_UVM2.txt in the data/ subdirectory):
The filter definition file is a text file, containing certain keywords
and data. Comments start with '#', empty lines are
ignored. In flux/LDC tables, values are separated by whitespace.
The keywords are:
NAME filter_name
WAVELENGTH filter_central_wavelength_in_mu
# (second moment of passbands) / FWHM
# may be approximated following the prescription by
# Young A.T. 1992, Astronomy and Astrophysics 257, 366; Equation 12:
# m2 = FullWidth(0.05 of peak)/4.4
# (m2)
/FWHM
CORR_FACTOR numerical_value
# Limb Darkening Coefficients. Argument is the LD law the coefficients are for.
LDC_START linear OR sqrt OR quadratic OR four
# followed by a table of coefficients, sorted by ,
# and then (ascending)
...
# Model flux tables (optional). Arguments are , lower and upper
# limits for . Data sorted by
(ascending)
FLUX_START
_lower
_upper
NIGHTFALL offers the possibility of determining a best-fit model for observed data. Several datasets can be fit simultaneously. Both a local and a global optimization algorithm are available. Fit results are written to a file 'NightfallFitted.dat'.
NIGHTFALL has been tested with data for the exoplanet TrES-2, and is able to fit the transit and recover the parameters cited by Holman et al (2007), ApJ 664, 1185. Note however that planetary transits can be computed analytically, which is faster than a full-fledged binary star model as done by NIGHTFALL.
In order
to determine a best-fit model to observed data, you first
have to read them into memory. Use
-I path/to/data/file.
Only one file is read. To read more files, prepend each of them with a
-I. You can read in (only) one datafile for each filter.
Each row in the file should consist of two or three numbers. The first
is the date of the observation (as decimal number, in any unit you like),
the second the measurement value (in magnitudes
for brightness, in km/s for radial velocity), and the third (optional)
the estimated error of the measurement.
Lines starting with a '#' are ignored, with the following exceptions
(no blank after '#' !!):
#P period
gives the orbital period of the system (same unit as dates).
The program will use this value
to fold the data into orbital phase. The default is 1.0 (thus assuming
that your data are already folded in phase).
#C is a flag that tells the program to not fold the data into orbital phase. Instead, the program will synthesize a lightcurve covering the full timespan of the data.
#Z zeropoint
gives the zeropoint for orbital phase, i.e. the time of Primary eclipse
(same unit as dates).
The default is 0.0 (again assuming
that your data are already folded in phase).
#B filter
gives the filter (UBVRIubvyJHK) in which your data have been observed.
Default is V. For radial velocities, use '1' for Primary, '2' for Secondary.
#W error
gives the average estimated error of measurements (if you do not have
individual ones). Default is 0.01 (brightness) or 1.0 (radial velocities).
You can mix individual and average error estimates (e.g. if you have
individual error estimates only for some of your data).
#V system_velocity
For radial velocity curves, use this parameter to set the system velocity.
Radial velocities will be set to
.
#N normalisation_phase
Use this parameter to set the phase at which to normalize the light curve.
The default is the starting point of the lightcurve.
#S shift
This is a particular important parameter that requires some care. As noted
in
the info on brightness,
NIGHTFALL will normalize its lightcurves to light at
the normalisation_phase (see above),
which by default is the starting point
of the lightcurve (the leftmost in the plotted lightcurve).
Thus, at this point, the brightness is zero magnitudes.
For a meaningful fit, your observed lightcurve must be shifted up/down
to have the value zero at this point as well (within the measurement
errors). NIGHTFALL will
try to do it automatically, but some correction may be required. Plot the
lightcurve (data will be overplotted, if there are any), and check.
Note: incorrect use of this parameter may make a fit look better, but
the fitted parameters might be meaningless. Do not shift to anywhere else
than the starting point of the lightcurve.
The source code distribution includes example files for the binaries TY Boo (an overcontact system) and some more. If in doubt, look into them.
Determining a best-fit model means to optimize the parameters (like
inclination, temperature, mass ratio, etc.) in such a way that the mismatch
between model and observation is minimized. This mismatch is measured
by a suitable merit function
(sometimes also called cost function). NIGHTFALL uses the
chi-square function as merit function.
General problems of determining best-fit parameters are:
(1) uniqueness: there may be several/many (nearly) equally good solutions.
Do a few trials. Restart fitting with last best-fit as starting point.
(2) overfitting: the information content of a lightcurve is limited. Fitting
too many parameters might produce good-looking, but meaningless results.
Use as few free parameters as are sufficient for a good fit.
(3) local vs. global optimum: just that you find a valley, doesn't mean this is
the deepest valley on Earth. The same applies to optimization problems.
Any local optimization algorithm will only find a local optimum. If
the problem is well-behaved, this will be the one and only, global, optimum.
If the problem is badly-behaved, you might need a few trials with different
starting points to find (hopefully) the global optimum. If the problem
is even worse, you might need an awful lot of computing time to find
the global optimum. Most examples in textbooks are nice. Most real-world
optimization problems turn out to be bad or even ugly.
NIGHTFALL uses the so-called Simplex algorithm for local
optimization. This is a direct search algorithm that is not terribly fast
(and not terribly slow either),
but very robust. To switch on optimization, use
-Xparameters tolerance
where 'parameters' is a string of characters indicating the parameters
you want to fit (all others kept fixed), and 'tolerance' is the stopping
criterion (something like 0.1 or less would be appropriate - 0.001 has
a special meaning, see
the section on global fitting).
Use
'nightfall' without options to get the character codes for fit parameters.
If more than one data file is input (e.g. lightcurves in different filters),
NIGHTFALL will fit all data simultaneously. This will probably work
well only if different datasets are properly weighted - i.e. if the
error estimates (or at least their ratios) are ok.
Have a cup of coffee ready. Use the -Db option (switch on 'Busy' in
interactive mode) to see what is going on meanwhile.
IMPORTANT: Restart fit with last best-fit as starting point.
Continue this until you are sure that the solution has converged and does not
improve anymore, i.e. the value of 'SDV (Chi square)' does not significantly
change anymore. Otherwise, your results may be completely meaningless.
(swich on the -Db option to see 'SDV (Chi square)' for each iteration -
see
the info on debug options.
Output is always written to a file 'NightfallFitted.dat'.
To evaluate how good a fit is, NIGHTFALL offers the following
options:
(1) if you plot the lightcurve, residuals will be plotted as well. Look
at them to check whether there are systematic trends ( = bad fit).
(2) for a good fit, the residuals should scatter randomly around the
model, with no systematic trends. This can be quantified by computing the
'runs statistic' (the number of runs = occurences of two or more
consecutive residuals above or below the model curve). Obviously,
a large number of runs would occur for a strictly alternating sequence,
which is very unlikely for a random sequence. Likewise, only two runs
would occur for the first half of the data below, the second above the
model curve - also suspiciously non-random.
NIGHTFALL will print out the actual number of runs, and
the lower and upper limits for a 90 percent confidence interval.
(3) in theory, the goodness-of-fit can be evaluated from the
(Chi Square) value of the fit (the function actually minimized in
parameter fitting), which should be close to unity for a good fit.
However, this only works
if the error estimates for the measurements
are realistic - neither to high nor to low. This is
very rarely the case in astronomy ...
To find a global optimum,
basically a stochastic search strategy is required
(or an exhaustive seach of the complete parameter space ...).
There are different possibilities, ranging from complete random search to
some 'intelligent' variation of random search. NIGHTFALL offers
'Simulated Annealing', which is a kind of mathematical implementation of
the cooling of matter (leading to crystallization, i.e. an energy optimum,
if cooling is slow enough). Switch on by setting the fit tolerance to 0.001
(in command-line mode).
Be prepared for a computing time on the order of a day or more (if you have
no other CPU-expensive job running).
I am not sure whether the algorithm is correctly implemented. In the
present implementation, cooling
might be too fast, or might stop at a too high 'temperature'. However,
my own experiments were rather satisfactory most of the time.
Apparently, 'Simulated Annealing' does not mathematically guarantee that the global optimum is indeed found, unless 'cooling' proceeds infinetely slow ...
This option will create a two-dimensional map of the
merit function (i.e. in the case of NIGHTFALL the
Chi-Square function that measures the
goodness of a fit) with respect to two parameters.
Start values are the current values, step values
can be entered. The gridsize is fixed at compile time
(default 16 x 16, i.e. 256 lightcurves will be evaluated).
To switch on this option, use
-Xparameters step1 step2
Parameters are coded like in the fitting option (see above), but only two parameters should be chosen.
-Dcharacterstring
Most debug options (selected by 'characterstring')
are of little use
unless you know the code rather well. Some will produce excessive
(and excessively messy) output.
Exceptions are:
It is possible to obtain the 2D surface map of the stars, as seen by an observer, i.e. the map displayed in animated mode. You have to set the environment variable NIGHTFALL_SMAP_PATH to the path of the map file (the program will append the index of the phase to this, i.e. you will get a seperate file for each step in orbital phase). If NIGHTFALL_SMAP_PATH is undefined, no map will be printed.
By default, the map will be output for the V band; you can change that with the environment variable NIGHTFALL_SMAP_BAND (0..11 for UBVRIJHKuvby).
The map includes for each visible surface element:
(1) the index of the star,
(2) the index of the surface element,
(3, 4) x, y coordinates in the viewing plane of the observer,
with the star at (0, 0),
(5, 6) x, y coordinates as above, but with the centre of mass
at (0, 0),
(7) , the line-of-sight angle,
(8) temperature,
(9) dimensionless gravity,
(10) area,
(11) flux.
The flux is not normalized to the area; it is the flux that this surface
element contributes to the total flux.
It is possible to compute monocromatic fluxes at up to twelve different, user-defined wavelengths. These wavelengths (unit: micrometer) must be provided as a comma-seperated list in the environment variable NIGHTFALL_MONO_WAVE. They will replace the wavelenghts used in the blackbody approximation.
This section is intended as a technical reference for experts who want to familiarize themself with the nasty details and the algorithms used.
The geometric setup is based on a paper [11]
by Djuraševic (1992a).
In a cartesian coordinate system , the stars are located at
and
, and the
-axis is perpendicular to the orbital
plane.
A normalized, dimensionless Roche potential is used, which at a point
is given by the value
as
Notes:
(i) Equation (1-16) in [11] has a minor typo
(wrong sign for ).
(ii) Djuraševic [11] apparently uses
equidistant steps in , thus leading
to very unhomogeneous elementary areas. NIGHTFALL avoids this
by adjusting the number of steps
as
There are two options available for the treatment of reflection.
Both are bolometric corrections, in the sense that the bolometric
flux of the irradiating component is used to modify the temperature
distribution on the irradiated component. See [26] for a discussion
of this issue.
The 'simple' option for the treatment of reflection is described
in [11]. The correction should be
exact for spherical stars.
The 'detailed' reflection treatment loops over all pairs of surface
elements and sums up, for each surface element
,
the irradiation by all visible surface elements
of the other star.
Again, bolometric irradiation is computed. Of course, the true
temperature of the irradiating surface elements (including reflection)
is not known, thus it is necessary to iterate the algorithm. Convergence
is typically reached after 2-3 iterations.
The algorithm is described in [13].
For both treatments, by default for convective stars
(below 7700 K) an albedo of 0.5, and for
radiative stars an albedo of 1.0 is used. It is possible to
choose different albedo values at program start using
the command line option(s) -aP value for the primary and
-aS value for the secondary.
Gravity darkening is computed by
Notes:
(i) The 'simple' reflection treatment in [11]
has been supplemented by a penumbral correction for
the partial visibily of the other star, if it is at the horizon.
This penumbral correction assumes that the horizon is flat
and that the other star
is spherical, i.e. that the visible part is a segment of a circle.
(ii) For the 'detailed' reflection treatment, instead of
the quadratic limb darkening law used by
[13], a square root law ([10])
Spots are always circular, and
characterized by four parameters: longitude ,
latitude
, radius
, and a 'dimming' factor
,
i.e. the ratio of the (local) temperature
with spot to the temperature
without spot. A detailed discussion of the trigonometric
expressions used to identify surface elements within the spot area
can be found in [11], section I-3.
In the 'detailed' reflection treatment,
reflection is calculated with spots, i.e. the spots are applied first,
then the reflection is calculated. For overlapping spots, in the overlap area
the mean value of their
is used.
In the blackbody approximation, for each stellar component and
each filter a (temperature-dependent)
effective wavelength is computed, following Equation 3.30 in
[4]:
For the 'model atmosphere' option, fluxes for temperatures below 9800K are
from Hauschildt et al. (private comm., 2006) PHOENIX models,
otherwise flux tables from Kuruzc models ([19]).
are used. All models are for solar abundances. PHOENIX models below
2000K incorporate dust formation, with dust remaining in situ (no settling).
The (originally monochromatic) fluxes have been integrated over
the filter passbands (as given in [20]).
Surface gravities
(in steps of 0.5) are available.
Three different limb darkening approximations are available, a linear, a quadratic, and a square root one, which are given by the following expressions, respectively:
Notes:
(i) When tabulated values are used, for temperatures out of
range (below 2000K and above 31000K for ,
39000K for
, 49000K for
,
50000K for
) the
lowest/highest value is used (i.e. no extrapolation is attempted).
(ii) It is possible to set the limb darkening coefficients on the
command line, with the option -l[P/S] lc_1_a,lc_1_b,..,lc_12_b,
where 1..12 refers to the passbands in the order UBVRIJHK,Strömgren uvby.
This can be used for fitting the coefficient when an external fit routine
is used.
Eclipse testing follows the method proposed in [11]. First,
the contact angle of the Roche lobes is used to exclude eclipses, if
possible.
If an eclipse is possible,
for each surface element the line of sight (LOS) towards
is tested for intersection with the smallest sphere enclosing the
eclipsing star (no intersection = not eclipsed). Then the LOS is
tested for intersection with the largest sphere within the
eclipsing star (intersection = eclipsed). This procedure takes advantage
of the simplicity of testing the intersection of a line with a sphere.
If the LOS intersects the outer, but not the inner sphere, as a last
(and computationally expensive) resort, the minimum of the Roche potential
along the LOS is searched, and compared against the surface potential
of the eclipsing star.
Notes:
(i) In [11], the osculating cone (i.e. the tangent cone
to the Roche surface at the inner Lagrangian point ) is used as the first
eclipse criterion. According to [5], this can lead to serious
errors for mass ratios very different from unity, as the larger Roche lobe
is concave at the
. NIGHTFALL uses tabulated values from
[5] (the cone angle
as given in their Table 2).
(ii) In [11], the coordinate frame of the
eclipsed star is used, for eclipse testing,
which seems not to work for asynchroneous rotation.
NIGHTFALL therefore uses the coordinate frame of the eclipsing star,
following [2].
(iii) In [11], it is proposed to evaluate the potential
along the LOS at six steps only. NIGHTFALL uses a more rigorous
approach with a minimum finding routine (Brent's algorithm [3]).
The eclipse testing routine assigns to each surface element a visibility
of 0 (eclipsed) or 1 (visible). However, the visibility is only
evaluated for the centre of the element. This can lead to 'spikes' in the
light curve, if large numbers of surface element centres become visible
at once. Therefore, an option is provided to compute a fractional
visibility for surface elements on the shadow limb.
The algorithm first searches all pairs of elements on the shadow limb
(i.e. pairs with
one element eclipsed, the adjacent element uneclipsed), and
determines the potential minimum along the LOS towards them (which is typically
already available from the eclipse test).
Then, a linear approximation is made:
for each pair, the
distances to the shadow limb are taken as proportional
to the differences
between the minimum Roche potential
along the LOS
and the surface potential
of the eclipsing star:
In an eccentric orbit, the complete geometry and temperature distribution
is re-calculated at each step ( = step in mean anomaly). As the Roche
potential is used in a dimensionless form, the change in distance
is equivalent to a change in the Roche volume filling factor
( = surface potential) with an unchanged unit distance.
This implies that the correct new surface potential must be found as
a function of the stellar volume, which is scaled up/down with the
distance. To avoid an iterative numerical integration of the stellar volume
(i.e. varying the surface potential until the correct volume is found),
which would be prohibitively expensive, the algorithm uses analytical
approximations from [18] to derive the new surface potential.
The following procedure is used:
Numerical details, including the definition of the 'mean radius', can be found in [18].
For local optimization, the Simplex algorithm is used. This is a
direct search algorithm that does not require derivatives.
For free parameters,
the simplex is a polyhedron with
vertices (or points) in the
-dimensional parameter space. At each step, the simplex moves
through this parameter space according to some rules, basically
moving away from its worst point.
Details of the algorithm can be found in [17,22].
For global optimization, an implementation of the 'simulated annealing'
method is provided.
Basically, 'simulated annealing' does a stochastic search of
the parameter space. Replacing the current best point with a better
point (i.e. a downhill step) is always allowed,
replacing it with a worse point (an uphill step) is allowed with some
probability depending on the (steadily decreasing) 'temperature' of the
system.
The implementation is based on the 'Very Fast Simulated Re-Annealing'
algorithm
[16], however, the 're-annealing' part is not included.
For random number generation, the
'Mersenne Twister' random number generator (period length )
by Makoto Matsumoto and Takuji Nishimura [21] is used.
It has a Mersenne prime period of
(about
)
and is equi-distributed in 623
dimensions.
The nonparametric runs test is computed to provide an estimate
of the goodness-of-fit that (unlike chi-square) is independent of the
correctness of the measurement error estimates. In an ordered sequence of
two different symbols (here: positive and negative fit residuals, ordered
by phase), a run is a succession of one or more identical symbols,
preceded and followed by the other symbol.
The expected number R of runs can be calculated analytically.
If and
are the number of negative and positive residuals, respectively,
then the expectation value for the number of runs R, and its variance,
are ([23]):
and
'Educational': | |
-edu | switch on highly simplified 'educational' mode |
Mandatory: | |
(q) | mass(Secondary)/mass(Primary) |
(i) | inclination angle (degree) |
(rf1) | Primary Roche fill factor |
(rf2) | Secondary Roche fill factor |
(t1) | Primary temperature |
(t2) | Secondary temperature |
Interactive: | |
-U | Interactive mode |
Graphic Output: | |
-A | Animated view |
-V[v,i,c,a] | Visualize geometry (default: v) |
v: view of stars | |
i: image of potential | |
c: contourmap of potential | |
a: all of the above | |
-G[P,S,1,2] | Graph of lightcurve (default: 1) |
P,S: close-up of Primary/Secondary eclipse | |
1,2: display 1/2 orbital cycles | |
-B[U/B/V...] | Bandpass to display in graph (default: V) |
-H | Hardcopy (postscript plot) |
Files: | |
-I datafile | Read in a data file containing observed data |
-C cfgfile | Read in a configuration file |
Advanced System Parameters: | |
-f[P/S] F | asynchroneous rotation ratio (Period/Period_Orbit) |
-s[P/S] longitude latitude radius dimfactor | Spot on Primary/Secondary |
-e e w | eccentric orbit, e = eccentricity, w = periastron length |
-t[P/M/D] value | period/total mass/separation in days/solar masses/solar radii |
Debugging Options: | |
-D[vwb] | Debug [verbose,warn,busy] |
Computation Options: | |
-Plamda_zero | Profile of absorption line at rest wavelength lamda_zero (nm) |
-Nnn | nn steps for lightcurve (default 80) |
-M | use Model atmosphere |
-O[P/S] value | ![]() |
-F | compute Fractional visibility |
-L[0-2] | Limb darkening method (default: linear = 0) |
0: linear | |
1: quadratic | |
2: square root | |
-R[1-9] | Reflection treatment |
0: Point source | |
1-9: iterations for mutual reflection | |
-a[P/S] value | Albedo of Primary/Secondary |
(default: 0.5 for T ![]() |
|
-3CM | Third light, C: colour code, M: magnitude |
Data Fitting: | |
-X[..] Tolerance | Fit the parameters coded in string [..] |
012345: q, i, rf1, rf2, t1, t2 | |
67: e, w (eccentric orbit) | |
89: F(Primary),F(Secondary) (asynchroneous rotation) | |
A-H: 2 Spots (Primary) | |
I-P: 2 Spots (Secondary) | |
QR: Mass, Separation | |
a-l: Third Light (UBVRIJHKuvby) | |
(Tolerance = 0.001 to use Simulated Annealing) | |
-Y[as above] Step1 Step2 | Chi Square Map (2 Parameters) |
This document was generated using the LaTeX2HTML translator Version 2008 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_images -split 0 -show_section_numbers -no_navigation -link 2 UserManual.tex
The translation was initiated by rainer wichmann on 2018-06-22