From e8722346d4c02a3892bffce4a1c95deaf7d64979 Mon Sep 17 00:00:00 2001 From: Ceres Date: Sun, 16 Nov 2025 18:17:51 +0000 Subject: [PATCH] Update formatting and add chktexrc --- Exercise 1/.chktexrc | 4 ++ Exercise 1/main.pdf | Bin 906423 -> 906612 bytes Exercise 1/main.tex | 147 +++++++++++++++++++++---------------------- 3 files changed, 74 insertions(+), 77 deletions(-) create mode 100644 Exercise 1/.chktexrc diff --git a/Exercise 1/.chktexrc b/Exercise 1/.chktexrc new file mode 100644 index 0000000..83f3cc1 --- /dev/null +++ b/Exercise 1/.chktexrc @@ -0,0 +1,4 @@ +CmdLine +{ + --nowarn 3 --nowarn 36 +} diff --git a/Exercise 1/main.pdf b/Exercise 1/main.pdf index 22837aa07fcac1212ef547c0966b7a9a79db3754..20bce0634505172432bf3ac7d252a528a9be8651 100644 GIT binary patch delta 18091 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 delta 17923 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 diff --git a/Exercise 1/main.tex b/Exercise 1/main.tex index 6c23765..de39551 100644 --- a/Exercise 1/main.tex +++ b/Exercise 1/main.tex @@ -30,27 +30,22 @@ \renewcommand{\familydefault}{\sfdefault} \captionsetup[figure]{labelfont=bf,textfont=normalfont} -\captionsetup[subfigure]{labelfont=bf,textfont=normalfont} +%\captionsetup[subfigure]{labelfont=bf,textfont=normalfont} %%%% comment out the below for the other title option \makeatletter \def\@maketitle{ -\raggedright -\newpage +\raggedright\newpage \noindent \vspace{0cm} - \let \footnote \thanks - {\hskip -0.4em \huge \textbf{{\@title}} \par} + \let\footnote\thanks{\hskip -0.4em \huge \textbf{{\@title}} \par} \vskip 1.5em {\large - \lineskip .5em + \lineskip.5em \begin{tabular}[t]{l} - \raggedright - \@author - \end{tabular}\par} + \raggedright\@author\end{tabular}\par} \vskip 1em - \@date - \par + \@date\par \vskip 1.5em } \makeatother @@ -62,43 +57,49 @@ \author[1]{Paddy Milner} \affil[1]{Department of Physics, University of Bristol} -\renewcommand\Affilfont{\itshape\small} +\renewcommand\Affilfont{\itshape\small}% chktex 6 -\date{01.03.2025} +\date{01.03.2025} \maketitle \begin{abstract} -The aim of this exercise was to use computational methods to model the gravitational interactions between the earth, the moon, and a lunar probe orbiting the moon. The model provided accurate results when provided with realistic starting conditions, and when the starting conditions were changed, the model responded as expected. + The aim of this exercise was to use computational methods to model the gravitational interactions between the earth, the moon, and a lunar probe orbiting the moon. The model provided accurate results when provided with realistic starting conditions, and when the starting conditions were changed, the model responded as expected. \end{abstract} \section{Introduction} -In this exercise we will create a computational model to first simulate the orbit of the moon around the earth, and then the orbit of a lunar probe around the moon as well. Using these simulations, we will first use realistic starting conditions to verify that the simulations behave as expected, i.e. they behave how these objects do in real life. We will then alter these starting conditions and observe how these alterations affect the simulations result. +In this exercise we will create a computational model to first simulate the orbit of the moon around the earth, and then the orbit of a lunar probe around the moon as well. Using these simulations, we will first use realistic starting conditions to verify that the simulations behave as expected, i.e.\ they behave how these objects do in real life. We will then alter these starting conditions and observe how these alterations affect the simulations result. -\section{Theory and Methods} \label{sec:Theory} +\section{Theory and Methods} Our models will simply use Newton's equation for gravitational attraction, -$$F=\frac{GMm}{r^2}$$ +\[F=\frac{GMm}{r^2}\] Combined with Newton's second law of motion, -$$F=ma$$ +\[F=ma\] to find the acceleration of the objects. For the moon's orbit around the earth, we find that -$$M_m\ddot{r}_m=-\frac{M_eM_mG}{|r_m|^2}\hat{r}_m=-\frac{M_eM_mG}{|r_m|^3}r_m$$ +\[M_m\ddot{r}_m=-\frac{M_{e}M_{m}G}{|r_m|^2}\hat{r}_m=-\frac{M_{e}M_{m}G}{|r_m|^3}r_m\] where $M_e$ is the mass of the earth, $M_m$ is the mass of the moon, $G$ is the gravitational constant, and $r_m=(x_m,y_m)$, the coordinates of the moon relative to the fixed origin at the centre of the earth. We will assume that the mass of the moon is negligible compared to that of the earth, and therefore the motion of the earth can be ignored, hence the fixed origin at its centre. From this, we can obtain the following differential equations: \begin{align} - \frac{\mathrm{d}v_{m,x}}{\mathrm{d}t}=-\frac{M_eGx_m}{(x_m^2+y_m^2)^{3/2}};\ \ \ \ \ \frac{\mathrm{d}x_m}{\mathrm{d}t}=v_{m,x} - \nonumber \\ - \frac{\mathrm{d}v_{m,y}}{\mathrm{d}t}=-\frac{M_eGy_m}{(x_m^2+y_m^2)^{3/2}};\ \ \ \ \ \frac{\mathrm{d}y_m}{\mathrm{d}t}=v_{m,y} - \label{eq:Moon} + \frac{\mathrm{d}v_{m,x}}{\mathrm{d}t}=-\frac{M_{e}Gx_m}{(x_m^2+y_m^2)^{3/2}};\ \ \ \ \ \frac{\mathrm{d}x_m}{\mathrm{d}t}=v_{m,x} + \nonumber \\ + \frac{\mathrm{d}v_{m,y}}{\mathrm{d}t}=-\frac{M_{e}Gy_m}{(x_m^2+y_m^2)^{3/2}};\ \ \ \ \ \frac{\mathrm{d}y_m}{\mathrm{d}t}=v_{m,y} + \label{eq:Moon} \end{align} This can then be extended to model the probe orbiting the moon as well. It feels attraction from both the moon and the earth, so needs terms for both: \begin{align} - \frac{\mathrm{d}v_{p,x}}{\mathrm{d}t}=-\frac{M_eGx_p}{(x_p^2+y_p^2)^{3/2}}-\frac{M_eGx_{pm}}{(x_{pm}^2+y_{pm}^2)^{3/2}};\ \ \ \ \ \frac{\mathrm{d}x_p}{\mathrm{d}t}=v_{p,x} - \nonumber \\ - \frac{\mathrm{d}v_{p,y}}{\mathrm{d}t}=-\frac{M_eGy_p}{(x_p^2+y_p^2)^{3/2}}-\frac{M_eGy_{pm}}{(x_{pm}^2+y_{pm}^2)^{3/2}};\ \ \ \ \ \frac{\mathrm{d}y_p}{\mathrm{d}t}=v_{p,y} - \label{eq:Probe} -\end{align} -where $r_p$ is the position of the probe relative to the earth, and $r_{pm}=r_p-r_m$ is the position of the probe relative to the moon. These will then be solved in python using the scipy.integrate.solve\_ivp() method, after being supplied with initial condition for velocity and position. + \frac{\mathrm{d}v_{p,x}}{\mathrm{d}t}&=-\frac{M_{e}Gx_p}{(x_p^2+y_p^2)^{3/2}}-\frac{M_{e}Gx_{pm}}{(x_{pm}^2+y_{pm}^2)^{3/2}}; + \nonumber \\ + \nonumber \\ + \frac{\mathrm{d}x_p}{\mathrm{d}t}&=v_{p,x} + \nonumber \\ + \nonumber \\ + \frac{\mathrm{d}v_{p,y}}{\mathrm{d}t}&=-\frac{M_{e}Gy_p}{(x_p^2+y_p^2)^{3/2}}-\frac{M_{e}Gy_{pm}}{(x_{pm}^2+y_{pm}^2)^{3/2}}; + \nonumber \\ + \nonumber \\ + \frac{\mathrm{d}y_p}{\mathrm{d}t}&=v_{p,y}\label{eq:Probe} +\end{align} +where $r_p$ is the position of the probe relative to the earth, and $r_{pm}=r_p-r_m$ is the position of the probe relative to the moon. These will then be solved in python using the scipy.integrate.solve\_ivp () method, after being supplied with initial condition for velocity and position. \section{Explanation of Code} \subsection{{Orbit of the Moon}} @@ -106,98 +107,90 @@ where $r_p$ is the position of the probe relative to the earth, and $r_{pm}=r_p- \includegraphics[width=1\linewidth]{Images/1.png} The function for part 1 takes 2 inputs, velocityFactor and orbits. These are scalar multipliers for the initial velocity and max time respectively, which can be altered as desired. -The function for the derivatives is then defined, taking an input of time, the initial state, the masses of each object and the gravitaional constant. State is provided as a tuple with 4 objects, and each value in it is then assigned to xm, ym, vx and vy. The equations for the derivative of each of these values, relating to the equations outlined in equation \ref{eq:Moon} are then defined, and are returned in the same order they were initially given. +The function for the derivatives is then defined, taking an input of time, the initial state, the masses of each object and the gravitaional constant. State is provided as a tuple with 4 objects, and each value in it is then assigned to xm, ym, vx and vy. The equations for the derivative of each of these values, relating to the equations outlined in equation~\ref{eq:Moon} are then defined, and are returned in the same order they were initially given. -\includegraphics[width=1\linewidth]{Images/2.png} +\includegraphics[width=0.95\linewidth]{Images/2.png} -The initial starting conditions of the system are then defined. $M_e$, $M_m$, $G$ and $r$ are all known and fixed quantities. The standard value for $v$, the initial velocity of the moon, is set by balancing centripetal force with gravitational force to produce a stable, circular orbit, however it can be changed by altering velocityFactor in order to produce an elliptical orbit. t\_max is set to the sidereal period of the moon multiplied by the number of orbits desired. The position and velocity are then split up into $x$ and $y$ values, and the simplest case is taken, with the moon starting on the $x$ axis and moving directly upwards, allowing us to set $y_m$ and $v_{x,m}$ to 0, and $x_m$ and $v_{y.m}$ to $r$ and $v$ respectively. +The initial starting conditions of the system are then defined. $M_e$, $M_m$, $G$ and $r$ are all known and fixed quantities. The standard value for $v$, the initial velocity of the moon, is set by balancing centripetal force with gravitational force to produce a stable, circular orbit, however it can be changed by altering velocityFactor in order to produce an elliptical orbit.\ t\_max is set to the sidereal period of the moon multiplied by the number of orbits desired. The position and velocity are then split up into $x$ and $y$ values, and the simplest case is taken, with the moon starting on the $x$ axis and moving directly upwards, allowing us to set $y_m$ and $v_{x,m}$ to 0, and $x_m$ and $v_{y.m}$ to $r$ and $v$ respectively. -\includegraphics[width=1\linewidth]{Images/3.png} +\includegraphics[width=0.95\linewidth]{Images/3.png} -The solve\_ivp() function is then called to solve the differential equations. The initial conditions are provided as a tuple, in the order defined in the differential equations function. The time range is also provided as a tuple, and the other arguments needed for the differential equations function are provided using args=. Matplotlib is then used to create a plot of the position of the moon at each time defined in t. x and y axes are then added for clarity. +The solve\_ivp() function is then called to solve the differential equations. The initial conditions are provided as a tuple, in the order defined in the differential equations function. The time range is also provided as a tuple, and the other arguments needed for the differential equations function are provided using args=. Matplotlib is then used to create a plot of the position of the moon at each time defined in t.\ x and y axes are then added for clarity. -\subsection{Lunar Probe} +\subsection{Lunar Probe} \begin{center} -\includegraphics[width=0.85\linewidth]{Images/4.png} + \includegraphics[width=0.85\linewidth]{Images/4.png} \end{center} -The initial configuration for section 2 is very similar to that of section 1. The function for the section also takes velocityFactor and orbits as inputs, which perform the same function as in section 1. The differential equations function has a similar form to the one in section 1, taking time, state and some constants as input. The differential equations that govern the movement of the moon and their associated state values are the same, but we now have the additional equations seen in equation \ref{eq:Probe}, and the variables required for them. Each differential equation is then returned in the same order they were provided, as in the first part. +The initial configuration for section 2 is very similar to that of section 1. The function for the section also takes velocityFactor and orbits as inputs, which perform the same function as in section 1. The differential equations function has a similar form to the one in section 1, taking time, state and some constants as input. The differential equations that govern the movement of the moon and their associated state values are the same, but we now have the additional equations seen in equation~\ref{eq:Probe}, and the variables required for them. Each differential equation is then returned in the same order they were provided, as in the first part. -\includegraphics[width=1\linewidth]{Images/5.png} +\includegraphics[width=0.95\linewidth]{Images/5.png} We then set the initial conditions for both the moon and probe. The values for the moon are all the same as in section 1. The initial conditions for the probe are found by selecting an appropriate distance for the probe from the moons center, then again balancing centripetal and gravitational forces to find its velocity around the moon. However, as the coordinate system is relative to the earth and not the moon, both the initial position and velocity of the probe relative to the moon must be added to the position and velocity of the moon relative to the earth, in order to get the state of the probe relative to the earth. The tolerances for this part were set lower, as the motion of the probe is more precise than that of the moon, so this was required to achieve a good degree of accuracy. -\includegraphics[width=1\linewidth]{Images/6.png} +\includegraphics[width=0.95\linewidth]{Images/6.png} -The results are then calculated using solve\_ivp(). Again this is very similar to the procedure in part 1, only with more variables for the initial state. Matplotlib is again used to plot the position of both the moon and the probe in the same fashion as part 1. +The results are then calculated using solve\_ivp (). Again this is very similar to the procedure in part 1, only with more variables for the initial state. Matplotlib is again used to plot the position of both the moon and the probe in the same fashion as part 1. \section{Results and Discussion} \subsection{Orbit of the Moon} -When given standard starting conditions, the simulation provided a stable and circular orbit, as expected, shown in figure \ref{fig:MoonCircular}. +When given standard starting conditions, the simulation provided a stable and circular orbit, as expected, shown in figure~\ref{fig:MoonCircular}. \begin{figure} - \includegraphics[width=1\linewidth]{Images/7.png} - \caption{Circular orbit as a result of standard initial conditions} - \label{fig:MoonCircular} + \includegraphics[width=1\linewidth]{Images/7.png} + \caption{Circular orbit as a result of standard initial conditions}\label{fig:MoonCircular} \end{figure} -The simulation kept its shape for a large number of orbits, showing its stability. When the initial velocity was altered but the radius of the orbit was held, we observed a range of effects. For small alterations, approximately in the range of 0.1