TYPE representing a Lorentz boost
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
double precision, | private, | DIMENSION(n_sym3x3) | :: | inv_lambda_s |
Spatial part of the inverse Lorentz boost |
||
double precision, | private | :: | lambda |
Lorentz factor |
|||
double precision, | private, | DIMENSION(n_sym3x3) | :: | lambda_s |
Spatial part of the Lorentz boost |
||
double precision, | private, | DIMENSION(3) | :: | p |
Spatial vector equal to |
||
double precision, | private, | DIMENSION(3) | :: | v |
Spatial velocity that determines the boost |
||
double precision, | private | :: | v_speed |
Euclidean norm of v (its speed) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
double precision, | intent(in), | DIMENSION(3) | :: | v |
Spatial velocity that determines the boost |
lorentz_boost object to be constructed
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
double precision, | intent(in) | :: | vx |
component of the spatial velocity that determines the boost |
||
double precision, | intent(in) | :: | vy |
component of the spatial velocity that determines the boost |
||
double precision, | intent(in) | :: | vz |
component of the spatial velocity that determines the boost |
lorentz_boost object to be constructed
Generic procedure to apply the lorentz_transformation as a congruence
Action of the lorentz_transformation as a congruence on a -vector storing the components of a symmetric, purely covariant, tensor
Action of the lorentz_transformation on a -vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lorentz_transformation), | intent(in) | :: | this |
lorentz_transformation object to apply |
||
double precision, | intent(in), | DIMENSION(n_sym4x4) | :: | t |
-vector storing the components of the symmetric tensor to be boosted |
-vector storing the components of the boosted symmetric tensor
Action of the lorentz_transformation as a congruence on a generic purely covariant tensor
Action of the lorentz_transformation on a -vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lorentz_transformation), | intent(in) | :: | this |
lorentz_transformation object to apply |
||
double precision, | intent(in), | DIMENSION(4,4) | :: | t(0:3,0:3) |
tensor to be boosted |
Boosted tensor
Generic procedure to apply the lorentz_transformation as a similarity
Action of the lorentz_transformation as a similarity on a -vector storing the components of a symmetric tensor
Action of the lorentz_transformation on a -vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lorentz_transformation), | intent(in) | :: | this |
lorentz_transformation object to apply |
||
double precision, | intent(in), | DIMENSION(n_sym4x4) | :: | t |
-vector storing the components of the symmetric tensor to be boosted |
-vector storing the components of the boosted symmetric tensor
Action of the lorentz_transformation as a similarity on a generic tensor
Action of the lorentz_transformation on a -vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lorentz_transformation), | intent(in) | :: | this |
lorentz_transformation object to apply |
||
double precision, | intent(in), | DIMENSION(4,4) | :: | t(0:3,0:3) |
tensor to be boosted |
Boosted tensor
Action of the lorentz_transformation on a -vector
Action of the lorentz_transformation on a -vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lorentz_transformation), | intent(in) | :: | this |
lorentz_transformation object to apply |
||
double precision, | intent(in), | DIMENSION(4) | :: | u(0:3) |
-vector to be boosted |
Boosted -vector
Computes the spatial part of the matrix of the Lorentz boost, and its whole matrix, starting from the vector
Compute the matrices for the lorentz_boost
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lorentz_boost), | intent(inout) | :: | this | |||
double precision, | intent(in), | DIMENSION(3) | :: | p | ||
double precision, | intent(out), | DIMENSION(n_sym3x3) | :: | lambda_s |
Spatial part of the Lorentz boost |
|
double precision, | intent(out), | DIMENSION(4,4) | :: | matrix(0:3,0:3) |
matrix representing the Lorentz boost |
Returns the Lorentz factor lambda
Returns the Lorentz factor lambda
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lorentz_boost), | intent(in) | :: | this |
lorentz_boost object owning this FUNCTION |
Lorentz factor lambda
TYPE, EXTENDS(lorentz_transformation):: lorentz_boost
!! TYPE representing a Lorentz boost
PRIVATE
DOUBLE PRECISION, DIMENSION(3):: v
!! Spatial velocity that determines the boost
DOUBLE PRECISION:: v_speed
!! Euclidean norm of [[lorentz_boost:v]] (its speed)
DOUBLE PRECISION:: lambda
!! Lorentz factor
DOUBLE PRECISION, DIMENSION(3):: p
!! Spatial vector equal to \(\lambda \,v\)
DOUBLE PRECISION, DIMENSION(n_sym3x3):: lambda_s
!! Spatial part of the Lorentz boost
DOUBLE PRECISION, DIMENSION(n_sym3x3):: inv_lambda_s
!! Spatial part of the inverse Lorentz boost
CONTAINS
PROCEDURE:: compute_boost_matrices
!# Computes the spatial part of the matrix of the Lorentz
! boost, and its whole matrix, starting from the vector
! \(p\)
PROCEDURE, PUBLIC:: get_lambda
!! Returns the Lorentz factor [[lorentz_boost:lambda]]
END TYPE lorentz_boost