pyCloudy  0.8.54
manage Cloudy photoionization code
CubCoord Class Reference

Inherits object.

Public Member Functions

def __init__
 
def x (self)
 x is the cube of y 1rst cartesian coordinates More...
 
def y (self)
 y is the cube of y 2nd cartesian coordinates More...
 
def z (self)
 z is the cube of y 3rd cartesian coordinates More...
 
def r (self)
 r = $ \sqrt{x^2+y^2+z^2}$ More...
 
def theta (self)
 theta $ \Theta = arcsin(z/r)$ More...
 
def phi (self)
 phi $ \Phi = arctan(y/x)+\pi$ More...
 
def delta_x (self)
 delta_x = (x[-1,0,0]-x[0,0,0])/(dim_x -1) More...
 
def delta_y (self)
 delta_y = (x[-1,0,0]-x[0,0,0])/(dim_x -1) More...
 
def delta_z (self)
 delta_x = (x[-1,0,0]-x[0,0,0])/(dim_x -1) More...
 
def cell_size (self)
 cell_size = delta_x * delta_y * delta_z More...
 
def set_velocity
 

Public Attributes

 log_
 
 calling
 
 dim_x
 
 dim_y
 
 dim_z
 
 N
 
 coeff_x
 
 coeff_y
 
 coeff_z
 
 shift_x
 
 shift_y
 
 shift_z
 
 x_vec
 
 y_vec
 
 z_vec
 
 vel_defined
 
 r
 
 vel_z
 
 vel
 

Properties

 angles = property(_get_angles, _set_angles, None, "Angles must be a 3-elements list or array. Unit: Degrees")
 angles are in degrees. More...
 

Detailed Description

Object to generate and manage cube of coordinates

Constructor & Destructor Documentation

def __init__ (   self,
  dims,
  center = True,
  coeffs = 1.,
  shift = 0.,
  unit = 'deg',
  angles = None 
)
params:
    - dims [int 1- or 3-elements array-list] dimension of the cube. May be different. One may be 1.
    - center [boolean] if True, the coordinate-center is in the center of the cube, otherwise it's in the corner.
    - coeffs [int 1- or 3-elements array-list] multiplicative coefficients to apply to cartesian coordinates.
    - shift [int 1- or 3-elements array-list] shift applied to the cartesian coordinates, before rotation
    - unit ['deg' or 'rad'] unit for the theta and phi angles. Default is deg.
    - angles [3-elements array-list] (degrees) rotation angles

Member Function Documentation

def cell_size (   self)

cell_size = delta_x * delta_y * delta_z

def delta_x (   self)

delta_x = (x[-1,0,0]-x[0,0,0])/(dim_x -1)

def delta_y (   self)

delta_y = (x[-1,0,0]-x[0,0,0])/(dim_x -1)

def delta_z (   self)

delta_x = (x[-1,0,0]-x[0,0,0])/(dim_x -1)

def phi (   self)

phi $ \Phi = arctan(y/x)+\pi$

def r (   self)

r = $ \sqrt{x^2+y^2+z^2}$

def set_velocity (   self,
  velocity_law = 'poly',
  params = [1.,
  user_function = None 
)
Set a velocity field.
param:
    - velocity_law [str] one of ['poly','user'].
    - params [list] parameters passed to the velocity function
    - user_function [function] if velocity_law is 'user', this function is used. Must return vel_x, vel_y, vel_z
def theta (   self)

theta $ \Theta = arcsin(z/r)$

def x (   self)

x is the cube of y 1rst cartesian coordinates

def y (   self)

y is the cube of y 2nd cartesian coordinates

def z (   self)

z is the cube of y 3rd cartesian coordinates

Member Data Documentation

calling
coeff_x
coeff_y
coeff_z
dim_x
dim_y
dim_z
log_
N
r
shift_x
shift_y
shift_z
vel
vel_defined
vel_z
x_vec
y_vec
z_vec

Property Documentation

angles = property(_get_angles, _set_angles, None, "Angles must be a 3-elements list or array. Unit: Degrees")
static

angles are in degrees.

Changing value of angles updates the rotation matrix.