singscat: module of single scattering tools
PyHdust singscat module: Single Scatering Dumbbell+disk model.
This release contains a simplified version of the one applied to Sigma Ori E in Carciofi+2013.
Conditions: - Calculations for a given observer position: observer at z = +infinity - Single scattering by electrons (Thomson) - Star is a point-source (*or at least, a spherical emitting source) - \(\theta\) is latitude. 0 = North pole; 180 = South pole. - \(\phi\) is longitude - Spherical coordinates seguence (\(r\), \(\phi\), \(\theta\))
Remeber: - phi=0 is x direction (perpendicular to the observer) - (x, y) are not the same for (N, -E) astronomical images
- license:
GNU GPL v3.0 https://github.com/danmoser/pyhdust/blob/master/LICENSE
- pyhdust.singscat.angQU(Q, U, filter=True)[source]
Calculate [Q, U] angles with filters* (avg-180 < degs > avg+180)
- pyhdust.singscat.blobs_cicle(phi_ar, irad, Req=69550800000.0, rb=0.3333333333333333, db=2.0, bres=3, nb=800000000000.0)[source]
Calculates the stokes parameters of blobsmodel over a full cycle
- Parameters:
phi_ar – phi array (in rad; [0, 2pi))
- pyhdust.singscat.blobs_coords(db=2, rb=0.3333333333333333, res=3, Req=1.0, phi0=0, beta=0.0)[source]
- Parameters:
db – distance from stellar center to blob center (Req)
rb – radius of the blob (sphere; Req)
res – linear resolution used in the Hypercube rejection method.
Req – stellar equatorial radius (in cm)
phi0 – central position of the blob (in rad)
- pyhdust.singscat.blobsdisk_cicle(phi_ar, irad, Req=69550800000.0, rb=0.3333333333333333, db=2.0, bres=3, nb=800000000000.0, rd=0.3333333333333333, dd=2.0, dres=11, H=0.1, beta=0.0, nd=800000000000.0, overlap=False)[source]
Calculates the stokes parameters of blobs+disk model over a full cycle
- Parameters:
phi_ar – phi array (in rad; [0, 2pi))
- pyhdust.singscat.blobsdiskmodel_geo(phi0, Req=69550800000.0, rb=0.3333333333333333, db=2.0, bres=3, nb=800000000000.0, rd=0.3333333333333333, dd=2.0, dres=11, H=0.1, beta=0.0, nd=800000000000.0, overlap=False)[source]
Doc
- Parameters:
rb – in Req units
overlap – disk and blob overlap each other? Default is False.
Warning: only \(\phi\) direction is checked (ie., coplanar overlap). :param beta: obliquity, in rad
- pyhdust.singscat.blobsmodel_geo(phi0, Req=69550800000.0, rb=0.3333333333333333, db=2.0, bres=3, nb=800000000000.0, beta=0.0)[source]
Doc
- Parameters:
overlap – disk and blob overlap each other? Default is False.
Warning: only \(\phi\) direction is checked (ie., coplanar overlap). :param beta: obliquity, in rad
- pyhdust.singscat.disk_cicle(phi_ar, irad, Req=69550800000.0, rd=0.3333333333333333, dd=2.0, dres=11, H=0.1, beta=0.0, nd=800000000000.0, radcut=[])[source]
Calculates the stokes parameters of disk model over a full cycle
- Parameters:
phi_ar – phi array (in rad; [0, 2pi))
radcut – vector as [[-np.pi/4, np.pi/4], [-np.pi/4+np.pi, np.pi/4+np.pi]].
[]
returns a full (2*pi) disk (Radian units).
- pyhdust.singscat.disk_coords(dd=2, rd=0.3333333333333333, res=11.0, Req=1.0, beta=0.0, phi0=0.0)[source]
Cilinder slice rejection method
- Parameters:
beta – obliquity, in rad
phi0 – only effective when beta != 0.
- pyhdust.singscat.diskmodel_geo(phi0, Req=69550800000.0, rd=0.3333333333333333, dd=2.0, dres=11, H=0.1, beta=0.0, nd=800000000000.0, radcut=[])[source]
Doc
- Parameters:
rd – in Req units
beta – obliquity, in rad
radcut – vector as [[1*np.pi/4, 3*np.pi/4], [5*np.pi/4, 7*np.pi/4]]. It must be around pi/2 and 3pi/2 for phase consistency.
[]
returns a full (2*pi) disk (Radian units).
- pyhdust.singscat.idx_phi_disklimit_coords(radcut, rd, phid, thd)[source]
Enter the coordinates of a 2*pi disk and cuts it with the limits of radcut
- Parameters:
radcut – vector as [-np.pi/6, np.pi/6]
- pyhdust.singscat.loadpol(txt, old=False, p_sigP=0)[source]
Load polarization txt file.
- Parameters:
p_sigP – if > 0, filter values P/sigP
- pyhdust.singscat.mod2obs(Qmod, Umod, Qis, Uis, ths)[source]
MODEL TO OBSERV
- Parameters:
ths – theta sky in rad
Qis – IS Q
Uis – IS U
- pyhdust.singscat.obs2mod(Qobs, Uobs, Qis, Uis, ths)[source]
### MODEL TO OBSERV ###
- Parameters:
ths – theta sky
- pyhdust.singscat.plot_QU_bc(x, y, Q, U, irad, Req)[source]
using baricenter
TODO: discover why it is not working