My Project
programmer's documentation
Data Types | Functions/Subroutines | Variables
Module for rotation zones (rotors)

Data Types

interface  rotation_define
 Define a global rotation. More...
 
interface  rotation_update_coords
 Update coordinates based on a global rotation and time. More...
 
interface  angular_velocity
 Return angular velocity associated with a rotation. More...
 
interface  rotation_velocity
 Compute rotation velocity at given point coordinates. More...
 
interface  add_coriolis_v
 Add a Coriolis term to a local vector. More...
 
interface  coriolis_v
 Compute a Coriolis term for a vector. More...
 
interface  add_coriolis_t
 Add the dual tensor of a rotation vector to a tensor. More...
 
interface  coriolis_t
 Compute the dual tensor of a rotation vector. More...
 

Functions/Subroutines

subroutine rotation_define (omega_x, omega_y, omega_z, invariant_x, invariant_y, invariant_z)
 
subroutine rotation_update_coords (n_coords, t_rot, coords)
 
subroutine angular_velocity (r_num, omega)
 
subroutine rotation_velocity (r_num, coords, vr)
 
subroutine add_coriolis_v (r_num, c, v, vr)
 
subroutine coriolis_v (r_num, c, v, vr)
 
subroutine add_coriolis_t (r_num, c, tr)
 
subroutine coriolis_t (r_num, c, tr)
 

Variables

integer nrotmx
 Maximum number of rotors. More...
 
double precision, dimension(3, nrotmx), save rotax
 Rotation axis. More...
 
double precision, dimension(3, nrotmx), save rotcen
 Rotation origin coordinates. More...
 

Detailed Description

Function/Subroutine Documentation

◆ add_coriolis_t()

subroutine add_coriolis_t ( integer(c_int), value  r_num,
real(c_double), value  c,
real(c_double), dimension(3,3), intent(inout)  tr 
)

◆ add_coriolis_v()

subroutine add_coriolis_v ( integer(c_int), value  r_num,
real(c_double), value  c,
real(c_double), dimension(3), intent(in)  v,
real(c_double), dimension(3), intent(inout)  vr 
)

◆ angular_velocity()

subroutine angular_velocity ( integer(c_int), value  r_num,
real(c_double), intent(out)  omega 
)

◆ coriolis_t()

subroutine coriolis_t ( integer(c_int), value  r_num,
real(c_double), value  c,
real(c_double), dimension(3,3), intent(inout)  tr 
)

◆ coriolis_v()

subroutine coriolis_v ( integer(c_int), value  r_num,
real(c_double), value  c,
real(c_double), dimension(3), intent(in)  v,
real(c_double), dimension(3), intent(out)  vr 
)

◆ rotation_define()

subroutine rotation_define ( real(c_double), value  omega_x,
real(c_double), value  omega_y,
real(c_double), value  omega_z,
real(c_double), value  invariant_x,
real(c_double), value  invariant_y,
real(c_double), value  invariant_z 
)

◆ rotation_update_coords()

subroutine rotation_update_coords ( integer(c_int), value  n_coords,
real(c_double), value  t_rot,
real(c_double), dimension(3,*), intent(inout)  coords 
)

◆ rotation_velocity()

subroutine rotation_velocity ( integer(c_int), value  r_num,
real(c_double), dimension(3), intent(in)  coords,
real(c_double), dimension(3), intent(out)  vr 
)

Variable Documentation

◆ nrotmx

integer nrotmx

Maximum number of rotors.

◆ rotax

double precision, dimension(3, nrotmx), save rotax

Rotation axis.

◆ rotcen

double precision, dimension(3, nrotmx), save rotcen

Rotation origin coordinates.