utils_vectors

Module

Description

This module contains utilities for manipulating vectors

and 3x3 matrices

References:

None

Owner:

Daniel Price

Runtime parameters:

None

Dependencies:

None

Quick access

Routines:

cross_product3d(), curl3d_epsijk(), det(), mag(), matrixinvert3d(), minmaxave(), rotatevec(), unitvec()

Variables

Subroutines and functions

subroutine  vectorutils/minmaxave(x, xmin, xmax, xav, npts)
Parameters:
  • x (npts) [real,in]

  • xmin [real,out]

  • xmax [real,out]

  • xav [real,out]

  • npts [integer,in,]

subroutine  vectorutils/cross_product3d(veca, vecb, vecc)
Parameters:
  • veca (3) [real,in]

  • vecb (3) [real,in]

  • vecc (3) [real,out]

Called from:

get_total_angular_momentum(), get_centrifugal_force(), get_coriolis_force(), update_coriolis_leapfrog(), get_lense_thirring_force(), update_ltforce_leapfrog(), matrixinvert3d(), det()

subroutine  vectorutils/curl3d_epsijk(gradavec, curla)
Parameters:
  • gradavec (3,3) [real,in]

  • curla (3) [real,out]

subroutine  vectorutils/matrixinvert3d(a, ainv, ierr)
Parameters:
  • a (3,3) [real,in]

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

  • ierr [integer,out]

Called from:

update_coriolis_leapfrog(), update_ltforce_leapfrog()

Call to:

cross_product3d()

function  vectorutils/det(a)
Parameters:

a (3,3) [real,in]

Return:

det [real]

Call to:

cross_product3d()

subroutine  vectorutils/rotatevec(u, v, theta)
Parameters:
  • u (3) [real,inout]

  • v (3) [real,in]

  • theta [real,in]

Called from:

set_flyby()

function  vectorutils/unitvec(u)
Parameters:

u (3) [real,in]

Return:

uhat (3) [real]

function  vectorutils/mag(u)
Parameters:

u (3) [real,in]

Return:

umag [real]