![]() |
rochePlot
|
Schematically plot the evolution of a binary star. More...
Modules | |
| module | input_data |
| Contains data from the input file and derived data. | |
| module | plot_settings |
| Contains plot settings. | |
| module | roche_data |
| Contains Roche-lobe data. | |
Functions/Subroutines | |
| program | rocheplot |
| Plots Roche lobes for given binaries. More... | |
| subroutine | find_example_input_file (inputfile) |
| If no input file is specified, try to find the example input file called rochePlot.dat. More... | |
| subroutine | read_input_file (inputfile) |
| Read the lines of the input file containting evolutionary states and compute positions of the Roche lobes. More... | |
| subroutine | initialise_plot () |
| Initialise plot output; open output file, set page, create a white background, print plot title and column headers. More... | |
| subroutine | pgwhitebg () |
| Create a white background when plotting to screen; swap black (ci=0) and white (ci=1) More... | |
| subroutine | plot_disc (xL1, xc, yc, radin, radout) |
| Draws an accretion disc centered on xc,yc between radin and radout. More... | |
| subroutine | plot_binary (itel) |
| Plot each binary; Roche lobes, stars and labels. More... | |
| real function | xmap (il, nl, l1, lim, lr) |
| Map the x-array to plot a right-hand Roche lobe. More... | |
| real function | rtsafe (funcd, x1, x2, xacc) |
| Find the root of a function bracketed by x1,x2 using a combination of a Newton-Raphson and bisection methods. More... | |
| subroutine | rlimit (x, f, df) |
| Calculates outer limit of Roche lobe. More... | |
| subroutine | rline (y, f, df) |
| Calculates value of y^2 for given x^2 value. More... | |
| subroutine | plot_scale_bar () |
| Plot scale bar. More... | |
| subroutine | plot_rotation_axis () |
| Plot axis of rotation for the binaries. More... | |
Schematically plot the evolution of a binary star.
| program rocheplot | ( | ) |
Plots Roche lobes for given binaries.
For each graph, read m1, m2, a, r1, r2:
The plot is scaled automatically:
References input_data::csep, find_example_input_file(), initialise_plot(), input_data::ktel, input_data::label, plot_settings::outputfile, plot_binary(), plot_rotation_axis(), plot_scale_bar(), read_input_file(), input_data::text, plot_settings::use_colour, input_data::xt, and input_data::yt.

| subroutine find_example_input_file | ( | character, dimension(*), intent(out) | inputfile | ) |
If no input file is specified, try to find the example input file called rochePlot.dat.
| inputfile | Name of the input file |
Referenced by rocheplot().

| subroutine read_input_file | ( | character, dimension(*), intent(in) | inputfile | ) |
Read the lines of the input file containting evolutionary states and compute positions of the Roche lobes.
| inputfile | Name of the input file |
References input_data::age_mc, input_data::blen, input_data::ce, roche_data::cediff, roche_data::const1, input_data::csep, input_data::hei, input_data::iscr, input_data::klabel, input_data::ktel, input_data::label, input_data::ng, input_data::pb, roche_data::q, roche_data::q11, input_data::rad1, input_data::rad2, input_data::rlag, input_data::rlef, rlimit(), input_data::rm1, input_data::rm2, input_data::rrig, input_data::rsep, input_data::text, input_data::title, input_data::txt, plot_settings::xleft, plot_settings::xrigh, input_data::xt, input_data::xtl, plot_settings::ymargin, plot_settings::ysize, and input_data::yt.
Referenced by rocheplot().


| subroutine initialise_plot | ( | ) |
Initialise plot output; open output file, set page, create a white background, print plot title and column headers.
References input_data::iscr, input_data::klabel, input_data::label, plot_settings::lw, plot_settings::outputfile, pgwhitebg(), input_data::title, plot_settings::use_colour, plot_settings::xleft, plot_settings::xrigh, input_data::xtl, plot_settings::ymargin, and plot_settings::ysize.
Referenced by rocheplot().


