DAMASK with grid solvers  Revision: v2.0.3-2204-gdb1f2151
The Düsseldorf Advanced Material Simulation Kit with Grid Solvers
quaternions.f90 File Reference

Go to the source code of this file.

Data Types

interface  quaternions::quaternion
 
interface  quaternions::assignment(=)
 
interface  quaternions::quaternion
 
interface  quaternions::abs
 
interface  quaternions::dot_product
 
interface  quaternions::conjg
 
interface  quaternions::exp
 
interface  quaternions::log
 
interface  quaternions::real
 
interface  quaternions::aimag
 

Modules

module  quaternions
 general quaternion math, not limited to unit quaternions
 

Functions/Subroutines

subroutine, public quaternions::quaternions_init
 do self test More...
 
type(quaternion) pure function quaternions::init__ (array)
 construct a quaternion from a 4-vector More...
 
elemental pure subroutine quaternions::assign_quat__ (self, other)
 assign a quaternion More...
 
pure subroutine quaternions::assign_vec__ (self, other)
 assign a 4-vector More...
 
type(quaternion) elemental pure function quaternions::add__ (self, other)
 add a quaternion More...
 
type(quaternion) elemental pure function quaternions::pos__ (self)
 return (unary positive operator) More...
 
type(quaternion) elemental pure function quaternions::sub__ (self, other)
 subtract a quaternion More...
 
type(quaternion) elemental pure function quaternions::neg__ (self)
 negate (unary negative operator) More...
 
type(quaternion) elemental pure function quaternions::mul_quat__ (self, other)
 multiply with a quaternion More...
 
type(quaternion) elemental pure function quaternions::mul_scal__ (self, scal)
 multiply with a scalar More...
 
type(quaternion) elemental pure function quaternions::div_quat__ (self, other)
 divide by a quaternion More...
 
type(quaternion) elemental pure function quaternions::div_scal__ (self, scal)
 divide by a scalar More...
 
logical elemental pure function quaternions::eq__ (self, other)
 test equality More...
 
logical elemental pure function quaternions::neq__ (self, other)
 test inequality More...
 
type(quaternion) elemental pure function quaternions::pow_quat__ (self, expon)
 raise to the power of a quaternion More...
 
type(quaternion) elemental pure function quaternions::pow_scal__ (self, expon)
 raise to the power of a scalar More...
 
type(quaternion) elemental pure function quaternions::exp__ (a)
 take exponential More...
 
type(quaternion) elemental pure function quaternions::log__ (a)
 take logarithm More...
 
real(preal) elemental pure function quaternions::abs__ (self)
 return norm More...
 
real(preal) elemental pure function quaternions::dot_product__ (a, b)
 calculate dot product More...
 
type(quaternion) elemental pure function quaternions::conjg__ (self)
 take conjugate complex More...
 
type(quaternion) elemental pure function quaternions::homomorphed (self)
 homomorph More...
 
pure real(preal) function, dimension(4) quaternions::asarray (self)
 return as plain array More...
 
pure real(preal) function quaternions::real__ (self)
 real part (scalar) More...
 
pure real(preal) function, dimension(3) quaternions::aimag__ (self)
 imaginary part (3-vector) More...
 
type(quaternion) elemental pure function quaternions::inverse (self)
 inverse More...
 
subroutine quaternions::unittest
 check correctness of some quaternions functions More...
 

Variables

real(preal), parameter, public quaternions::p = -1.0_pReal
 parameter for orientation conversion. More...