ism3d.arts.sparse.clouds_morph

ism3d.arts.sparse.clouds_morph(sbProf, fmPhi=None, fmRho=None, geRho=None, bmY=None, sbQ=None, rotPhi=None, sbPA=None, vbProf=None, size=100000, seeds=[0, 1, 2], cmode=1)[source]

cloudlet generator for a 3D disk model

Face-on surface brightness profile, e.g.

sbProf=(‘sersic2d’,r_e,sersic_n) sbProf=(‘expon2d’,r_s) sbProf=(‘norm2d’,r_sigma) sbProf=(‘table’,rho_quantity,sb_quantity) # A table, which will be used for liner interepretation sbProf=(‘point’) # A Point Source sbProf=(‘rho : maximum(1-rho/p1,0.0)’,5*u.kpc) # A “Lambda” function defined by three pieces of information:

  • variable: e.g. rho

  • Expression: e.g. maximum(1-rho/p1,0.0)

  • Parameters: e.g. P1, P2…

Face-on surface brightness model (not implemented), e.g,

xyProf=(‘x,y : np.exp(-(x^3+y^3’))) xyProf=(‘image’,’model.fits’,[[x_min,x_max],[y_min,y_max]])

Additional manupliation:

fmPhi: Add the Fourier perturbarion along the Azimuth direction

the mean surface brightness is still preserved tuple (mode,amplitude,phi_m)

phi_m is the phase angle from (x, or semimajor axis) amplitude is normalized (0<amp<=1)

e.g. fmPhi=(2,0.5,30*u.deg)

fmRho/gePho:

Add the Fourier peryurnation and Az-dependence stretching along the radial direction the mean surface brightness is not preserved in the traditional sense fmRho has a similar but not equiavelent affect as fmPhi gePho will control the boxyness of the isophoto contour see Peng+2010 for more details fmRho (mode,amplititde,phi_m) : fmRho=(2,0.5,30*u.deg) geRho C0 note: turn on both parameters will slightly slow down the function as

numerical intergation is involved

bmY:

bending mode as Peng+2010 bmY Tuple (model,amplitude)

sbQ:

the ellipse b/a ratio

rotPhi:

see peng+2010 coordinate rotation using alpha-tanh or log-tanh this is useful for generateing spiral structures

sbPA:

ccw Rotate the enture system by sbPA

Verticle brightness Structure, e.g.

vbProf=(‘sech’,zh) vbProf=(‘sech2’,zh) vbProf=(‘laplace’,zs) vbProf=None

seeds: 3-element vector containing the seeds of random number generators

cmode: adjust weights for each cloudlet:

https://www.astro.rug.nl/~gipsy/tsk/galmod.dc1 https://buildmedia.readthedocs.org/media/pdf/bbarolo/latest/bbarolo.pdf see cmode cmode=0, roughly even number density of cloudlets across the entire “restricted” 3D space.

so the discretzation noise will be prop to brightness in each volume

cmode=1, the number density of cloudlets is prop to brightness density

each cloud will have the same weight. therefore discretization noise will be prop to square root of cloudnumber

return:

cloudlet positions in astropy.coordinates.representation.CylindiralRepresentation The coordinates are presented with the surface-brightness center as origin in the plane of the disc