| subroutine pgwhitebg | ( | ) |
Create a white background when plotting to screen; swap black (ci=0) and white (ci=1)
Referenced by initialise_plot().

| subroutine plot_disc | ( | real, intent(in) | xL1, |
| real, intent(in) | xc, | ||
| real, intent(in) | yc, | ||
| real, intent(in) | radin, | ||
| real, intent(in) | radout | ||
| ) |
Draws an accretion disc centered on xc,yc between radin and radout.
| xL1 | Horizontal position of L1 point |
| xc | Horizontal position of centre of disc |
| yc | Vertical position of centre of disc |
| radin | Inner radius of the disc |
| radout | Outer radius of the disc |
Referenced by plot_binary().

| subroutine plot_binary | ( | integer, intent(in) | itel | ) |
Plot each binary; Roche lobes, stars and labels.
| itel | Number of the current binary/evolutionary state (1-ktel) |
References input_data::age_mc, input_data::ce, roche_data::cediff, roche_data::const1, roche_data::const2, input_data::hei, input_data::klabel, input_data::ktel, input_data::label, input_data::npl, roche_data::onexsq, input_data::pb, plot_disc(), roche_data::q, roche_data::q11, input_data::rad1, input_data::rad2, input_data::rlag, input_data::rlef, rline(), input_data::rm1, input_data::rm2, input_data::rrig, input_data::rsep, input_data::txt, plot_settings::use_colour, plot_settings::xpl, roche_data::xsq, input_data::xtl, plot_settings::ymargin, plot_settings::ypl, plot_settings::ypl2, plot_settings::yshift, and plot_settings::ysize.
Referenced by rocheplot().


| real function xmap | ( | integer, intent(in) | il, |
| integer, intent(in) | nl, | ||
| real, intent(in) | l1, | ||
| real, intent(in) | lim, | ||
| integer, intent(in) | lr | ||
| ) |
Map the x-array to plot a right-hand Roche lobe.
| il | Current point number in array (1-nl) |
| nl | Total number of points in array |
| l1 | L1 position |
| lim | Extreme extent of Roche lobe (farthest from L1) |
| lr | Left (1) or right (2) Roche lobe |
| xmap | Mapped position of il-th x value |
| real function rtsafe | ( | funcd, | |
| real, intent(in) | x1, | ||
| real, intent(in) | x2, | ||
| real, intent(in) | xacc | ||
| ) |
Find the root of a function bracketed by x1,x2 using a combination of a Newton-Raphson and bisection methods.
| funcd | User-provided function |
| x1 | Lower limit for solution |
| x2 | Upper limit for solution |
| xacc | Desired accuracy for solution |
| subroutine rlimit | ( | real, intent(in) | x, |
| real, intent(out) | f, | ||
| real, intent(out) | df | ||
| ) |
Calculates outer limit of Roche lobe.
| x | Position along binary axis |
| f | Roche potential |
| df | First derivative of f w.r.t. x |
References roche_data::const1, roche_data::q, and roche_data::q11.
Referenced by read_input_file().

| subroutine rline | ( | real, intent(in) | y, |
| real, intent(out) | f, | ||
| real, intent(out) | df | ||
| ) |
Calculates value of y^2 for given x^2 value.
| y | Position along binary axis |
| f | Position of Roche surface |
| df | First derivative of f w.r.t. x |
References roche_data::const2, roche_data::onexsq, roche_data::q, and roche_data::xsq.
Referenced by plot_binary().

| subroutine plot_scale_bar | ( | ) |
Plot scale bar.
References input_data::blen, input_data::hei, input_data::ktel, plot_settings::ymargin, and plot_settings::yshift.
Referenced by rocheplot().

| subroutine plot_rotation_axis | ( | ) |
Plot axis of rotation for the binaries.
References plot_settings::ymargin, and plot_settings::yshift.
Referenced by rocheplot().

1.8.9.1