Implementation of the interfaces defined in time_dependent_coordinate.
Routine that calculates the Tortoise coordinates from time dependent coordinates where the particle is kept at a fixed coordinate location as well as the informtation needed to transform the wave equation to time dependent coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a | The lower boundary location of the time dependent coordinate region. |
||
real(kind=wp), | intent(in) | :: | b | The upper boundary location of the time dependent coordinate region. |
||
real(kind=wp), | intent(in) | :: | xp | The current particle location in Tortoise coordinates, . |
||
real(kind=wp), | intent(in) | :: | xip | The constant particle location in time dependent coordinates, . |
||
real(kind=wp), | intent(in) | :: | dxpdt | The current time derivative of the particle location in Tortoise coordinates, . |
||
real(kind=wp), | intent(in) | :: | d2xpdt2 | The current second time derivative of the particle location in Tortoise coordinates, . |
||
real(kind=wp), | intent(in), | dimension(:) | :: | xi | A 1d array containing coordinate values . |
|
real(kind=wp), | intent(out), | dimension(:) | :: | x | A 1d array that on output contains the Tortoise coordinates . |
|
real(kind=wp), | intent(out), | dimension(:) | :: | dxdt | A 1d array that on outout contains . |
|
real(kind=wp), | intent(out), | dimension(:) | :: | dxdxi | A 1d array that on outout contains . |
|
real(kind=wp), | intent(out), | dimension(:) | :: | d2xdt2 | A 1d array that on outout contains . |
|
real(kind=wp), | intent(out), | dimension(:) | :: | d2xdxi2 | A 1d array that on outout contains . |
|
real(kind=wp), | intent(out), | dimension(:) | :: | d2xdtdxi | A 1d array that on outout contains . |
Routine that converts the particle location and time derivatives in Schwarszschild coordinates to Tortoise coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(inout) | :: | rp | On input the particle location in Schwarschild coordinates, . On output the particle location in Tortoise coordinates, . |
||
real(kind=wp), | intent(inout) | :: | drpdt | On input the time derivative of the particle location in Schwarschild coordinates, . On output the time derivative of the particle location in Tortoise coordinates, . |
||
real(kind=wp), | intent(inout) | :: | d2rpdt2 | On input the second time derivative of the particle location in Schwarschild coordinates, . On output the second time derivative of the particle location in Tortoise coordinates, . |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | This time dependent coordinate object is being initialized. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | The routine is called on this time dependent coordinate object. |
||
type(rgf), | intent(inout), | dimension(:) | :: | coeffs | A 1d array of real grid functions containing the wave equation coefficients (should be eq_coeffs). On output it will contain . |
|
type(rgf), | intent(inout), | dimension(:) | :: | lcoeffs | A 1d array of real grid functions containing the dependent coefficients (should be eq_lcoeffs). On output it will contain the potential for all modes. |
|
type(rgfb), | intent(inout), | dimension(:) | :: | lambda | A 1d array of real boundary grid functions containing the characteristic speeds at the boundary of the elements (should be eq_lambda). On output it will be updated. |
|
type(rgfb), | intent(inout), | dimension(:,:) | :: | s | A 2d array of real boundary grid functions containing the matrix used to convert from characteristic to evolved variables (should be eq_s). On output it will be updated. |
|
type(rgfb), | intent(inout), | dimension(:,:) | :: | sinv | A 2d array of real boundary grid functions containing the matrix used to convert from evolved to characteristic variables (should be eq_sinv). On output it will be updated. |
|
type(rgf), | intent(in) | :: | rho | A real grid function containing the computational radial coordinate, . |
||
type(rgf), | intent(inout) | :: | rstar | A real grid function containing the tortoise radial coordinate, . On output this will be updated. |
||
type(rgf), | intent(inout) | :: | rschw | A real grid function containing the Schwarzschild radial coodrinate, . On output this will be updated. |
||
integer(kind=c_int), | intent(in), | dimension(:) | :: | ll | A 1d array of c_int containing the -values of all the modes. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | The routine is called on this time dependent coordinate object. |
||
integer(kind=ip), | intent(in) | :: | ielem | The index of the element that contains the coordinate transformation information. |
||
integer(kind=ip), | intent(in) | :: | dir | The index of the boundary within the element that contains the coordinate transformation. Left boundary: 1, right boundary: 2. |
||
complex(kind=wp), | intent(in), | dimension(:) | :: | dudlambda | The vector of values to transform. |
|
complex(kind=wp), | intent(in), | dimension(:) | :: | dudxi | The vector of values to transform. |
|
complex(kind=wp), | intent(out), | dimension(:) | :: | dudt | On output contains the vector. |
|
complex(kind=wp), | intent(out), | dimension(:) | :: | dudrstar | On output contains the vector. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | The routine is called on this time dependent coordinate object. |
||
integer(kind=ip), | intent(in) | :: | ielem | The index of the element that contains the coordinate transformation information. |
||
integer(kind=ip), | intent(in) | :: | dir | The index of the boundary within the element that contains the coordinate transformation. Left boundary: 1, right boundary: 2. |
||
complex(kind=wp), | intent(in) | :: | dudlambda | The value of to transform. |
||
complex(kind=wp), | intent(in) | :: | dudxi | The value of to transform. |
||
complex(kind=wp), | intent(out) | :: | dudt | On output contains the value. |
||
complex(kind=wp), | intent(out) | :: | dudrstar | On output contains the value. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | The routine is called on this time dependent coordinate object. |
||
integer(kind=ip), | intent(in) | :: | ielem | The index of the element that contains the coordinate transformation information. |
||
integer(kind=ip), | intent(in) | :: | dir | The index of the boundary within the element that contains the coordinate transformation. Left boundary: 1, right boundary: 2. |
||
real(kind=wp), | intent(in) | :: | dudlambda | The value of to transform. |
||
real(kind=wp), | intent(in) | :: | dudxi | The value of to transform. |
||
real(kind=wp), | intent(out) | :: | dudt | On output contains the value. |
||
real(kind=wp), | intent(out) | :: | dudrstar | On output contains the value. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | The routine is called on this time dependent coordinate object. |
||
integer(kind=ip), | intent(in) | :: | ielem | The index of the element that contains the coordinate transformation information. |
||
integer(kind=ip), | intent(in) | :: | dir | The index of the boundary within the element that contains the coordinate transformation. Left boundary: 1, right boundary: 2. |
||
complex(kind=wp), | intent(in), | dimension(:) | :: | dudt | The vector of to transform. |
|
complex(kind=wp), | intent(in), | dimension(:) | :: | dudrstar | The vector of to transform. |
|
complex(kind=wp), | intent(out), | dimension(:) | :: | dudlambda | On output contains the vector. |
|
complex(kind=wp), | intent(out), | dimension(:) | :: | dudxi | On output contains the vector. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | The routine is called on this time dependent coordinate object. |
||
integer(kind=ip), | intent(in) | :: | ielem | The index of the element that contains the coordinate transformation information. |
||
integer(kind=ip), | intent(in) | :: | dir | The index of the boundary within the element that contains the coordinate transformation. Left boundary: 1, right boundary: 2. |
||
complex(kind=wp), | intent(in) | :: | dudt | The value of to transform. |
||
complex(kind=wp), | intent(in) | :: | dudrstar | The value of to transform. |
||
complex(kind=wp), | intent(out) | :: | dudlambda | On output contains the value. |
||
complex(kind=wp), | intent(out) | :: | dudxi | On output contains the value. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tdc), | intent(inout) | :: | this | The routine is called on this time dependent coordinate object. |
||
integer(kind=ip), | intent(in) | :: | elem | The element index of the point to transform. |
||
integer(kind=ip), | intent(in) | :: | node | The node index of the point to transform. |
||
complex(kind=wp), | intent(inout) | :: | dpsidt | On input contains: . On output contains . |
||
complex(kind=wp), | intent(inout) | :: | dpsidr | On input contains: . On output contains . |