Abgabe fertig
This commit is contained in:
33
nicht abgeben/GHA_biaxial/rk.py
Normal file
33
nicht abgeben/GHA_biaxial/rk.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from typing import Tuple
|
||||
|
||||
import numpy as np
|
||||
from ellipsoid_biaxial import EllipsoidBiaxial
|
||||
from numpy import cos, sin, tan
|
||||
from numpy.typing import NDArray
|
||||
|
||||
import runge_kutta as rk
|
||||
|
||||
|
||||
def gha1(re: EllipsoidBiaxial, phi0: float, lamb0: float, alpha0: float, s: float, num: int) -> Tuple[float, float, float]:
|
||||
"""
|
||||
Berechnung der 1. GHA auf einem Rotationsellipsoid mittels RK4
|
||||
:param re:
|
||||
:param phi0:
|
||||
:param lamb0:
|
||||
:param alpha0:
|
||||
:param s:
|
||||
:param num:
|
||||
:return:
|
||||
"""
|
||||
def buildODE():
|
||||
def ODE(s: float, v: NDArray):
|
||||
phi, lam, A = v
|
||||
V = re.V(phi)
|
||||
dphi = cos(A) * V ** 3 / re.c
|
||||
dlam = sin(A) * V / (cos(phi) * re.c)
|
||||
dA = tan(phi) * sin(A) * V / re.c
|
||||
return np.array([dphi, dlam, dA])
|
||||
return ODE
|
||||
|
||||
_, funktionswerte = rk.rk4(buildODE(), 0, np.array([phi0, lamb0, alpha0]), s, num)
|
||||
return funktionswerte[-1][0], funktionswerte[-1][1], funktionswerte[-1][2]
|
||||
Reference in New Issue
Block a user