# Project 2

Consider the truss assembly pictured in the figure below.



Your job as an engineer is to choose the structural steel required to ensure the truss assembly shown in the figure will not fail under a variety of loading conditions.  The external forces applied to the truss are always applied at the locations $B$ and $D$ in the directions shown.  The external forces can be summarized as

\begin{equation}
\vec{F}=\left[
\begin{array}{c}
{B}_y \\
{D}_x \\
{D}_y
\end{array}
\right]
\end{equation}

In order to determine which structural steel to use we must first determine the force in each truss member under a variety of loading conditions.  A survey of the applications for this truss has resulted in the following possible loading conditions

\begin{equation}
\vec{F}_1=\left[
\begin{array}{c}
400 \mathrm{N} \\
600 \mathrm{N} \\
0 \mathrm{N}
\end{array}
\right],
%
\vec{F}_2=\left[
\begin{array}{c}
700 \mathrm{N} \\
100 \mathrm{N} \\
200 \mathrm{N}
\end{array}
\right],
%
\vec{F}_3=\left[
\begin{array}{c}
100 \mathrm{N} \\
1000 \mathrm{N} \\
100 \mathrm{N}
\end{array}
\right],
%
\vec{F}_4=\left[
\begin{array}{c}
0 \mathrm{N} \\
500 \mathrm{N} \\
500 \mathrm{N}
\end{array}
\right],
%
\vec{F}_5=\left[
\begin{array}{c}
500 \mathrm{N} \\
0 \mathrm{N} \\
1500 \mathrm{N}
\end{array}
\right],
\end{equation}
\begin{equation}
%
\vec{F}_6=\left[
\begin{array}{c}
1200 \mathrm{N} \\
0 \mathrm{N} \\
100 \mathrm{N}
\end{array}
\right],
%
\vec{F}_7=\left[
\begin{array}{c}
1600 \mathrm{N} \\
0 \mathrm{N} \\
0 \mathrm{N}
\end{array}
\right],
%
\vec{F}_8=\left[
\begin{array}{c}
0 \mathrm{N} \\
0 \mathrm{N} \\
1600 \mathrm{N}
\end{array}
\right],
%
\vec{F}_9=\left[
\begin{array}{c}
0 \mathrm{N} \\
1600 \mathrm{N} \\
0 \mathrm{N}
\end{array}
\right],
%
\vec{F}_{10}=\left[
\begin{array}{c}
500 \mathrm{N} \\
500 \mathrm{N} \\
500 \mbox{N}
\end{array}
\right].
\end{equation}

Using either Gaussian elimination or LU Decomposition (you can use your solution from [assignment13](https://github.com/PGE310-Students/assignment13) and/or [assignment14](https://github.com/PGE310-Students/assignment14), or the built in NumPy/SciPy implementations) complete the function `compute_largest_member_force` below to efficiently solve for the forces in all members of the truss.  Using this information determine what the maximum load (compressive or tensile) is in any member for each loading configuration, the largest force (in magnitude) in any member, and which member contains the largest force.  

The function `compute_largest_member_force` should take a two-dimensional NumPy array as the input argument.  Each row of the input array corresponds to one of the loading conditions $F_1, F_2, \dots, F_{10}$.  So the array should be a 3 by 10 for these particular loads.  

The function should return a three-tuple that contains `(member_id_string, force_id_string, magnitude_largest_force)` where `member_id_string` is a string that labels the member that contains the largest force, so one of `'AD', 'AB', 'BD', 'CD',` or `'BC'`.  `force_id_string` is a string that labels the loading condition that gives rise to the maximum force so one of `'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9',` or `'F10'`. `magnitude_largest_force` is the magnitude of the largest force in any member.  So an example of what the function should return is `('AB', 'F1', 102.5)` in that order!

If you use your assignment13 or 14 codes and import them after converting to Python, make sure you add those files to the repository when you commit them.

**Hint:** You must first solve for the reaction at the pins of the entire truss in equilibrium.  These reaction forces along with the externally applied loads can then be used with the Method of Sections or the Method of Joints to write the equilibrium equations for each member of the truss.


```python
def compute_largest_member_force(forces):
    
    return #(member_id_string, force_id_string, magnitude_largest_force)
```

da49c6f16ed34e2a9a84c469ed4fcc4739790e37
ipynb
Jupyter Notebook
project2.ipynb
PGE310-Students/project2
6321d8704d5127482536314bc781139cad3898ab
Apache-2.0
project2.ipynb
PGE310-Students/project2
6321d8704d5127482536314bc781139cad3898ab
Apache-2.0
project2.ipynb
PGE310-Students/project2
6321d8704d5127482536314bc781139cad3898ab
Apache-2.0
Qwen/Qwen-72B
1. YES
2. YES

