utils_inject

Module

Description

Utility routines for geodesic sphere injection

References:

None

Owner:

Daniel Price

Runtime parameters:

None

Dependencies:

icosahedron, part, partinject

Quick access

Variables:

phi

Routines:

get_neighb_distance(), get_parts_per_sphere(), get_sphere_resolution(), inject_geodesic_sphere(), make_rotation_matrix()

Variables

  • injectutils/phi [real,parameter=(sqrt(5.)+1.)/2.]
  • injectutils/pi [real,parameter=4.*atan(1.)]

Subroutines and functions

function  injectutils/get_sphere_resolution(dr_on_dp, mv_on_mdotr)
Parameters:
  • dr_on_dp [real,in]

  • mv_on_mdotr [real,in]

Return:

get_sphere_resolution [integer]

function  injectutils/get_parts_per_sphere(ires)
Parameters:

ires [integer,in]

Return:

get_parts_per_sphere [integer]

Called from:

inject_geodesic_sphere()

function  injectutils/get_neighb_distance(ires)
Parameters:

ires [integer,in]

Return:

get_neighb_distance [real]

subroutine  injectutils/inject_geodesic_sphere(sphere_number, first_particle, ires, r, v, u, rho, geodesic_r, geodesic_v, npart, npartoftype, xyzh, vxyzu, itype, x0, v0[, jkmus])
Parameters:
  • sphere_number [integer,in]

  • first_particle [integer,in]

  • ires [integer,in]

  • r [real,in]

  • v [real,in]

  • u [real,in]

  • rho [real,in]

  • geodesic_r (20,3,3) [real,in]

  • geodesic_v (12,3) [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]

  • jkmus (*) [real,in,]

Use :

icosahedron (pixel2vector()), partinject (add_or_update_particle()), part (hrho())

Call to:

get_parts_per_sphere(), make_rotation_matrix()

subroutine  injectutils/make_rotation_matrix(rotation_angles, rot_m)
Parameters:
  • rotation_angles (3) [real,in]

  • rot_m (3,3) [real,out]

Called from:

inject_geodesic_sphere()