mirror of
https://asciireactor.com/otho/cloudy-agn.git
synced 2024-12-05 01:45:08 +00:00
cleanup
This commit is contained in:
parent
82ab654923
commit
0c5e8f56af
@ -1,116 +0,0 @@
|
|||||||
""" A program to recreate the average spectrum fit for ngc 5548 in Magdziarz et al 1998 """
|
|
||||||
import math
|
|
||||||
import scipy
|
|
||||||
import numpy
|
|
||||||
|
|
||||||
PI=3.14159265358979323846;
|
|
||||||
PLANCK_CONST=4.135668e-15; # in eV * s
|
|
||||||
BOLTZMANN_CONST=0.00008617332385; # in eV / K
|
|
||||||
RYDBERG_CONST=1.0973731568539e7; # in 1 / m
|
|
||||||
RYDBERG_UNIT_EV=13.60569252; # in eV
|
|
||||||
RYDBERG_UNIT_ANGSTROM=1e10/RYDBERG_CONST; # in A
|
|
||||||
|
|
||||||
CONT_MIN_ENERGY_keV = 1e-3;
|
|
||||||
CONT_MAX_ENERGY_keV = 1e2;
|
|
||||||
CONT_MIN_X = math.log10(CONT_MIN_ENERGY_keV);
|
|
||||||
CONT_MAX_X = math.log10(CONT_MAX_ENERGY_keV);
|
|
||||||
CONT_WIDTH_X = CONT_MAX_X - CONT_MIN_X;
|
|
||||||
CONT_MIN_VAL = 1e-35;
|
|
||||||
|
|
||||||
""" Cloudy's continuum domain, for reference, version 13.3 """
|
|
||||||
CLOUDY_EMM = 1.001e-8; # in Rydberg
|
|
||||||
CLOUDY_EGAMRY = 7.354e6; # in Rydberg
|
|
||||||
CLOUDY_MIN_EV = CLOUDY_EMM*RYDBERG_UNIT_EV;
|
|
||||||
CLOUDY_MAX_EV = CLOUDY_EGAMRY*RYDBERG_UNIT_EV;
|
|
||||||
|
|
||||||
IN_EV_2500A = 12398.41929/2500;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
""" Curve Parameters from MNRAS 301 Mdagziarz 1998 """
|
|
||||||
|
|
||||||
|
|
||||||
α_HC = 0.86
|
|
||||||
|
|
||||||
|
|
||||||
# Soft Excess
|
|
||||||
α_SE_sec2_1 = 1.1 # Quoted consistent with Korista 1995 and Marshall 1997
|
|
||||||
kT_SE_sec2_1 = .56
|
|
||||||
|
|
||||||
|
|
||||||
# Comtonization fitted to ROSAT data
|
|
||||||
# ξ =
|
|
||||||
|
|
||||||
# OSSE data fit
|
|
||||||
α_HC = 0.86
|
|
||||||
R = 0.96
|
|
||||||
E_cutoff_HC = .120 # keV, phase 1
|
|
||||||
F_HC = .38 # keV cm⁻² s⁻¹
|
|
||||||
# E_cutoff_HC = 118 # keV, phase 3
|
|
||||||
# F_HC = .61 # keV cm⁻² s⁻¹
|
|
||||||
|
|
||||||
|
|
||||||
# Section 3.3 values
|
|
||||||
kT_SE_sec3_2 = .270 # keV
|
|
||||||
α_SE_sec3_2 = 1.13
|
|
||||||
kT_HC_sec3_2 = 55 # keV
|
|
||||||
α_HC_sec3_2 = .76
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def hν_at(i,n):
|
|
||||||
""" returns hν coordinate of bin i out of n """
|
|
||||||
relative_coord = i/n
|
|
||||||
x_coord = relative_coord*CONT_WIDTH_X + CONT_MIN_X;
|
|
||||||
return math.pow(10,x_coord);
|
|
||||||
|
|
||||||
def histogram_table(n):
|
|
||||||
output = []
|
|
||||||
# max=0,min=1
|
|
||||||
indices = range(n)
|
|
||||||
for i in range(0,n):
|
|
||||||
hν = hν_at(i,n);
|
|
||||||
value = (hν,sed(hν))
|
|
||||||
# if (output.value[hν] > max) max = output.value[hν];
|
|
||||||
# if (output.value[hν] < min) min = output.value[hν];
|
|
||||||
output.append(value)
|
|
||||||
|
|
||||||
# Add a final point at 100 KeV
|
|
||||||
hν = 1e2;
|
|
||||||
value = sed(hν);
|
|
||||||
output.append((hν,value))
|
|
||||||
return output;
|
|
||||||
|
|
||||||
def sed(hν):
|
|
||||||
magnitude=0.0;
|
|
||||||
magnitude += powlaw_cutoff(hν,α_HC,E_cutoff_HC,1) # OSSE data fit
|
|
||||||
# magnitude += powlaw_cutoff(hν,α_SE_sec2_1,kT_SE_sec2_1,1)
|
|
||||||
# magnitude += powlaw_cutoff(hν,α_SE_sec3_2,kT_SE_sec3_2,1)
|
|
||||||
#magnitude += compt_approx(hν,-1.3,.345,.0034,1)
|
|
||||||
if magnitude < CONT_MIN_VAL: return CONT_MIN_VAL
|
|
||||||
# magnitude = CONT_MIN_VAL;
|
|
||||||
return magnitude;
|
|
||||||
|
|
||||||
def powlaw_cutoff(hν,α,E_cutoff,norm):
|
|
||||||
low_cutoff = .1
|
|
||||||
resultant = norm
|
|
||||||
resultant *= math.exp(-hν/E_cutoff)
|
|
||||||
#resultant *= math.exp(-low_cutoff/hν)
|
|
||||||
resultant *= math.pow(hν,1+α)
|
|
||||||
return resultant
|
|
||||||
|
|
||||||
def compt_approx(hν,α,kT_keV,cutoff_keV,norm):
|
|
||||||
magnitude = math.pow(hν,(1+α))
|
|
||||||
magnitude *= math.exp(-(hν/kT_keV))
|
|
||||||
magnitude *= math.exp(-(cutoff_keV/hν))
|
|
||||||
magnitude *= norm
|
|
||||||
return magnitude
|
|
||||||
|
|
||||||
test_table = histogram_table(500)
|
|
||||||
|
|
||||||
for pair in test_table:
|
|
||||||
print (pair[0],pair[1])
|
|
@ -1,72 +0,0 @@
|
|||||||
#!/usr/bin/env
|
|
||||||
|
|
||||||
use strict; use warnings; use 5.010; use utf8;
|
|
||||||
use IO::Handle;
|
|
||||||
use File::Temp "tempfile";
|
|
||||||
|
|
||||||
open(my $spectrum_file,"spectrum");
|
|
||||||
|
|
||||||
# my @x = ();
|
|
||||||
# my @y = ();
|
|
||||||
# my($xi,$yi);
|
|
||||||
# ($xi,$yi)=(0,0);
|
|
||||||
|
|
||||||
# while(my $line = <$spectrum_file>) {
|
|
||||||
# $line =~ /([0-9\.]+)\s+([0-9\.]+)/;
|
|
||||||
# ($x[$xi],$y[$yi])=($1,$2);
|
|
||||||
# $xi++; $yi++;
|
|
||||||
# }
|
|
||||||
|
|
||||||
# while (my $line = <$spectrum_file>) {
|
|
||||||
# print $line;
|
|
||||||
# }
|
|
||||||
|
|
||||||
my($T,$N) = tempfile("spectrum-XXXXXXXX", "UNLINK", 1);
|
|
||||||
# for my $t (100..500)
|
|
||||||
# { say $T $t*sin($t*0.1), " ", $t*cos($t*0.1); }
|
|
||||||
while (my $_ = <$spectrum_file>) {
|
|
||||||
chomp;
|
|
||||||
say $T $_;
|
|
||||||
}
|
|
||||||
close $T;
|
|
||||||
open my $P, "|-", "gnuplot" or die;
|
|
||||||
printflush $P qq[
|
|
||||||
unset key
|
|
||||||
set logscale xy
|
|
||||||
set xrange [.001,1000]
|
|
||||||
plot "$N"
|
|
||||||
];
|
|
||||||
<STDIN>;
|
|
||||||
close $P;
|
|
||||||
|
|
||||||
|
|
||||||
# sub histogram_table(n) {
|
|
||||||
# my @output = ()
|
|
||||||
# my @x = ()
|
|
||||||
# my @y = ()
|
|
||||||
# output.append(x)
|
|
||||||
# output.append(y)
|
|
||||||
# max=0
|
|
||||||
# min=1
|
|
||||||
# indices = range(n)
|
|
||||||
# for i in range(0,n):
|
|
||||||
# hνᗉkeVᗆ = hνᗉkeVᗆ_at(i,n);
|
|
||||||
# x.append(hνᗉkeVᗆ)
|
|
||||||
# value = total(hνᗉkeVᗆ,1,1,1)
|
|
||||||
# y.append(value)
|
|
||||||
# if (value > max): max = value;
|
|
||||||
# if (value < min): min = value;
|
|
||||||
# # Add a final point at 100 KeV
|
|
||||||
# hνᗉkeVᗆ = 1e2;
|
|
||||||
# x.append(hνᗉkeVᗆ)
|
|
||||||
# y.append(total(hνᗉkeVᗆ,1,1,1))
|
|
||||||
# output.append(x)
|
|
||||||
# output.append(y)
|
|
||||||
# return output;
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
close($spectrum_file)
|
|
||||||
__END__
|
|
@ -1,139 +0,0 @@
|
|||||||
""" A program to recreate the average spectrum fit for ngc 5548 in Magdziarz et al 1998 """
|
|
||||||
import math
|
|
||||||
import scipy
|
|
||||||
import numpy
|
|
||||||
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
|
|
||||||
PI=3.14159265358979323846;
|
|
||||||
PLANCK_CONST=4.135668e-15; # in eV * s
|
|
||||||
# Boltzman Constant
|
|
||||||
kᵦᗉeVᓯKᗆ=0.00008617332385; # in eV / K
|
|
||||||
kᵦᗉkeVᓯKᗆ=kᵦᗉeVᓯKᗆ/1000;
|
|
||||||
RYDBERG_CONST=1.0973731568539e7; # in 1 / m
|
|
||||||
RYDBERG_UNITᗉeVᗆ=13.60569252; # in eV
|
|
||||||
RYDBERG_UNIT_ANGSTROM=1e10/RYDBERG_CONST; # in A
|
|
||||||
|
|
||||||
CONT_MIN_ENERGYᗉkeVᗆ = 1e-3;
|
|
||||||
CONT_MAX_ENERGYᗉkeVᗆ = 1e2;
|
|
||||||
CONT_MIN_XᗉkeVᗆ = math.log10(CONT_MIN_ENERGYᗉkeVᗆ);
|
|
||||||
CONT_MAX_XᗉkeVᗆ = math.log10(CONT_MAX_ENERGYᗉkeVᗆ);
|
|
||||||
CONT_WIDTH_XᗉkeVᗆ = CONT_MAX_XᗉkeVᗆ - CONT_MIN_XᗉkeVᗆ;
|
|
||||||
CONT_MIN_VAL = 1e-35;
|
|
||||||
|
|
||||||
""" Cloudy's continuum domain, for reference, version 13.3 """
|
|
||||||
CLOUDY_EMMᗉRydbergᗆ = 1.001e-8; # in Rydberg
|
|
||||||
CLOUDY_EγᗉRydbergᗆ = 7.354e6; # in Rydberg
|
|
||||||
CLOUDY_MINᗉeVᗆ= CLOUDY_EMMᗉRydbergᗆ*RYDBERG_UNITᗉeVᗆ;
|
|
||||||
CLOUDY_MAXᗉeVᗆ= CLOUDY_EγᗉRydbergᗆ*RYDBERG_UNITᗉeVᗆ;
|
|
||||||
|
|
||||||
hcᓯ2500ᗉeVᗆ = 12398.41929/2500;
|
|
||||||
|
|
||||||
""" Returns the SED as a histrogram (list of floats) with n bins"""
|
|
||||||
# def histogram_table(n):
|
|
||||||
# output = []
|
|
||||||
# # max=0,min=1
|
|
||||||
# indices = range(n)
|
|
||||||
# for i in range(0,n):
|
|
||||||
# hνᗉkeVᗆ = hνᗉkeVᗆ_at(i,n);
|
|
||||||
# value = (hνᗉkeVᗆ,sum(hνᗉkeVᗆ))
|
|
||||||
# # if (output.value[hνᗉkeVᗆ] > max) max = output.value[hνᗉkeVᗆ];
|
|
||||||
# # if (output.value[hνᗉkeVᗆ] < min) min = output.value[hνᗉkeVᗆ];
|
|
||||||
# output.append(value)
|
|
||||||
#
|
|
||||||
# # Add a final point at 100 KeV
|
|
||||||
# hνᗉkeVᗆ = 1e2;
|
|
||||||
# value = sum(hνᗉkeVᗆ);
|
|
||||||
# output.append((hνᗉkeVᗆ,value))
|
|
||||||
# return output;
|
|
||||||
|
|
||||||
def histogram_table(n):
|
|
||||||
output = []
|
|
||||||
x = []
|
|
||||||
y = []
|
|
||||||
output.append(x)
|
|
||||||
output.append(y)
|
|
||||||
max=0
|
|
||||||
min=1
|
|
||||||
indices = range(n)
|
|
||||||
for i in range(0,n):
|
|
||||||
hνᗉkeVᗆ = hνᗉkeVᗆ_at(i,n);
|
|
||||||
x.append(hνᗉkeVᗆ)
|
|
||||||
value = total(hνᗉkeVᗆ,1,1,1)
|
|
||||||
y.append(value)
|
|
||||||
if (value > max): max = value;
|
|
||||||
if (value < min): min = value;
|
|
||||||
# Add a final point at 100 KeV
|
|
||||||
hνᗉkeVᗆ = 1e2;
|
|
||||||
x.append(hνᗉkeVᗆ)
|
|
||||||
y.append(total(hνᗉkeVᗆ,1,1,1))
|
|
||||||
output.append(x)
|
|
||||||
output.append(y)
|
|
||||||
return output;
|
|
||||||
|
|
||||||
|
|
||||||
# Sums 2 power-law cutoff functions and the disk contribution at energy coordinate hνᗉkeVᗆ in keV.
|
|
||||||
# Coefficients should be equal to functions at hνᗉkeVᗆ = ?? keV
|
|
||||||
def total(hνᗉkeVᗆ,C1=1.0,C2=1.0,C3=1.0):
|
|
||||||
magnitude=0.0
|
|
||||||
# accretion disk blackbody continuum has α=1/3
|
|
||||||
magnitude += powlaw_cutoff(hνᗉkeVᗆ,1/3,3e3,6e6,C1)
|
|
||||||
magnitude += powlaw_cutoff(hνᗉkeVᗆ,-1.1,.01/kᵦᗉkeVᓯKᗆ,1/kᵦᗉkeVᓯKᗆ,C2)
|
|
||||||
magnitude += powlaw_cutoff(hνᗉkeVᗆ,-0.8,.01/kᵦᗉkeVᓯKᗆ,100/kᵦᗉkeVᓯKᗆ,C3)
|
|
||||||
if magnitude < CONT_MIN_VAL: return CONT_MIN_VAL
|
|
||||||
# print (magnitude)
|
|
||||||
return magnitude;
|
|
||||||
|
|
||||||
|
|
||||||
def hνᗉkeVᗆ_at(i,n):
|
|
||||||
""" returns hνᗉkeVᗆ coordinate in keV of bin i out of n """
|
|
||||||
relative_coord = i/n
|
|
||||||
hν = relative_coord*CONT_WIDTH_XᗉkeVᗆ + CONT_MIN_XᗉkeVᗆ
|
|
||||||
return math.pow(10,hν)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def powlaw_cutoff(hνᗉkeVᗆ,α,T1,T2,coefficient):
|
|
||||||
resultant = coefficient
|
|
||||||
resultant *= math.exp(-hνᗉkeVᗆ/(kᵦᗉkeVᓯKᗆ*T1))
|
|
||||||
resultant *= math.exp(-kᵦᗉkeVᓯKᗆ*T2/hνᗉkeVᗆ)
|
|
||||||
resultant *= math.pow(hνᗉkeVᗆ,1+α)
|
|
||||||
#print(math.exp(-hνᗉkeVᗆ/(kᵦᗉkeVᓯKᗆ*T1)))
|
|
||||||
#print(-hνᗉkeVᗆ/(kᵦᗉkeVᓯKᗆ*T1))
|
|
||||||
#print(math.exp(-kᵦᗉkeVᓯKᗆ*T2/hνᗉkeVᗆ))
|
|
||||||
#print(math.pow(hνᗉkeVᗆ,1+α))
|
|
||||||
#print(resultant)
|
|
||||||
#print("──────────────────────────────────────────────────────────────────────────")
|
|
||||||
return resultant
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
test_table = histogram_table(500)
|
|
||||||
|
|
||||||
fig = plt.figure()
|
|
||||||
sed_plot = fig.add_subplot(111)
|
|
||||||
sed_plot.set_xscale("log")
|
|
||||||
sed_plot.set_yscale("log")
|
|
||||||
sed_plot.set_xlim(CONT_MIN_XᗉkeVᗆ,CONT_MAX_XᗉkeVᗆ)
|
|
||||||
sed_plot.set_ylim(1e-1,1e2)
|
|
||||||
sed_plot.set_aspect(1)
|
|
||||||
sed_plot.set_title("log-log plot of SED")
|
|
||||||
|
|
||||||
sed_plot.plot(test_table[0],test_table[1])
|
|
||||||
|
|
||||||
fig.show()
|
|
||||||
|
|
||||||
#for pair in test_table:
|
|
||||||
# print (pair[0],pair[1])
|
|
||||||
|
|
||||||
|
|
||||||
# index=0
|
|
||||||
# for energy in test_table[0]:
|
|
||||||
# print (energy,test_table[1][index])
|
|
||||||
# index += 1
|
|
||||||
|
|
||||||
|
|
@ -1,303 +0,0 @@
|
|||||||
#ifndef sed_hpp
|
|
||||||
#define sed_hpp
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "agn.hpp"
|
|
||||||
|
|
||||||
namespace agn {
|
|
||||||
|
|
||||||
// Continuum domain, step size constant in log space
|
|
||||||
const double CONT_MIN_ENERGY=1e-2; // eV
|
|
||||||
const double CONT_MAX_ENERGY=1e5; // eV
|
|
||||||
const double CONT_MIN_X=log10(CONT_MIN_ENERGY);
|
|
||||||
const double CONT_MAX_X=log10(CONT_MAX_ENERGY);
|
|
||||||
const double CONT_WIDTH_X=CONT_MAX_X - CONT_MIN_X;
|
|
||||||
const double CONT_MIN_VAL=1e-35;
|
|
||||||
|
|
||||||
// Cloudy's continuum domain, for reference, version 13.3
|
|
||||||
const double CLOUDY_EMM = 1.001e-8; // in Rydberg
|
|
||||||
const double CLOUDY_EGAMRY = 7.354e6; // in Rydberg
|
|
||||||
const double CLOUDY_MIN_EV=CLOUDY_EMM*RYDBERG_UNIT_EV;
|
|
||||||
const double CLOUDY_MAX_EV=CLOUDY_EGAMRY*RYDBERG_UNIT_EV;
|
|
||||||
|
|
||||||
const double IN_EV_2500A=12398.41929/2500;
|
|
||||||
|
|
||||||
// Pulled from cloudy 17.00, first version
|
|
||||||
const double emm = 1.001e-8f;
|
|
||||||
const double egamry = 7.354e6f;
|
|
||||||
|
|
||||||
|
|
||||||
// SEDs are represented by 2d histogram tables.
|
|
||||||
struct sed_table {
|
|
||||||
std::string header;
|
|
||||||
table_1d value;
|
|
||||||
};
|
|
||||||
|
|
||||||
class sed_pow_law {
|
|
||||||
public:
|
|
||||||
// Continuum output functions
|
|
||||||
// Returns histogram with n bins evenly space in log space
|
|
||||||
sed_table histogram_table(int n);
|
|
||||||
|
|
||||||
// Argument is photon energy in eV
|
|
||||||
double sed(double hnu);
|
|
||||||
double eval_uv(double hnu);
|
|
||||||
double eval_xray(double hnu);
|
|
||||||
|
|
||||||
// Determined differently to be of use as the
|
|
||||||
// xray coefficient.
|
|
||||||
double SED_at_2KeV();
|
|
||||||
|
|
||||||
// Continuum shape arguments
|
|
||||||
double _T; //TCut
|
|
||||||
double _alpha_ox;
|
|
||||||
double _alpha_x;
|
|
||||||
double _alpha_uv;
|
|
||||||
double _cutoff_uv_rydberg;
|
|
||||||
double _cutoff_xray_rydberg;
|
|
||||||
double _log_radius_in_cm;
|
|
||||||
|
|
||||||
// Derived values
|
|
||||||
double _cutoff_uv_eV; // IRCut
|
|
||||||
double _cutoff_xray_eV; // lowend_cutoff
|
|
||||||
double _radius_in_cm;
|
|
||||||
double _radius_in_cm_squared;
|
|
||||||
double _scaling_factor;
|
|
||||||
double _xray_coefficient;
|
|
||||||
|
|
||||||
sed_pow_law (
|
|
||||||
double T,
|
|
||||||
double alpha_ox,
|
|
||||||
double alpha_x,
|
|
||||||
double alpha_uv,
|
|
||||||
double cutoff_uv_rydberg,
|
|
||||||
double cutoff_xray_rydberg,
|
|
||||||
double log_radius_in_cm,
|
|
||||||
double scaling_factor = 1.0
|
|
||||||
|
|
||||||
// EL[e] model scaling factor
|
|
||||||
// double scaling_factor = 1.39666E44
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Returns coord in eV for given relative coord.
|
|
||||||
double hnu_at(int i,int n);
|
|
||||||
|
|
||||||
// Takes an SED table as input and returns a string with format:
|
|
||||||
// '<h*nu>\t<flux>\n' for each energy-flux pair
|
|
||||||
std::string format_sed_table(sed_table table);
|
|
||||||
|
|
||||||
// Read continuum from file with '<h*nu>\t<flux>\n' formatting.
|
|
||||||
// Will ignore up to 1 header.
|
|
||||||
sed_table read_sed_table(std::ifstream& table_file);
|
|
||||||
|
|
||||||
// Does the same but converts hnu from rydberg to eV.
|
|
||||||
sed_table read_and_convert_sed_table(std::ifstream& table_file);
|
|
||||||
|
|
||||||
// Cloudy takes the SED density as input. This function outputs
|
|
||||||
// the corresponding SED table's SED density function in the form
|
|
||||||
// of a cloudy input script "interpolate" command.
|
|
||||||
std::string cloudy_interpolate_str(sed_table SED);
|
|
||||||
|
|
||||||
} // end namespace agn
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
agn::sed_table agn::read_sed_table(std::ifstream& table_file) {
|
|
||||||
sed_table resultant;
|
|
||||||
std::string scratch;
|
|
||||||
int current_line=0;
|
|
||||||
double hnu;
|
|
||||||
std::getline(table_file,scratch);
|
|
||||||
if(!isdigit(scratch[0])) {
|
|
||||||
resultant.header = scratch;
|
|
||||||
current_line++;
|
|
||||||
}
|
|
||||||
while(!table_file.eof()) {
|
|
||||||
table_file >> hnu;
|
|
||||||
table_file >> resultant.value[hnu];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
agn::sed_table agn::read_and_convert_sed_table(std::ifstream& table_file) {
|
|
||||||
sed_table resultant;
|
|
||||||
std::string scratch;
|
|
||||||
int current_line=0;
|
|
||||||
double hnu_in_ryd,hnu_in_ev,value;
|
|
||||||
std::getline(table_file,scratch);
|
|
||||||
if(!isdigit(scratch[0])) {
|
|
||||||
resultant.header = scratch;
|
|
||||||
current_line++;
|
|
||||||
}
|
|
||||||
int c=0;
|
|
||||||
while(!table_file.eof()) {
|
|
||||||
//std::cout << c;
|
|
||||||
table_file >> hnu_in_ryd;
|
|
||||||
hnu_in_ev = hnu_in_ryd*agn::RYDBERG_UNIT_EV;
|
|
||||||
table_file >> resultant.value[hnu_in_ev];
|
|
||||||
getline(table_file,scratch);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string agn::format_sed_table(agn::sed_table table) {
|
|
||||||
std::stringstream output;
|
|
||||||
if (!table.header.empty()) output << table.header;
|
|
||||||
output << std::setprecision(5);
|
|
||||||
agn::table2d::iterator table_iterator;
|
|
||||||
table_iterator=table.value.begin();
|
|
||||||
while(table_iterator != table.value.end()) {
|
|
||||||
output
|
|
||||||
<< std::fixed
|
|
||||||
<< table_iterator->first
|
|
||||||
<< "\t"
|
|
||||||
<< std::scientific
|
|
||||||
<< table_iterator->second
|
|
||||||
<< "\n";
|
|
||||||
table_iterator++;
|
|
||||||
}
|
|
||||||
return output.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string agn::cloudy_interpolate_str(agn::sed_table table) {
|
|
||||||
std::stringstream output;
|
|
||||||
agn::table2d::iterator table_iterator = table.value.begin();
|
|
||||||
// Lead in to uv bump at slope=2 in log(energy [rydberg]) space
|
|
||||||
double energy_in_rydbergs = table_iterator->first
|
|
||||||
/ agn::RYDBERG_UNIT_EV;
|
|
||||||
double log_uv_bump_start = log10( energy_in_rydbergs );
|
|
||||||
double log_lowest_value = log10(table_iterator->second
|
|
||||||
/ table_iterator->first);
|
|
||||||
double log_min_energy = log10(agn::CLOUDY_EMM)
|
|
||||||
- 1;
|
|
||||||
double log_SED_density = log_lowest_value
|
|
||||||
- 2*(log_uv_bump_start
|
|
||||||
- log_min_energy);
|
|
||||||
if ( log_SED_density < 1e-36 ) log_SED_density = 1e-36;
|
|
||||||
output
|
|
||||||
<< "interpolate ("
|
|
||||||
<< pow(10,log_min_energy)
|
|
||||||
<< " "
|
|
||||||
<< log_SED_density
|
|
||||||
<< ")";
|
|
||||||
int count=0;
|
|
||||||
|
|
||||||
while(table_iterator != table.value.end()) {
|
|
||||||
energy_in_rydbergs = table_iterator->first
|
|
||||||
/ agn::RYDBERG_UNIT_EV;
|
|
||||||
double log_SED_density = log10( table_iterator->second
|
|
||||||
/ table_iterator->first);
|
|
||||||
if ((count%5)==0) output << "\n" << "continue ";
|
|
||||||
else output << " ";
|
|
||||||
output
|
|
||||||
<< "("
|
|
||||||
<< energy_in_rydbergs
|
|
||||||
<< " "
|
|
||||||
<< log_SED_density
|
|
||||||
<< ")";
|
|
||||||
count++;
|
|
||||||
table_iterator++;
|
|
||||||
}
|
|
||||||
// Trail off at slope=-2 in log(energy [rydberg]) space
|
|
||||||
while ( energy_in_rydbergs < agn::CLOUDY_EGAMRY ) {
|
|
||||||
double log_energy = log10(energy_in_rydbergs);
|
|
||||||
energy_in_rydbergs = pow(10,log_energy+1);
|
|
||||||
log_SED_density -= 2;
|
|
||||||
output
|
|
||||||
<< "("
|
|
||||||
<< energy_in_rydbergs
|
|
||||||
<< " "
|
|
||||||
<< log_SED_density
|
|
||||||
<< ")";
|
|
||||||
}
|
|
||||||
return output.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
double agn::hnu_at(int i,int n) {
|
|
||||||
double relative_coord=(double)(i)/n;
|
|
||||||
double x_coord = relative_coord*CONT_WIDTH_X + CONT_MIN_X;
|
|
||||||
return pow(10,x_coord);
|
|
||||||
}
|
|
||||||
|
|
||||||
agn::sed_table agn::sed_pow_law::histogram_table(int n){
|
|
||||||
agn::sed_table output;
|
|
||||||
double max=0,min=1,hnu;
|
|
||||||
for(int i=0; i<n; i++) {
|
|
||||||
hnu = hnu_at(i,n);
|
|
||||||
output.value[hnu] = this->sed(hnu);
|
|
||||||
if (output.value[hnu] > max) max = output.value[hnu];
|
|
||||||
if (output.value[hnu] < min) min = output.value[hnu];
|
|
||||||
}
|
|
||||||
// Add a final point at 100 KeV
|
|
||||||
hnu = 1e5;
|
|
||||||
output.value[hnu] = this->sed(hnu);
|
|
||||||
return output;
|
|
||||||
}
|
|
||||||
|
|
||||||
double agn::sed_pow_law::sed(double hnu) {
|
|
||||||
double magnitude=0.0;
|
|
||||||
magnitude += this->eval_uv(hnu);
|
|
||||||
magnitude += this->eval_xray(hnu);
|
|
||||||
if (magnitude < agn::CONT_MIN_VAL) return agn::CONT_MIN_VAL;
|
|
||||||
return magnitude;
|
|
||||||
}
|
|
||||||
double agn::sed_pow_law::eval_uv(double hnu) {
|
|
||||||
double bigbump_kT = _T
|
|
||||||
* agn::BOLTZMANN_CONST;
|
|
||||||
double magnitude = pow(hnu,(1+_alpha_uv))
|
|
||||||
* exp(-(hnu)/bigbump_kT)
|
|
||||||
* exp(-(_cutoff_uv_eV/hnu))
|
|
||||||
* _scaling_factor;
|
|
||||||
if (magnitude < agn::CONT_MIN_VAL) return agn::CONT_MIN_VAL;
|
|
||||||
return magnitude;
|
|
||||||
}
|
|
||||||
double agn::sed_pow_law::eval_xray(double hnu) {
|
|
||||||
return _xray_coefficient
|
|
||||||
* pow(hnu/2000,1+_alpha_x)
|
|
||||||
* exp(-_cutoff_xray_eV/hnu)
|
|
||||||
* _scaling_factor;
|
|
||||||
}
|
|
||||||
|
|
||||||
double agn::sed_pow_law::SED_at_2KeV() {
|
|
||||||
double ELe_at_2500A_no_scale = eval_uv(IN_EV_2500A)
|
|
||||||
/ _scaling_factor;
|
|
||||||
double energy_ratio = 2000/IN_EV_2500A;
|
|
||||||
// Returns EL[e] at 2 KeV
|
|
||||||
return ELe_at_2500A_no_scale
|
|
||||||
* pow(energy_ratio,_alpha_ox + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
agn::sed_pow_law::sed_pow_law (
|
|
||||||
double T,
|
|
||||||
double alpha_ox,
|
|
||||||
double alpha_x,
|
|
||||||
double alpha_uv,
|
|
||||||
double cutoff_uv_rydberg,
|
|
||||||
double cutoff_xray_rydberg,
|
|
||||||
double log_radius_in_cm,
|
|
||||||
double scaling_factor
|
|
||||||
):
|
|
||||||
_T(T),
|
|
||||||
_alpha_ox(alpha_ox),
|
|
||||||
_alpha_x(alpha_x),
|
|
||||||
_alpha_uv(alpha_uv),
|
|
||||||
_cutoff_uv_rydberg(cutoff_uv_rydberg),
|
|
||||||
_cutoff_xray_rydberg(cutoff_xray_rydberg),
|
|
||||||
_log_radius_in_cm(log_radius_in_cm),
|
|
||||||
_scaling_factor(scaling_factor)
|
|
||||||
{
|
|
||||||
_cutoff_uv_eV = cutoff_uv_rydberg*RYDBERG_UNIT_EV;
|
|
||||||
_cutoff_xray_eV = cutoff_xray_rydberg*RYDBERG_UNIT_EV;
|
|
||||||
_radius_in_cm = pow(10,log_radius_in_cm);
|
|
||||||
_radius_in_cm_squared = _radius_in_cm*_radius_in_cm;
|
|
||||||
_xray_coefficient = agn::sed_pow_law::SED_at_2KeV();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,501 +0,0 @@
|
|||||||
0.001 1e-35
|
|
||||||
0.0010232929922807535 1e-35
|
|
||||||
0.0010471285480508996 1e-35
|
|
||||||
0.001071519305237606 1e-35
|
|
||||||
0.0010964781961431851 1e-35
|
|
||||||
0.001122018454301963 1e-35
|
|
||||||
0.0011481536214968829 1e-35
|
|
||||||
0.001174897554939529 1e-35
|
|
||||||
0.001202264434617413 1e-35
|
|
||||||
0.0012302687708123812 1e-35
|
|
||||||
0.0012589254117941675 1e-35
|
|
||||||
0.0012882495516931337 1e-35
|
|
||||||
0.0013182567385564075 1e-35
|
|
||||||
0.0013489628825916532 1e-35
|
|
||||||
0.0013803842646028853 1e-35
|
|
||||||
0.001412537544622754 1e-35
|
|
||||||
0.001445439770745928 1e-35
|
|
||||||
0.0014791083881682072 1e-35
|
|
||||||
0.0015135612484362087 1e-35
|
|
||||||
0.0015488166189124811 1e-35
|
|
||||||
0.001584893192461114 1e-35
|
|
||||||
0.0016218100973589297 1e-35
|
|
||||||
0.0016595869074375598 1e-35
|
|
||||||
0.0016982436524617442 1e-35
|
|
||||||
0.0017378008287493763 1e-35
|
|
||||||
0.0017782794100389228 1e-35
|
|
||||||
0.0018197008586099826 1e-35
|
|
||||||
0.0018620871366628676 1e-35
|
|
||||||
0.0019054607179632482 1e-35
|
|
||||||
0.0019498445997580456 1e-35
|
|
||||||
0.001995262314968879 1e-35
|
|
||||||
0.0020417379446695297 1e-35
|
|
||||||
0.0020892961308540386 1e-35
|
|
||||||
0.0021379620895022326 1e-35
|
|
||||||
0.002187761623949552 1e-35
|
|
||||||
0.00223872113856834 1e-35
|
|
||||||
0.0022908676527677724 1e-35
|
|
||||||
0.0023442288153199225 1e-35
|
|
||||||
0.00239883291901949 1e-35
|
|
||||||
0.002454708915685031 1e-35
|
|
||||||
0.0025118864315095794 1e-35
|
|
||||||
0.0025703957827688645 1e-35
|
|
||||||
0.0026302679918953813 1e-35
|
|
||||||
0.002691534803926914 1e-35
|
|
||||||
0.002754228703338166 1e-35
|
|
||||||
0.002818382931264455 1e-35
|
|
||||||
0.0028840315031266055 1e-35
|
|
||||||
0.0029512092266663842 1e-35
|
|
||||||
0.003019951720402016 1e-35
|
|
||||||
0.003090295432513592 1e-35
|
|
||||||
0.0031622776601683794 1e-35
|
|
||||||
0.003235936569296281 1e-35
|
|
||||||
0.003311311214825911 1e-35
|
|
||||||
0.0033884415613920273 1e-35
|
|
||||||
0.0034673685045253167 1e-35
|
|
||||||
0.0035481338923357532 1e-35
|
|
||||||
0.003630780547701014 1e-35
|
|
||||||
0.003715352290971728 1e-35
|
|
||||||
0.0038018939632056127 1e-35
|
|
||||||
0.003890451449942805 1e-35
|
|
||||||
0.003981071705534973 1e-35
|
|
||||||
0.004073802778041126 1e-35
|
|
||||||
0.004168693834703355 1e-35
|
|
||||||
0.004265795188015926 1e-35
|
|
||||||
0.004365158322401661 1e-35
|
|
||||||
0.0044668359215096305 1e-35
|
|
||||||
0.004570881896148752 1e-35
|
|
||||||
0.004677351412871981 1e-35
|
|
||||||
0.004786300923226385 1e-35
|
|
||||||
0.004897788193684461 1e-35
|
|
||||||
0.005011872336272725 1e-35
|
|
||||||
0.005128613839913648 1e-35
|
|
||||||
0.005248074602497723 1e-35
|
|
||||||
0.005370317963702527 1e-35
|
|
||||||
0.005495408738576248 1e-35
|
|
||||||
0.005623413251903491 1e-35
|
|
||||||
0.005754399373371567 1e-35
|
|
||||||
0.00588843655355589 1e-35
|
|
||||||
0.0060255958607435805 1e-35
|
|
||||||
0.006165950018614822 1e-35
|
|
||||||
0.00630957344480193 1e-35
|
|
||||||
0.006456542290346556 1e-35
|
|
||||||
0.006606934480075964 1e-35
|
|
||||||
0.006760829753919818 1e-35
|
|
||||||
0.006918309709189363 1e-35
|
|
||||||
0.00707945784384138 1e-35
|
|
||||||
0.007244359600749898 1e-35
|
|
||||||
0.007413102413009177 1e-35
|
|
||||||
0.007585775750291836 1e-35
|
|
||||||
0.007762471166286911 1e-35
|
|
||||||
0.007943282347242814 1e-35
|
|
||||||
0.008128305161640995 1e-35
|
|
||||||
0.008317637711026709 1e-35
|
|
||||||
0.008511380382023759 1e-35
|
|
||||||
0.008709635899560805 1e-35
|
|
||||||
0.008912509381337459 1e-35
|
|
||||||
0.009120108393559097 1e-35
|
|
||||||
0.009332543007969905 1e-35
|
|
||||||
0.009549925860214359 1e-35
|
|
||||||
0.009772372209558112 1e-35
|
|
||||||
0.01 1e-35
|
|
||||||
0.010232929922807542 1e-35
|
|
||||||
0.010471285480508996 1e-35
|
|
||||||
0.010715193052376065 1e-35
|
|
||||||
0.01096478196143185 1e-35
|
|
||||||
0.011220184543019636 1e-35
|
|
||||||
0.01148153621496883 1e-35
|
|
||||||
0.011748975549395297 1e-35
|
|
||||||
0.012022644346174132 1e-35
|
|
||||||
0.012302687708123818 1e-35
|
|
||||||
0.012589254117941675 1.3996479694365586e-35
|
|
||||||
0.012882495516931342 8.270588387595168e-35
|
|
||||||
0.013182567385564075 4.686869718494287e-34
|
|
||||||
0.01348962882591654 2.5495183758866658e-33
|
|
||||||
0.013803842646028852 1.3324555672404638e-32
|
|
||||||
0.014125375446227547 6.69650156124801e-32
|
|
||||||
0.01445439770745928 3.2390389883990527e-31
|
|
||||||
0.01479108388168208 1.5091097908171951e-30
|
|
||||||
0.01513561248436208 6.77823828047859e-30
|
|
||||||
0.01548816618912481 2.937315521425098e-29
|
|
||||||
0.015848931924611134 1.229023903677627e-28
|
|
||||||
0.0162181009735893 4.96908168781093e-28
|
|
||||||
0.016595869074375606 1.9427648570657324e-27
|
|
||||||
0.016982436524617443 7.35033495487743e-27
|
|
||||||
0.017378008287493755 2.6930458296420804e-26
|
|
||||||
0.01778279410038923 9.561578992892138e-26
|
|
||||||
0.018197008586099836 3.291978943924586e-25
|
|
||||||
0.018620871366628676 1.0997937687327044e-24
|
|
||||||
0.019054607179632473 3.567553707485399e-24
|
|
||||||
0.019498445997580455 1.1243624803203092e-23
|
|
||||||
0.0199526231496888 3.444955292838125e-23
|
|
||||||
0.020417379446695295 1.0267403190419972e-22
|
|
||||||
0.020892961308540396 2.978443886444978e-22
|
|
||||||
0.021379620895022326 8.414257076941903e-22
|
|
||||||
0.02187761623949553 2.316217559426091e-21
|
|
||||||
0.0223872113856834 6.216040568787896e-21
|
|
||||||
0.022908676527677734 1.6272230934438987e-20
|
|
||||||
0.023442288153199226 4.157203175385443e-20
|
|
||||||
0.02398832919019491 1.037033554390446e-19
|
|
||||||
0.02454708915685031 2.527160323920646e-19
|
|
||||||
0.025118864315095808 6.019034683630338e-19
|
|
||||||
0.025703957827688632 1.4017653709182508e-18
|
|
||||||
0.026302679918953815 3.1935479048228853e-18
|
|
||||||
0.026915348039269153 7.120513330808699e-18
|
|
||||||
0.02754228703338166 1.5544405019374462e-17
|
|
||||||
0.028183829312644536 3.323855537770272e-17
|
|
||||||
0.028840315031266057 6.964516155528575e-17
|
|
||||||
0.029512092266663854 1.4305116343583793e-16
|
|
||||||
0.03019951720402016 2.881441107018318e-16
|
|
||||||
0.030902954325135904 5.693873153980269e-16
|
|
||||||
0.03162277660168379 1.1041876398087576e-15
|
|
||||||
0.03235936569296283 2.1021711242266972e-15
|
|
||||||
0.03311311214825911 3.930358212034185e-15
|
|
||||||
0.033884415613920256 7.219044298575817e-15
|
|
||||||
0.034673685045253165 1.3030207068668043e-14
|
|
||||||
0.03548133892335755 2.311976844535101e-14
|
|
||||||
0.03630780547701014 4.033748022821911e-14
|
|
||||||
0.03715352290971726 6.922386914347113e-14
|
|
||||||
0.038018939632056124 1.1688255134455832e-13
|
|
||||||
0.03890451449942807 1.942277841488844e-13
|
|
||||||
0.039810717055349734 3.177301022377131e-13
|
|
||||||
0.04073802778041128 5.118050485325646e-13
|
|
||||||
0.04168693834703355 8.120079354581276e-13
|
|
||||||
0.04265795188015928 1.2692065385883532e-12
|
|
||||||
0.04365158322401661 1.9548976487697138e-12
|
|
||||||
0.04466835921509633 2.967805516254491e-12
|
|
||||||
0.04570881896148752 4.441843010381999e-12
|
|
||||||
0.046773514128719836 6.555422864803426e-12
|
|
||||||
0.04786300923226385 9.541971463194307e-12
|
|
||||||
0.04897788193684464 1.3701319235101568e-11
|
|
||||||
0.05011872336272725 1.9411422705668308e-11
|
|
||||||
0.05128613839913651 2.713962278441181e-11
|
|
||||||
0.05248074602497723 3.745237873994417e-11
|
|
||||||
0.05370317963702527 5.1022162257801555e-11
|
|
||||||
0.05495408738576243 6.862998325765646e-11
|
|
||||||
0.05623413251903491 9.116188665618086e-11
|
|
||||||
0.057543993733715666 1.1959774736453685e-10
|
|
||||||
0.0588843655355589 1.5499083779831052e-10
|
|
||||||
0.060255958607435746 1.984369787187912e-10
|
|
||||||
0.06165950018614822 2.510326273124928e-10
|
|
||||||
0.0630957344480193 3.1382200360394453e-10
|
|
||||||
0.06456542290346556 3.8773428111463193e-10
|
|
||||||
0.06606934480075957 4.735129171793244e-10
|
|
||||||
0.06760829753919818 5.716402935905871e-10
|
|
||||||
0.06918309709189363 6.822618784025435e-10
|
|
||||||
0.0707945784384138 8.051149896910117e-10
|
|
||||||
0.07244359600749899 9.39467823519304e-10
|
|
||||||
0.07413102413009177 1.0840745931609151e-09
|
|
||||||
0.07585775750291836 1.2371523312028086e-09
|
|
||||||
0.07762471166286919 1.3963840850430572e-09
|
|
||||||
0.07943282347242814 1.5589518929887134e-09
|
|
||||||
0.08128305161640995 1.7216011213346151e-09
|
|
||||||
0.08317637711026708 1.8807355866092624e-09
|
|
||||||
0.08511380382023767 2.0325405447914e-09
|
|
||||||
0.08709635899560805 2.1731282998801223e-09
|
|
||||||
0.08912509381337459 2.2986990842106615e-09
|
|
||||||
0.09120108393559097 2.4057082037586527e-09
|
|
||||||
0.09332543007969915 2.4910294061764307e-09
|
|
||||||
0.09549925860214359 2.5521041498216867e-09
|
|
||||||
0.09772372209558111 2.587066993222519e-09
|
|
||||||
0.1 2.5948386728995015e-09
|
|
||||||
0.10232929922807547 2.575180500105021e-09
|
|
||||||
0.10471285480508996 2.528706318336725e-09
|
|
||||||
0.10715193052376071 2.4568512014159055e-09
|
|
||||||
0.1096478196143185 2.361799080546359e-09
|
|
||||||
0.1122018454301963 2.246374304867694e-09
|
|
||||||
0.1148153621496883 2.113904520619545e-09
|
|
||||||
0.11748975549395291 1.968064001474688e-09
|
|
||||||
0.12022644346174131 1.8127075441364575e-09
|
|
||||||
0.1230268770812381 1.6517052030269713e-09
|
|
||||||
0.12589254117941676 1.4887874997683055e-09
|
|
||||||
0.12882495516931336 1.3274094050272717e-09
|
|
||||||
0.13182567385564073 1.1706395100544199e-09
|
|
||||||
0.13489628825916533 1.0210785811529965e-09
|
|
||||||
0.13803842646028852 8.808093380610489e-10
|
|
||||||
0.1412537544622754 7.513770267652624e-10
|
|
||||||
0.1445439770745928 6.33798352017303e-10
|
|
||||||
0.1479108388168207 5.285947356327267e-10
|
|
||||||
0.15135612484362088 4.358447618373043e-10
|
|
||||||
0.1548816618912481 3.5525009307994924e-10
|
|
||||||
0.15848931924611143 2.862090689151862e-10
|
|
||||||
0.16218100973589297 2.2789257281885011e-10
|
|
||||||
0.16595869074375613 1.79317471386279e-10
|
|
||||||
0.16982436524617442 1.3941388375889464e-10
|
|
||||||
0.17378008287493762 1.0708360902930806e-10
|
|
||||||
0.1778279410038923 8.124811700436344e-11
|
|
||||||
0.18197008586099844 6.088550225309452e-11
|
|
||||||
0.18620871366628675 4.505664596575927e-11
|
|
||||||
0.19054607179632482 3.292148422128933e-11
|
|
||||||
0.19498445997580455 2.3746729602152994e-11
|
|
||||||
0.19952623149688808 1.6906642405883577e-11
|
|
||||||
0.20417379446695297 1.1878521424425692e-11
|
|
||||||
0.2089296130854041 8.234516676141156e-12
|
|
||||||
0.21379620895022325 5.6311968800517345e-12
|
|
||||||
0.2187761623949554 3.798072102037078e-12
|
|
||||||
0.22387211385683378 2.5260121648710612e-12
|
|
||||||
0.22908676527677724 1.6562428798766963e-12
|
|
||||||
0.23442288153199228 1.0703659887732308e-12
|
|
||||||
0.239883291901949 6.816481705533256e-13
|
|
||||||
0.24547089156850285 4.2766584329980625e-13
|
|
||||||
0.25118864315095796 2.6427638803007737e-13
|
|
||||||
0.25703957827688645 1.6080937186127808e-13
|
|
||||||
0.26302679918953814 9.632736554301501e-14
|
|
||||||
0.2691534803926914 5.6787907956332455e-14
|
|
||||||
0.2754228703338166 3.29388752593895e-14
|
|
||||||
0.2818382931264455 1.8792453319028872e-14
|
|
||||||
0.28840315031266056 1.054268710470452e-14
|
|
||||||
0.2951209226666384 5.814062644134074e-15
|
|
||||||
0.3019951720402016 3.1508819598434147e-15
|
|
||||||
0.30902954325135923 1.677521388861027e-15
|
|
||||||
0.31622776601683794 8.770874187336641e-16
|
|
||||||
0.3235936569296281 4.502023813394213e-16
|
|
||||||
0.3311311214825911 2.2678260915331503e-16
|
|
||||||
0.33884415613920277 1.1207052186782802e-16
|
|
||||||
0.34673685045253166 5.4311394033068657e-17
|
|
||||||
0.3548133892335753 2.5801332772845348e-17
|
|
||||||
0.3630780547701014 1.2010859965334827e-17
|
|
||||||
0.3715352290971728 5.476603553191455e-18
|
|
||||||
0.38018939632056126 2.444969439940952e-18
|
|
||||||
0.3890451449942805 1.0682559661573058e-18
|
|
||||||
0.3981071705534973 4.565904734324759e-19
|
|
||||||
0.407380277804113 1.9082391186568624e-19
|
|
||||||
0.41686938347033553 7.794581613449174e-20
|
|
||||||
0.42657951880159256 3.1102926232515327e-20
|
|
||||||
0.4365158322401661 1.2118450663658595e-20
|
|
||||||
0.4466835921509635 4.608014533984292e-21
|
|
||||||
0.4570881896148752 1.70914673499978e-21
|
|
||||||
0.4677351412871981 6.180388513252975e-22
|
|
||||||
0.47863009232263853 2.1776567333421397e-22
|
|
||||||
0.48977881936844664 7.472408687024307e-23
|
|
||||||
0.5011872336272725 2.4956494949825537e-23
|
|
||||||
0.5128613839913648 8.107861938716106e-24
|
|
||||||
0.5248074602497729 2.560769685036931e-24
|
|
||||||
0.5370317963702532 7.857986072002221e-25
|
|
||||||
0.5495408738576248 2.3412999115812987e-25
|
|
||||||
0.5623413251903491 6.769079540073872e-26
|
|
||||||
0.5754399373371573 1.897770730559601e-26
|
|
||||||
0.5888436553555896 5.155931399260007e-27
|
|
||||||
0.6025595860743581 1.3565013767056107e-27
|
|
||||||
0.6165950018614822 3.453632609113776e-28
|
|
||||||
0.6309573444801936 8.5027680056385e-29
|
|
||||||
0.6456542290346563 2.022789078916929e-29
|
|
||||||
0.6606934480075958 4.646402537358794e-30
|
|
||||||
0.6760829753919811 1.0297240039824094e-30
|
|
||||||
0.6918309709189363 2.1999670471056836e-31
|
|
||||||
0.7079457843841374 4.527390700191154e-32
|
|
||||||
0.7244359600749899 8.967114922110128e-33
|
|
||||||
0.7413102413009169 1.7078831203715665e-33
|
|
||||||
0.7585775750291835 3.125236440976627e-34
|
|
||||||
0.7762471166286912 5.489545560621661e-35
|
|
||||||
0.7943282347242814 1e-35
|
|
||||||
0.8128305161640986 1e-35
|
|
||||||
0.8317637711026709 1e-35
|
|
||||||
0.8511380382023759 1e-35
|
|
||||||
0.8709635899560806 1e-35
|
|
||||||
0.891250938133745 1e-35
|
|
||||||
0.9120108393559097 1e-35
|
|
||||||
0.9332543007969905 1e-35
|
|
||||||
0.9549925860214359 1e-35
|
|
||||||
0.9772372209558101 1e-35
|
|
||||||
1.0 1e-35
|
|
||||||
1.0232929922807537 1e-35
|
|
||||||
1.0471285480508996 1e-35
|
|
||||||
1.071519305237606 1e-35
|
|
||||||
1.096478196143185 1e-35
|
|
||||||
1.122018454301963 1e-35
|
|
||||||
1.1481536214968828 1e-35
|
|
||||||
1.174897554939529 1e-35
|
|
||||||
1.2022644346174132 1e-35
|
|
||||||
1.2302687708123812 1e-35
|
|
||||||
1.2589254117941675 1e-35
|
|
||||||
1.2882495516931336 1e-35
|
|
||||||
1.3182567385564075 1e-35
|
|
||||||
1.3489628825916533 1e-35
|
|
||||||
1.3803842646028852 1e-35
|
|
||||||
1.412537544622754 1e-35
|
|
||||||
1.4454397707459279 1e-35
|
|
||||||
1.4791083881682072 1e-35
|
|
||||||
1.5135612484362087 1e-35
|
|
||||||
1.5488166189124812 1e-35
|
|
||||||
1.584893192461114 1e-35
|
|
||||||
1.6218100973589298 1e-35
|
|
||||||
1.6595869074375613 1e-35
|
|
||||||
1.6982436524617444 1e-35
|
|
||||||
1.7378008287493762 1e-35
|
|
||||||
1.7782794100389228 1e-35
|
|
||||||
1.8197008586099843 1e-35
|
|
||||||
1.8620871366628675 1e-35
|
|
||||||
1.9054607179632483 1e-35
|
|
||||||
1.9498445997580456 1e-35
|
|
||||||
1.9952623149688808 1e-35
|
|
||||||
2.0417379446695296 1e-35
|
|
||||||
2.089296130854041 1e-35
|
|
||||||
2.1379620895022327 1e-35
|
|
||||||
2.187761623949554 1e-35
|
|
||||||
2.23872113856834 1e-35
|
|
||||||
2.290867652767775 1e-35
|
|
||||||
2.344228815319923 1e-35
|
|
||||||
2.398832919019492 1e-35
|
|
||||||
2.454708915685031 1e-35
|
|
||||||
2.5118864315095824 1e-35
|
|
||||||
2.570395782768865 1e-35
|
|
||||||
2.630267991895384 1e-35
|
|
||||||
2.691534803926917 1e-35
|
|
||||||
2.754228703338163 1e-35
|
|
||||||
2.818382931264452 1e-35
|
|
||||||
2.8840315031266055 1e-35
|
|
||||||
2.951209226666384 1e-35
|
|
||||||
3.019951720402013 1e-35
|
|
||||||
3.0902954325135887 1e-35
|
|
||||||
3.1622776601683795 1e-35
|
|
||||||
3.235936569296281 1e-35
|
|
||||||
3.3113112148259076 1e-35
|
|
||||||
3.388441561392024 1e-35
|
|
||||||
3.4673685045253166 1e-35
|
|
||||||
3.5481338923357533 1e-35
|
|
||||||
3.63078054770101 1e-35
|
|
||||||
3.715352290971724 1e-35
|
|
||||||
3.801893963205613 1e-35
|
|
||||||
3.890451449942805 1e-35
|
|
||||||
3.981071705534969 1e-35
|
|
||||||
4.073802778041126 1e-35
|
|
||||||
4.168693834703355 1e-35
|
|
||||||
4.265795188015925 1e-35
|
|
||||||
4.365158322401657 1e-35
|
|
||||||
4.46683592150963 1e-35
|
|
||||||
4.570881896148752 1e-35
|
|
||||||
4.677351412871981 1e-35
|
|
||||||
4.7863009232263805 1e-35
|
|
||||||
4.897788193684462 1e-35
|
|
||||||
5.011872336272725 1e-35
|
|
||||||
5.1286138399136485 1e-35
|
|
||||||
5.248074602497723 1e-35
|
|
||||||
5.370317963702527 1e-35
|
|
||||||
5.4954087385762485 1e-35
|
|
||||||
5.623413251903491 1e-35
|
|
||||||
5.754399373371567 1e-35
|
|
||||||
5.88843655355589 1e-35
|
|
||||||
6.025595860743581 1e-35
|
|
||||||
6.165950018614822 1e-35
|
|
||||||
6.30957344480193 1e-35
|
|
||||||
6.456542290346556 1e-35
|
|
||||||
6.606934480075965 1e-35
|
|
||||||
6.760829753919819 1e-35
|
|
||||||
6.918309709189363 1e-35
|
|
||||||
7.07945784384138 1e-35
|
|
||||||
7.244359600749906 1e-35
|
|
||||||
7.413102413009177 1e-35
|
|
||||||
7.585775750291836 1e-35
|
|
||||||
7.76247116628692 1e-35
|
|
||||||
7.943282347242821 1e-35
|
|
||||||
8.128305161640995 1e-35
|
|
||||||
8.317637711026709 1e-35
|
|
||||||
8.511380382023768 1e-35
|
|
||||||
8.709635899560814 1e-35
|
|
||||||
8.91250938133746 1e-35
|
|
||||||
9.120108393559097 1e-35
|
|
||||||
9.332543007969914 1e-35
|
|
||||||
9.549925860214369 1e-35
|
|
||||||
9.772372209558112 1e-35
|
|
||||||
10.0 1e-35
|
|
||||||
10.232929922807536 1e-35
|
|
||||||
10.471285480509007 1e-35
|
|
||||||
10.71519305237607 1e-35
|
|
||||||
10.964781961431852 1e-35
|
|
||||||
11.220184543019652 1e-35
|
|
||||||
11.481536214968841 1e-35
|
|
||||||
11.74897554939528 1e-35
|
|
||||||
12.02264434617413 1e-35
|
|
||||||
12.30268770812381 1e-35
|
|
||||||
12.589254117941662 1e-35
|
|
||||||
12.882495516931323 1e-35
|
|
||||||
13.182567385564074 1e-35
|
|
||||||
13.489628825916533 1e-35
|
|
||||||
13.803842646028839 1e-35
|
|
||||||
14.125375446227526 1e-35
|
|
||||||
14.45439770745928 1e-35
|
|
||||||
14.791083881682072 1e-35
|
|
||||||
15.135612484362072 1e-35
|
|
||||||
15.488166189124795 1e-35
|
|
||||||
15.848931924611142 1e-35
|
|
||||||
16.218100973589298 1e-35
|
|
||||||
16.595869074375596 1e-35
|
|
||||||
16.982436524617427 1e-35
|
|
||||||
17.378008287493763 1e-35
|
|
||||||
17.78279410038923 1e-35
|
|
||||||
18.197008586099827 1e-35
|
|
||||||
18.620871366628656 1e-35
|
|
||||||
19.054607179632484 1e-35
|
|
||||||
19.498445997580454 1e-35
|
|
||||||
19.952623149688787 1e-35
|
|
||||||
20.417379446695275 1e-35
|
|
||||||
20.892961308540407 1e-35
|
|
||||||
21.379620895022324 1e-35
|
|
||||||
21.87761623949552 1e-35
|
|
||||||
22.38721138568338 1e-35
|
|
||||||
22.90867652767775 1e-35
|
|
||||||
23.442288153199225 1e-35
|
|
||||||
23.9883291901949 1e-35
|
|
||||||
24.547089156850287 1e-35
|
|
||||||
25.11886431509582 1e-35
|
|
||||||
25.703957827688647 1e-35
|
|
||||||
26.302679918953814 1e-35
|
|
||||||
26.91534803926914 1e-35
|
|
||||||
27.54228703338169 1e-35
|
|
||||||
28.18382931264455 1e-35
|
|
||||||
28.84031503126606 1e-35
|
|
||||||
29.51209226666384 1e-35
|
|
||||||
30.199517204020193 1e-35
|
|
||||||
30.90295432513592 1e-35
|
|
||||||
31.622776601683793 1e-35
|
|
||||||
32.35936569296281 1e-35
|
|
||||||
33.11311214825915 1e-35
|
|
||||||
33.884415613920275 1e-35
|
|
||||||
34.673685045253166 1e-35
|
|
||||||
35.481338923357534 1e-35
|
|
||||||
36.30780547701018 1e-35
|
|
||||||
37.15352290971728 1e-35
|
|
||||||
38.018939632056124 1e-35
|
|
||||||
38.904514499428046 1e-35
|
|
||||||
39.81071705534978 1e-35
|
|
||||||
40.7380277804113 1e-35
|
|
||||||
41.68693834703355 1e-35
|
|
||||||
42.65795188015925 1e-35
|
|
||||||
43.651583224016655 1e-35
|
|
||||||
44.668359215096345 1e-35
|
|
||||||
45.708818961487516 1e-35
|
|
||||||
46.77351412871981 1e-35
|
|
||||||
47.8630092322639 1e-35
|
|
||||||
48.97788193684456 1e-35
|
|
||||||
50.118723362727145 1e-35
|
|
||||||
51.28613839913648 1e-35
|
|
||||||
52.48074602497723 1e-35
|
|
||||||
53.703179637025215 1e-35
|
|
||||||
54.954087385762485 1e-35
|
|
||||||
56.23413251903491 1e-35
|
|
||||||
57.543993733715666 1e-35
|
|
||||||
58.88436553555884 1e-35
|
|
||||||
60.25595860743569 1e-35
|
|
||||||
61.65950018614822 1e-35
|
|
||||||
63.0957344480193 1e-35
|
|
||||||
64.56542290346549 1e-35
|
|
||||||
66.06934480075964 1e-35
|
|
||||||
67.60829753919819 1e-35
|
|
||||||
69.18309709189363 1e-35
|
|
||||||
70.79457843841374 1e-35
|
|
||||||
72.44359600749891 1e-35
|
|
||||||
74.13102413009177 1e-35
|
|
||||||
75.85775750291836 1e-35
|
|
||||||
77.62471166286912 1e-35
|
|
||||||
79.43282347242821 1e-35
|
|
||||||
81.28305161640995 1e-35
|
|
||||||
83.17637711026708 1e-35
|
|
||||||
85.11380382023759 1e-35
|
|
||||||
87.09635899560796 1e-35
|
|
||||||
89.12509381337459 1e-35
|
|
||||||
91.20108393559097 1e-35
|
|
||||||
93.32543007969905 1e-35
|
|
||||||
95.49925860214368 1e-35
|
|
||||||
97.72372209558111 1e-35
|
|
||||||
100.0 1e-35
|
|
Loading…
Reference in New Issue
Block a user