Loodrecht op het oppervlak, want dat moet een equipotentiaalvlak zijn.
Moderator: physicalattraction
Klopt, dat was ik dan weer vergeten.
Code: Selecteer alles
import numpy as np
from scipy.integrate import tplquad
a=6356000 #straal bij pool
b=6378000 #straal bij evenaar
c=6378000 #straal bij evenaar
G=6.6743e-11
r_loc=2 #positie Chimay
phi_loc=0 #positie Chimay
theta_loc=np.radians(90) #positie Chimay
rho = 5515 #massa dichtheid aarde
#gravitatie: x-component
gravx = tplquad(lambda phi, theta, r: rho*r**2 *a*b*c* np.sin(theta)*G*1/((r*a*np.sin(phi)*np.cos(theta) - r_loc*a*np.sin(phi_loc)*np.cos(theta_loc))**2 +(r*b*np.sin(phi)*np.sin(theta) - r_loc*b*np.sin(phi_loc)*np.sin(theta_loc))**2+(r*c*np.cos(phi) - r_loc*c*np.cos(phi_loc))**2 )**1.5 *(r*a*np.sin(phi)*np.cos(theta) - r_loc*a*np.sin(phi_loc)*np.cos(theta_loc)) ,
0, 1,
lambda theta: 0, np.pi,
lambda theta, phi: 0, 2*np.pi,
epsabs=0.000001, epsrel=0.000001)
print('Gravitatie x: ' + str(gravx[0]) )
#gravitatie: y-component
gravy = tplquad(lambda phi, theta, r: rho*r**2 *a*b*c* np.sin(theta)*G*1/((r*a*np.sin(phi)*np.cos(theta) - r_loc*a*np.sin(phi_loc)*np.cos(theta_loc))**2 +(r*b*np.sin(phi)*np.sin(theta) - r_loc*b*np.sin(phi_loc)*np.sin(theta_loc))**2+(r*c*np.cos(phi) - r_loc*c*np.cos(phi_loc))**2 )**1.5 *(r*b*np.sin(phi)*np.sin(theta) - r_loc*b*np.sin(phi_loc)*np.sin(theta_loc)) ,
0, 1,
lambda theta: 0, np.pi,
lambda theta, phi: 0, 2*np.pi,
epsabs=0.000001, epsrel=0.000001)
print('Gravitatie y: ' + str(gravy[0]) )
#gravitatie: z-component
gravz = tplquad(lambda phi, theta, r: rho*r**2 *a*b*c* np.sin(theta)*G*1/((r*a*np.sin(phi)*np.cos(theta) - r_loc*a*np.sin(phi_loc)*np.cos(theta_loc))**2 +(r*b*np.sin(phi)*np.sin(theta) - r_loc*b*np.sin(phi_loc)*np.sin(theta_loc))**2+(r*c*np.cos(phi) - r_loc*c*np.cos(phi_loc))**2 )**1.5 *(r*c*np.cos(phi) - r_loc*c*np.cos(phi_loc) ) ,
0, 1,
lambda theta: 0, np.pi,
lambda theta, phi: 0, 2*np.pi,
epsabs=0.1, epsrel=0.1)
print('Gravitatie z: ' + str(gravz[0]) )
print((gravx[0]**2+gravy[0]**2+gravz[0]**2)**0.5)
Code: Selecteer alles
print(G*4/3*np.pi*a**3*rho/(2*a)**2)
ik ben nu zo ver dat ik een functie F heb gedefinieerd die voor een punt p2 met massabijdrage dm de bijdrage aan g berekent in punt p1.
Is niet nodig, daar kan je de hoogtecorrectie die hier gegeven wordt voor gebruiken.HansH schreef: ↑wo 14 aug 2024, 10:31 Wat ik wel simpel kan doen is het zwaartekrachtsveld berekenen bv van noordpool (0,0,b) naar evenaar (a,0,0) dus bv in het x, z vlak op bv 1km, 2 km, 3km boven het aardoppervlak en op basis daarvan dan extrapoleren naar het aardoppervlak zelf. als ik even tijd heb zal ik daar verder naar kijken.
Ik vermoed dat ze bedoelen "improper integrals". Divergente integralen kan je toch nooit berekenen?For valid results, the integral must converge; behavior for divergent integrals is not guaranteed.