utils_inject
Module
Description
Utility routines for geodesic sphere injection
- References:
None
- Owner:
Siméon
- Runtime parameters:
None
- Dependencies:
geometry, icosahedron, part, partinject, physcon, random, units, vectorutils
Quick access
- Variables:
- Routines:
get_neighb_distance(),init_jets(),inject_geodesic_sphere(),make_rotation_matrix(),optimal_rot_angles(),rotation_frame(),velocity_jets(),velocity_rotating_sink()
Needed modules
Variables
- injectutils/edge_velocity [real]
- injectutils/jets [logical,optional/default=.false.]
- injectutils/opening_angle [real]
- injectutils/phi [real,parameter=(sqrt(5.)+1.)/2.]
- injectutils/seed_random [integer,optional/default=-1]
Subroutines and functions
- function injectutils/get_neighb_distance(nps)
- Parameters:
nps [integer,in]
- Return:
get_neighb_distance [real]
- subroutine injectutils/inject_geodesic_sphere(sphere_number, first_particle, ires, r, v, u, rho, npart, npartoftype, xyzh, vxyzu, itype, x0, v0, isink[, jkmus[, rstar[, mstar[, omega_vec[, vwind_terminal]]]]])
- Parameters:
sphere_number [integer,in]
first_particle [integer,in]
ires [integer,in]
r [real,in]
v [real,in]
u [real,in]
rho [real,in]
npart [integer,inout]
npartoftype (*) [integer,inout]
xyzh (,) [real,inout]
vxyzu (,) [real,inout]
itype [integer,in]
x0 (3) [real,in]
v0 (3) [real,in]
isink [integer,in]
jkmus (*) [real,in,]
rstar [real,in,]
mstar [real,in,]
omega_vec (3) [real,in,]
vwind_terminal [real,in,]
- Use :
icosahedron(fibonacci_sphere(),fibonacci_jets()),partinject(add_or_update_particle()),part(hrho()),units(unit_velocity()),physcon(km())- Call to:
optimal_rot_angles(),make_rotation_matrix(),velocity_jets(),velocity_rotating_sink()
- subroutine injectutils/make_rotation_matrix(rotation_angles, rot_m)
- Parameters:
rotation_angles (3) [real,in]
rot_m (3,3) [real,out]
- Called from:
- subroutine injectutils/rotation_frame(vector, axis_a, axis_b)
- Parameters:
vector (3) [real,inout]
axis_a (3) [real,in]
axis_b (3) [real,in]
- Use :
- Called from:
- Call to:
- subroutine injectutils/velocity_rotating_sink(radial_unit_vector, r, v, omega, omega_axis, particle_position, particle_velocity, rstar, omega_vec)
- Parameters:
radial_unit_vector (3) [real]
r [real,in]
v [real,in]
omega [real,in]
omega_axis (3) [real,in]
particle_position (3) [real,out]
particle_velocity (3) [real,out]
rstar [real,in]
omega_vec (3) [real,in]
- Use :
vectorutils(cross_product3d()),geometry(vector_transform(),coord_transform())- Called from:
- Call to:
cross_product3d(),rotation_frame(),coord_transform(),vector_transform()
- subroutine injectutils/init_jets(jet_edge_vel, jet_opening_angle)
- Parameters:
jet_edge_vel [real,in]
jet_opening_angle [real,in]
- Use :
physcon(km()),units(unit_velocity())
- subroutine injectutils/velocity_jets(radial_unit_vector, r, v, edge_velocity, opening_angle, particle_position, particle_velocity, vwind_terminal)
- Parameters:
radial_unit_vector (3) [real]
r [real]
v [real]
edge_velocity [real]
opening_angle [real]
particle_position (3) [real,out]
particle_velocity (3) [real,out]
vwind_terminal [real]
- Use :
- Called from:
- Call to:
- subroutine injectutils/optimal_rot_angles(ires, rotation_angles[, rot_jets])
- Parameters:
ires [integer,in]
rotation_angles (3) [real,out]
rot_jets [logical,in,]
- Use :
- Called from:
- Call to: