Table of Contents¶
An outline of all sections included in this SRS is recorded here for easy reference.
- Table of Contents
- Reference Material
- Table of Units
- Table of Symbols
- Abbreviations and Acronyms
- Introduction
- Purpose of Document
- Scope of Requirements
- Characteristics of Intended Reader
- Organization of Document
- General System Description
- System Context
- User Characteristics
- System Constraints
- Specific System Description
- Problem Description
- Terminology and Definitions
- Physical System Description
- Goal Statements
- Solution Characteristics Specification
- Assumptions
- Theoretical Models
- General Definitions
- Data Definitions
- Instance Models
- Data Constraints
- Properties of a Correct Solution
- Requirements
- Functional Requirements
- Non-Functional Requirements
- Likely Changes
- Unlikely Changes
- Traceability Matrices and Graphs
- Values of Auxiliary Constants
- References
Reference Material¶
This section records information for easy reference.
Table of Units¶
The unit system used throughout is SI (Système International d'Unités). In addition to the basic units, several derived units are also used. For each unit, the Table of Units lists the symbol, a description, and the SI name.
| Symbol | Description | SI Name |
|---|---|---|
| $J$ | energy | joule |
| $kg$ | mass | kilogram |
| $m$ | length | metre |
| $N$ | force | newton |
| $s$ | time | second |
Table of Symbols¶
The symbols used in this document are summarized in the Table of Symbols along with their units. Throughout the document, symbols in bold will represent vectors, and scalars otherwise. The symbols are listed in alphabetical order. For vector quantities, the units shown are for each component of the vector.
| Symbol | Description | Units |
|---|---|---|
| $a_x1$ | X-acceleration of the first star | $\frac{m}{s^2}$ |
| $a_x2$ | X-acceleration of the second star | $\frac{m}{s^2}$ |
| $a_y1$ | Y-acceleration of the first star | $\frac{m}{s^2}$ |
| $a_y2$ | Y-acceleration of the second star | $\frac{m}{s^2}$ |
| $a(t)$ | Acceleration | $\frac{m}{s^2}$ |
| $E$ | Energy | $J$ |
| $F$ | Force | $N$ |
| $F_g$ | Force of gravity | $N$ |
| $G$ | Gravitational constant | $\frac{m^3}{kgs^2}$ |
| $i$ | Index | -- |
| $m$ | Mass | $kg$ |
| $m_1$ | Mass of the first star | $kg$ |
| $m_2$ | Mass of the second star | $kg$ |
| $m_max$ | Maximum stellar mass | $kg$ |
| $m_min$ | Minimum stellar mass | $kg$ |
| $n$ | Number of bodies | -- |
| $p(t)$ | Position | $m$ |
| $r_12$ | Separation distance | $m$ |
| $r_max$ | Maximum initial distance from origin | $m$ |
| $t$ | Time | $s$ |
| $t_final$ | Final time | $s$ |
| $t_max$ | Maximum simulation time | $s$ |
| $v_max$ | Maximum initial speed | $\frac{m}{s}$ |
| $v_x1$ | X-velocity of the first star | $\frac{m}{s}$ |
| $v_x1^0$ | Initial x-velocity of the first star | $\frac{m}{s}$ |
| $v_x2$ | X-velocity of the second star | $\frac{m}{s}$ |
| $v_x2^0$ | Initial x-velocity of the second star | $\frac{m}{s}$ |
| $v_y1$ | Y-velocity of the first star | $\frac{m}{s}$ |
| $v_y1^0$ | Initial y-velocity of the first star | $\frac{m}{s}$ |
| $v_y2$ | Y-velocity of the second star | $\frac{m}{s}$ |
| $v_y2^0$ | Initial y-velocity of the second star | $\frac{m}{s}$ |
| $v(t)$ | Velocity | $\frac{m}{s}$ |
| $x_1$ | X-position of the first star | $m$ |
| $x_1^0$ | Initial x-position of the first star | $m$ |
| $x_2$ | X-position of the second star | $m$ |
| $x_2^0$ | Initial x-position of the second star | $m$ |
| $y_1$ | Y-position of the first star | $m$ |
| $y_1^0$ | Initial y-position of the first star | $m$ |
| $y_2$ | Y-position of the second star | $m$ |
| $y_2^0$ | Initial y-position of the second star | $m$ |
Abbreviations and Acronyms¶
| Abbreviation | Full Form |
|---|---|
| A | Assumption |
| DD | Data Definition |
| GD | General Definition |
| GS | Goal Statement |
| IM | Instance Model |
| LC | Likely Change |
| ODE | Ordinary Differential Equation |
| PS | Physical System Description |
| R | Requirement |
| RefBy | Referenced by |
| Refname | Reference Name |
| SRS | Software Requirements Specification |
| TM | Theoretical Model |
| UC | Unlikely Change |
| Uncert. | Typical Uncertainty |
Introduction¶
Binary star systems are common in astronomy. Two stars orbit because of gravity. This software simulates how a binary star system evolves over time.
The following section provides an overview of the software requirements specification (SRS) for Binary Star System Simulator. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
Purpose of Document¶
The primary purpose of this document is to record the requirements of BSS. Goals, assumptions, theoretical models, definitions, and other model derivation information are specified, allowing the reader to fully understand and verify the purpose and scientific basis of BSS. With the exception of system constraints, this SRS will remain abstract, describing what problem is being solved, but not how to solve it.
This document will be used as a starting point for subsequent development phases, including writing the design specification and the software verification and validation plan. The design document will show how the requirements are to be realized, including decisions on the numerical algorithms and programming environment. The verification and validation plan will show the steps that will be used to increase confidence in the software documentation and the implementation. Although the SRS fits in a series of documents that follow the so-called waterfall model, the actual development process is not constrained in any way. Even when the waterfall model is not followed, as Parnas and Clements point out parnasClements1986, the most logical way to present the documentation is still to "fake" a rational design process.
Scope of Requirements¶
The scope of the requirements includes two-dimensional, rigid-body mechanics where the only force is gravitational attraction.
Characteristics of Intended Reader¶
Reviewers of this documentation should have an understanding of undergraduate level 1 physics (Newtonian mechanics), undergraduate level 1 calculus, and ordinary differential equations. The users of BSS can have a lower level of expertise, as explained in Sec:User Characteristics.
Organization of Document¶
The organization of this document follows the template for an SRS for scientific computing software proposed by koothoor2013, smithLai2005, smithEtAl2007, and smithKoothoor2016. The presentation follows the standard pattern of presenting goals, theories, definitions, and assumptions. For readers that would like a more bottom up approach, they can start reading the instance models and trace back to find any additional information they require.
The goal statements are refined to the theoretical models and the theoretical models to the instance models.
General System Description¶
This section provides general information about the system. It identifies the interfaces between the system and its environment, describes the user characteristics, and lists the system constraints.
System Context¶
Fig:sysCtxDiag shows the system context. A circle represents an entity external to the software, the user in this case. A rectangle represents the software system itself (BSS). Arrows are used to show the data flow between the system and its environment.
The interaction between the product and the user is through an application programming interface. The responsibilities of the user and the system are as follows:
- User Responsibilities
- Provide the physical parameters of the binary star system, including stellar masses, initial positions, and initial velocities, ensuring no errors in the data entry.
- Ensure that consistent units are used for inputs.
- Ensure required software assumptions are appropriate for any particular problem input to the software.
- BSS Responsibilities
- Detect data type mismatch, such as a string of characters input instead of a floating point number.
- Determine if the inputs satisfy the required physical and software constraints.
- Calculate the required outputs.
User Characteristics¶
The end user of BSS should have an understanding of undergraduate level 1 physics (Newtonian mechanics), undergraduate level 1 calculus and ordinary differential equations.
System Constraints¶
There are no system constraints.
Specific System Description¶
This section first presents the problem description, which gives a high-level view of the problem to be solved. This is followed by the solution characteristics specification, which presents the assumptions, theories, and definitions that are used.
Problem Description¶
A system is needed to simulate the motion of a binary star system under mutual gravitational interaction.
Terminology and Definitions¶
This subsection provides a list of terms that are used in the subsequent sections and their meaning, with the purpose of reducing ambiguity and making it easier to correctly understand the requirements.
- Binary star system: A system consisting of two stars that orbit around their common center of mass due to gravitational interaction.
- Star: A massive astronomical object that is treated as a point mass in this context.
- Gravitational interaction: The mutual attractive force between two masses as described by Newtonian gravity.
- Newton's law of universal gravitation: The law stating that every mass attracts every other mass with a force proportional to the product of their masses and inversely proportional to the square of the distance between them.
- Initial conditions: The positions and velocities of the stars at the start of the simulation.
- Trajectory: The path traced by a star in space as a function of time.
- Center of mass: The point representing the average position of the mass distribution of the system.
- Inertial reference frame: A reference frame in which Newton's laws of motion are valid without the introduction of fictitious forces.
- Simulation time span: The duration over which the evolution of the system is computed.
Physical System Description¶
The physical system of BSS, as shown in Fig:bssPhysSys, includes the following elements:
PS1: The first star with mass $m_1$.
PS2: The second star with mass $m_2$.
PS3: The gravitational interaction between the two stars.
Goal Statements¶
Given the masses ($m_1$ and $m_2$), the initial positions ($x_1^0$, $y_1^0$, $x_2^0$, $y_2^0$), the initial velocities ($v_x1^0$, $v_y1^0$, $v_x2^0$, $v_y2^0$), and the simulation time ($t_final$), the goal statement is:
Solution Characteristics Specification¶
The instance models that govern BSS are presented in the Instance Model Section. The information to understand the meaning of the instance models and their derivation is also presented, so that the instance models can be verified.
Assumptions¶
This section simplifies the original problem and helps in developing the theoretical models by filling in the missing information for the physical system. The assumptions refine the scope by providing more detail.
Theoretical Models¶
This section focuses on the general equations and laws that BSS is based on.
| Refname | TM:centerOfMass |
|---|---|
| Label |
Center-of-mass constraint |
| Equation | $$\displaystyle\sum_{i=1}^{n}{m_{i}\,{\symbf{p}\text{(}t\text{)}}_{i}}=0$$ $${m_{1}}\,{{x_{1}}^{0}}+{m_{2}}\,{{x_{2}}^{0}}=0$$ $${m_{1}}\,{{y_{1}}^{0}}+{m_{2}}\,{{y_{2}}^{0}}=0$$ |
| Description |
|
| Notes |
The first equation gives the general center-of-mass constraint for a system of $n$ point masses, where $i$ indexes each body. In the center-of-mass reference frame (A:inertialFrame), the origin is chosen so that the mass-weighted sum of positions vanishes. The remaining equations specialize to the binary case (n = 2), decomposing the vector constraint into $x$-direction and $y$-direction components of the initial positions. |
| Source |
-- |
| RefBy |
IM:accelY2, IM:accelY1, IM:accelX2, and IM:accelX1 |
| Refname | TM:NewtonSecLawMot |
|---|---|
| Label |
Newton's second law of motion |
| Equation | $$\symbf{F}=m\,\symbf{a}\text{(}t\text{)}$$ |
| Description |
|
| Notes |
The net force $F$ on a body is proportional to the acceleration $a(t)$ of the body, where $m$ denotes the mass of the body as the constant of proportionality. |
| Source | |
| RefBy |
IM:accelY2, IM:accelY1, IM:accelX2, and IM:accelX1 |
| Refname | TM:velocity |
|---|---|
| Label |
Velocity |
| Equation | $$\symbf{v}\text{(}t\text{)}=\frac{\,d\symbf{p}\text{(}t\text{)}}{\,dt}$$ |
| Description |
|
| Source | |
| RefBy |
IM:accelY2, IM:accelY1, IM:accelX2, and IM:accelX1 |
| Refname | TM:acceleration |
|---|---|
| Label |
Acceleration |
| Equation | $$\symbf{a}\text{(}t\text{)}=\frac{\,d\symbf{v}\text{(}t\text{)}}{\,dt}$$ |
| Description |
|
| Source | |
| RefBy |
IM:accelY2, IM:accelY1, IM:accelX2, and IM:accelX1 |
| Refname | TM:UniversalGravLaw |
|---|---|
| Label |
Newton's law of universal gravitation |
| Equation | $${\symbf{F}_{\symbf{g}}}=G\,\frac{{m_{1}}\,{m_{2}}}{{r_{12}}^{2}}$$ |
| Description |
|
| Notes |
$F_g$ is the magnitude of the gravitational force between two bodies; it is proportional to the product of their masses and inversely proportional to the square of the distance between them. The force acts along the relative-position vector (TM:relPosAndSep), directed from one body toward the other. This assumes Newtonian gravitation (A:newtonianGravity) and requires the separation distance to be positive (A:nonzeroSeparation). |
| Source |
-- |
| RefBy |
IM:accelY2, IM:accelY1, IM:accelX2, and IM:accelX1 |
| Refname | TM:relPosAndSep |
|---|---|
| Label |
Relative position and separation |
| Equation | $${r_{12}}=\sqrt{\left({x_{1}}-{x_{2}}\right)^{2}+\left({y_{1}}-{y_{2}}\right)^{2}}$$ |
| Description |
|
| Notes |
The relative position vector is defined as the difference of the two star positions (i.e., r12 = r1 - r2). $r_12$ is the corresponding separation distance (the magnitude of the relative position vector), computed from the position coordinates $x_1$, $y_1$, $x_2$, $y_2$ . The motion is confined to a 2D plane (A:planar). |
| Source |
-- |
| RefBy |
TM:UniversalGravLaw, IM:accelY2, IM:accelY1, IM:accelX2, and IM:accelX1 |
General Definitions¶
There are no general definitions.
Data Definitions¶
There are no data definitions.
Instance Models¶
This section transforms the problem defined in the problem description into one which is expressed in mathematical terms. It uses concrete symbols defined in the data definitions to replace the abstract symbols in the models identified in theoretical models and general definitions.
| Refname | IM:accelX1 |
|---|---|
| Label |
X-acceleration of the first star |
| Input |
$m_1$, $m_2$, $x_1$, $y_1$, $x_2$, $y_2$ |
| Output |
$a_x1$ |
| Input Constraints | $${m_{1}}\gt{}0$$ $${m_{2}}\gt{}0$$ |
| Output Constraints | |
| Equation | $${a_{\text{x}1}}\left({x_{1}},{y_{1}},{x_{2}},{y_{2}}\right)=\frac{-G\,{m_{2}}\,\left({x_{1}}-{x_{2}}\right)}{{r_{12}}^{3}}$$ |
| Description |
|
| Notes |
$a_x1$ is calculated by solving the ODE together with the initial conditions . This model is derived from Newton's second law (TM:NewtonSecLawMot), universal gravitation (TM:UniversalGravLaw), and the definitions of acceleration (TM:acceleration), velocity (TM:velocity) and relative position (TM:relPosAndSep), under the center-of-mass constraint (TM:centerOfMass) . The assumptions are: two-body system (A:twoBody), isolated system (A:isolated), Newtonian gravitation (A:newtonianGravity), non-relativistic mechanics (A:nonRelativistic), point masses (A:pointMass), constant masses (A:constantMass), inertial reference frame (A:inertialFrame), planar motion (A:planar) and non-zero separation (A:nonzeroSeparation). |
| Source |
-- |
| RefBy |
| Refname | IM:accelY1 |
|---|---|
| Label |
Y-acceleration of the first star |
| Input |
$m_1$, $m_2$, $x_1$, $y_1$, $x_2$, $y_2$ |
| Output |
$a_y1$ |
| Input Constraints | $${m_{1}}\gt{}0$$ $${m_{2}}\gt{}0$$ |
| Output Constraints | |
| Equation | $${a_{\text{y}1}}\left({x_{1}},{y_{1}},{x_{2}},{y_{2}}\right)=\frac{-G\,{m_{2}}\,\left({y_{1}}-{y_{2}}\right)}{{r_{12}}^{3}}$$ |
| Description |
|
| Notes |
$a_y1$ is calculated by solving the ODE together with the initial conditions . This model is derived from Newton's second law (TM:NewtonSecLawMot), universal gravitation (TM:UniversalGravLaw), and the definitions of acceleration (TM:acceleration), velocity (TM:velocity) and relative position (TM:relPosAndSep), under the center-of-mass constraint (TM:centerOfMass) . The assumptions are: two-body system (A:twoBody), isolated system (A:isolated), Newtonian gravitation (A:newtonianGravity), non-relativistic mechanics (A:nonRelativistic), point masses (A:pointMass), constant masses (A:constantMass), inertial reference frame (A:inertialFrame), planar motion (A:planar) and non-zero separation (A:nonzeroSeparation). |
| Source |
-- |
| RefBy |
| Refname | IM:accelX2 |
|---|---|
| Label |
X-acceleration of the second star |
| Input |
$m_1$, $m_2$, $x_1$, $y_1$, $x_2$, $y_2$ |
| Output |
$a_x2$ |
| Input Constraints | $${m_{1}}\gt{}0$$ $${m_{2}}\gt{}0$$ |
| Output Constraints | |
| Equation | $${a_{\text{x}2}}\left({x_{1}},{y_{1}},{x_{2}},{y_{2}}\right)=\frac{G\,{m_{1}}\,\left({x_{1}}-{x_{2}}\right)}{{r_{12}}^{3}}$$ |
| Description |
|
| Notes |
$a_x2$ is calculated by solving the ODE together with the initial conditions . This model is derived from Newton's second law (TM:NewtonSecLawMot), universal gravitation (TM:UniversalGravLaw), and the definitions of acceleration (TM:acceleration), velocity (TM:velocity) and relative position (TM:relPosAndSep), under the center-of-mass constraint (TM:centerOfMass) . The assumptions are: two-body system (A:twoBody), isolated system (A:isolated), Newtonian gravitation (A:newtonianGravity), non-relativistic mechanics (A:nonRelativistic), point masses (A:pointMass), constant masses (A:constantMass), inertial reference frame (A:inertialFrame), planar motion (A:planar) and non-zero separation (A:nonzeroSeparation). |
| Source |
-- |
| RefBy |
| Refname | IM:accelY2 |
|---|---|
| Label |
Y-acceleration of the second star |
| Input |
$m_1$, $m_2$, $x_1$, $y_1$, $x_2$, $y_2$ |
| Output |
$a_y2$ |
| Input Constraints | $${m_{1}}\gt{}0$$ $${m_{2}}\gt{}0$$ |
| Output Constraints | |
| Equation | $${a_{\text{y}2}}\left({x_{1}},{y_{1}},{x_{2}},{y_{2}}\right)=\frac{G\,{m_{1}}\,\left({y_{1}}-{y_{2}}\right)}{{r_{12}}^{3}}$$ |
| Description |
|
| Notes |
$a_y2$ is calculated by solving the ODE together with the initial conditions . This model is derived from Newton's second law (TM:NewtonSecLawMot), universal gravitation (TM:UniversalGravLaw), and the definitions of acceleration (TM:acceleration), velocity (TM:velocity) and relative position (TM:relPosAndSep), under the center-of-mass constraint (TM:centerOfMass) . The assumptions are: two-body system (A:twoBody), isolated system (A:isolated), Newtonian gravitation (A:newtonianGravity), non-relativistic mechanics (A:nonRelativistic), point masses (A:pointMass), constant masses (A:constantMass), inertial reference frame (A:inertialFrame), planar motion (A:planar) and non-zero separation (A:nonzeroSeparation). |
| Source |
-- |
| RefBy |
Data Constraints¶
The Input Data Constraints Table shows the data constraints on the input variables. The column for physical constraints gives the physical limitations on the range of values that can be taken by the variable. The uncertainty column provides an estimate of the confidence with which the physical quantities can be measured. This information would be part of the input if one were performing an uncertainty quantification exercise. The constraints are conservative to give the user of the model the flexibility to experiment with unusual situations. The column of typical values is intended to provide a feel for a common scenario.
| Var | Physical Constraints | Software Constraints | Typical Value | Rationale | Uncert. |
|---|---|---|---|---|---|
| $m_1$ | $m_1 > 0$ | $m_min ≤ m_1 ≤ m_max$ | $2.0⋅10^30$ $kg$ | approximately 1 solar mass | 5.0$%$ |
| $m_2$ | $m_2 > 0$ | $m_min ≤ m_2 ≤ m_max$ | $1.6⋅10^30$ $kg$ | approximately 0.8 solar masses | 5.0$%$ |
| $t_final$ | $t_final ≥ 0$ | $t_final ≤ t_max$ | $100.0⋅10^3$ $s$ | short integration window | 0.0$%$ |
| $v_x1^0$ | -- | $-v_max ≤ v_x1^0 ≤ v_max$ | $2.0⋅10^3$ $\frac{m}{s}$ | non-zero x-velocity produces a general elliptical orbit | 5.0$%$ |
| $v_x2^0$ | -- | $-v_max ≤ v_x2^0 ≤ v_max$ | $-2.0⋅10^3$ $\frac{m}{s}$ | derived from COM constraint | 5.0$%$ |
| $v_y1^0$ | -- | $-v_max ≤ v_y1^0 ≤ v_max$ | $9.0⋅10^3$ $\frac{m}{s}$ | yields a bound orbit for the typical masses and separation | 5.0$%$ |
| $v_y2^0$ | -- | $-v_max ≤ v_y2^0 ≤ v_max$ | $-11.0⋅10^3$ $\frac{m}{s}$ | derived from COM constraint | 5.0$%$ |
| $x_1^0$ | -- | $-r_max ≤ x_1^0 ≤ r_max$ | $75.0⋅10^9$ $m$ | approximately 0.5 AU; satisfies COM constraint with star 2 | 1.0$%$ |
| $x_2^0$ | -- | $-r_max ≤ x_2^0 ≤ r_max$ | $-90.0⋅10^9$ $m$ | derived from COM constraint | 1.0$%$ |
| $y_1^0$ | -- | $-r_max ≤ y_1^0 ≤ r_max$ | $0.0$ $m$ | stars initially on the x-axis | 1.0$%$ |
| $y_2^0$ | -- | $-r_max ≤ y_2^0 ≤ r_max$ | $0.0$ $m$ | stars initially on the x-axis | 1.0$%$ |
Properties of a Correct Solution¶
The total mechanical energy of the system must remain constant over time (up to numerical tolerance), since the system is isolated (A:isolated) and masses are constant (A:constantMass). $$E=\frac{{m_{1}}\,\left({v_{\text{x}1}}^{2}+{v_{\text{y}1}}^{2}\right)}{2}+\frac{{m_{2}}\,\left({v_{\text{x}2}}^{2}+{v_{\text{y}2}}^{2}\right)}{2}-\frac{G\,{m_{1}}\,{m_{2}}}{{r_{12}}}$$
Requirements¶
This section provides the functional requirements, the tasks and behaviours that the software is expected to complete, and the non-functional requirements, the qualities that the software is expected to exhibit.
Functional Requirements¶
This section provides the functional requirements, the tasks and behaviours that the software is expected to complete.
| Symbol | Description | Units |
|---|---|---|
| $m_1$ | Mass of the first star | $kg$ |
| $m_2$ | Mass of the second star | $kg$ |
| $t_final$ | Final time | $s$ |
| $v_x1^0$ | Initial x-velocity of the first star | $\frac{m}{s}$ |
| $v_x2^0$ | Initial x-velocity of the second star | $\frac{m}{s}$ |
| $v_y1^0$ | Initial y-velocity of the first star | $\frac{m}{s}$ |
| $v_y2^0$ | Initial y-velocity of the second star | $\frac{m}{s}$ |
| $x_1^0$ | Initial x-position of the first star | $m$ |
| $x_2^0$ | Initial x-position of the second star | $m$ |
| $y_1^0$ | Initial y-position of the first star | $m$ |
| $y_2^0$ | Initial y-position of the second star | $m$ |
Non-Functional Requirements¶
This section provides the non-functional requirements, the qualities that the software is expected to exhibit.
Likely Changes¶
This section lists the likely changes (LC) to be made to the software.
Unlikely Changes¶
This section lists the unlikely changes (UC) to be made to the software.
Traceability Matrices and Graphs¶
The purpose of the traceability matrices is to provide easy references on what has to be additionally modified if a certain component is changed. Every time a component is changed, the items in the column of that component that are marked with an "X" should be modified as well. Tab:TraceMatAvsA shows the dependencies of the assumptions on each other. Tab:TraceMatAvsAll shows the dependencies of the data definitions, theoretical models, general definitions, instance models, requirements, likely changes, and unlikely changes on the assumptions. Tab:TraceMatRefvsRef shows the dependencies of the data definitions, theoretical models, general definitions, and instance models on each other. Tab:TraceMatAllvsR shows the dependencies of the requirements and goal statements on the data definitions, theoretical models, general definitions, and instance models.
| A:twoBody | A:isolated | A:newtonianGravity | A:nonRelativistic | A:pointMass | A:constantMass | A:inertialFrame | A:planar | A:nonzeroSeparation | |
|---|---|---|---|---|---|---|---|---|---|
| TM:centerOfMass | X | ||||||||
| TM:NewtonSecLawMot | |||||||||
| TM:velocity | |||||||||
| TM:acceleration | |||||||||
| TM:UniversalGravLaw | X | X | |||||||
| TM:relPosAndSep | X | ||||||||
| IM:accelX1 | X | X | X | X | X | X | X | X | X |
| IM:accelY1 | X | X | X | X | X | X | X | X | X |
| IM:accelX2 | X | X | X | X | X | X | X | X | X |
| IM:accelY2 | X | X | X | X | X | X | X | X | X |
| FR:Input-Values | |||||||||
| FR:Verify-Input-Values | |||||||||
| FR:Calculate-Positions | |||||||||
| FR:Verify-Output | |||||||||
| FR:Output-Values | |||||||||
| NFR:Correctness | |||||||||
| NFR:Portability | |||||||||
| NFR:Maintainability | |||||||||
| NFR:Usability | |||||||||
| LC:Derived-Output-Quantities | X | X | X | X | X | X | X | X | X |
| UC:Newtonian-Gravity-Model | X |
| TM:centerOfMass | TM:NewtonSecLawMot | TM:velocity | TM:acceleration | TM:UniversalGravLaw | TM:relPosAndSep | IM:accelX1 | IM:accelY1 | IM:accelX2 | IM:accelY2 | |
|---|---|---|---|---|---|---|---|---|---|---|
| TM:centerOfMass | ||||||||||
| TM:NewtonSecLawMot | ||||||||||
| TM:velocity | ||||||||||
| TM:acceleration | ||||||||||
| TM:UniversalGravLaw | X | |||||||||
| TM:relPosAndSep | ||||||||||
| IM:accelX1 | X | X | X | X | X | X | ||||
| IM:accelY1 | X | X | X | X | X | X | ||||
| IM:accelX2 | X | X | X | X | X | X | ||||
| IM:accelY2 | X | X | X | X | X | X |
The purpose of the traceability graphs is also to provide easy references on what has to be additionally modified if a certain component is changed. The arrows in the graphs represent dependencies. The component at the tail of an arrow is depended on by the component at the head of that arrow. Therefore, if a component is changed, the components that it points to should also be changed. Fig:TraceGraphAvsA shows the dependencies of assumptions on each other. Fig:TraceGraphAvsAll shows the dependencies of data definitions, theoretical models, general definitions, instance models, requirements, likely changes, and unlikely changes on the assumptions. Fig:TraceGraphRefvsRef shows the dependencies of data definitions, theoretical models, general definitions, and instance models on each other. Fig:TraceGraphAllvsR shows the dependencies of requirements and goal statements on the data definitions, theoretical models, general definitions, and instance models. Fig:TraceGraphAllvsAll shows the dependencies of dependencies of assumptions, models, definitions, requirements, goals, and changes with each other.
For convenience, the following graphs can be found at the links below:
- <a href="../../TraceyGraph/avsa.svg">TraceGraphAvsA
- <a href="../../TraceyGraph/avsall.svg">TraceGraphAvsAll
- <a href="../../TraceyGraph/refvsref.svg">TraceGraphRefvsRef
- <a href="../../TraceyGraph/allvsr.svg">TraceGraphAllvsR
- <a href="../../TraceyGraph/allvsall.svg">TraceGraphAllvsAll
Values of Auxiliary Constants¶
This section contains the standard values that are used for calculations in BSS.
| Symbol | Description | Value | Unit |
|---|---|---|---|
| $G$ | gravitational constant | $66.743⋅10^-12$ | $\frac{m^3}{kgs^2}$ |
| $m_max$ | maximum stellar mass | $100.0⋅10^30$ | $kg$ |
| $m_min$ | minimum stellar mass | $100.0⋅10^27$ | $kg$ |
| $r_max$ | maximum initial distance from origin | $10.0⋅10^12$ | $m$ |
| $t_max$ | maximum simulation time | $10.0⋅10^9$ | $s$ |
| $v_max$ | maximum initial speed | $1.0⋅10^6$ | $\frac{m}{s}$ |
References¶
[1]: Hibbeler, R. C. Engineering Mechanics: Dynamics. Pearson Prentice Hall, 2004. Print. [2]: Koothoor, Nirmitha. A Document Driven Approach to Certifying Scientific Computing Software. McMaster University, Hamilton, ON, Canada: 2013. Print. [3]: Parnas, David L. and Clements, P. C. "A rational design process: How and why to fake it." IEEE Transactions on Software Engineering, vol. 12, no. 2, Washington, USA: February, 1986. pp. 251–257. Print. [4]: Smith, W. Spencer and Koothoor, Nirmitha. "A Document-Driven Method for Certifying Scientific Computing Software for Use in Nuclear Safety Analysis." Nuclear Engineering and Technology, vol. 48, no. 2, April, 2016. http://www.sciencedirect.com/science/article/pii/S1738573315002582. pp. 404–418. [5]: Smith, W. Spencer and Lai, Lei. "A new requirements template for scientific computing." Proceedings of the First International Workshop on Situational Requirements Engineering Processes - Methods, Techniques and Tools to Support Situation-Specific Requirements Engineering Processes, SREP'05. Edited by PJ Agerfalk, N. Kraiem, and J. Ralyte, Paris, France: 2005. pp. 107–121. In conjunction with 13th IEEE International Requirements Engineering Conference, [6]: Smith, W. Spencer, Lai, Lei, and Khedri, Ridha. "Requirements Analysis for Engineering Computation: A Systematic Approach for Improving Software Reliability." Reliable Computing, Special Issue on Reliable Engineering Computation, vol. 13, no. 1, February, 2007. https://doi.org/10.1007/s11155-006-9020-7. pp. 83–107. [7]: Wikipedia Contributors. Acceleration. June, 2019. https://en.wikipedia.org/wiki/Acceleration. [8]: Wikipedia Contributors. Velocity. June, 2019. https://en.wikipedia.org/wiki/Velocity.