calculate the auxiliary parameter and for the given elliptic modulus
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | pw02_k |
|
||
| real(kind=real64), | intent(in) | :: | comp_k |
|
||
| real(kind=real64), | intent(out) | :: | sqrt_comp_k |
|
||
| real(kind=real64), | intent(out) | :: | pw01_eps |
auxiliary parameter |
||
| real(kind=real64), | intent(out) | :: | pw04_eps |
|
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=real64), | private | :: | pw02_eps |
elemental subroutine calculate_pw04_epsilon(pw02_k, comp_k, sqrt_comp_k, pw01_eps, pw04_eps) !! calculate the auxiliary parameter \( \varepsilon \) and \( { \varepsilon }^{ 4 } \) !! for the given elliptic modulus \( k \) real(real64), intent(in) :: pw02_k !! \( { k }^{ 2 } \) real(real64), intent(in) :: comp_k !! \( { k }^{ \prime } \) real(real64), intent(out) :: sqrt_comp_k !! \( \sqrt{ { k }^{ \prime } } \) real(real64), intent(out) :: pw01_eps !! auxiliary parameter \( \varepsilon \) real(real64), intent(out) :: pw04_eps !! \( { \varepsilon }^{ 4 } \) real(real64) :: pw02_eps call calculate_pw01_epsilon( &! & pw02_k = pw02_k , &! & comp_k = comp_k , &! & sqrt_comp_k = sqrt_comp_k , &! & pw01_eps = pw01_eps &! ) pw02_eps = pw01_eps * pw01_eps pw04_eps = pw02_eps * pw02_eps end subroutine calculate_pw04_epsilon