text:
User talk:Eml4500.f08.FEABBQ/HW3

Grade: 85.3

 * Just have one last pic and then I'm done, sorry for the tardiness. After this weekend I don't have to work 25 hours a week! /wrists.  William Kurth 19:31, 8 October 2008 (UTC)

 * Andy, I love you in a very heterosexual way. lol.  P.S. My phone is dead :-(. William Kurth 17:00, 8 October 2008 (UTC)
 * Yo billy, I have an infinitesimal displacement picture for my notes, it looks pretty similar to yours so I'll add both. Andy Koby 16:52, 8 October 2008 (UTC)

 * what's up with the pictures needed on the first part of the homework. time is running out..... (Esmail)

 * My hw for my other class took a little longer than expected, I'll be finishing up my section of the notes as the day progresses yet well before 5. EML4500.f08.FEABBQ.Kurth 11:56, 8 October 2008 (UTC)

 * I have posted the notes and homework form the 26th, I ma not sure about the first homework tough, when multiplying T and T (transpose) you will get a matrix 4X4 . you cant multiply the result by K Tilda (2X2) to get K (4X4) as he showed in class. the dimension will not fit work... if anybody have any idea bout this problem go ahead and fix it. see ya tomorrow Esmail Hadman 03:50, 8 October 2008 (UTC)

 * Just so no one panics, I (Billy) am aware that hw is due tomorrow and will be working on it when I get home from work tonight. I've been working like 25+ hours a week with my meeting upcoming and have been swamped with things to do.  Don't be surprised if it gets finished late tonight.

 * I would like to use visio for my day's (sept 29) graphic (the crazy closing the loop diagram) but I don't have it yet, so I will make it in Illustrator unless someone really wants to do it in visio... Hopefully my part will be done tonight Andy Koby 18:17, 7 October 2008 (UTC)

 * Hey guys, I downloaded Visio Professional 2007 from MSDNA thingy and it's what Esmail uses for all of the awesome graphics he's done for us already. Since all of HW2's images were done by him, I suggest we all use Visio so that each of us can independently do our notes sections, instead of doing the notes and relying on Esmail. Let me know what you think.  Jose Jayma 17:24, 28 September 2008 (UTC)

 * Alright, I finished the Matlab code except that I want someone to make sure the values I used for the deflections are correct and I need to add in the node and element numbers to the picture. I'm not sure if there's a way to do this by coding in Matlab or if we should just use paint or something. I guess we can find out tomorrow. Let me know if you have any suggestions. --Eml4500.f08.FEABBQ.vitt 21:43, 5 October 2008 (UTC)

Stark 19:56, 5 October 2008 (UTC)
 * Here are some Wiki Math Symbols for you guys to use on the notes. http://en.wikipedia.org/wiki/Help:Formula

 * If you check the class website, it says that the HOMEWORK IS DUE ON WEDNESDAY OCTOBER 8!! Nik Vitt is lame 15:01, 6 October 2008 (UTC)

 * I am the new resident graphics specialist. Check HW3... Jose Jayma 01:46, 7 October 2008 (UTC)

 * Jose, the node markers look good, but we also have to label the elements. Let me know if you want me to do this. Thanks again for the help. --Eml4500.f08.FEABBQ.vitt 02:17, 7 October 2008 (UTC)

title: User talk:Eml4500.f08.FEABBQ/HW3


text:
University of Florida/Eas4200c.f08.radsam.d

{| class="toccolours collapsible collapsed" style="width:100%" ! HOMEWORK 1

1.2 - Basic Structural Elements in Aircraft Structure
Aircraft structures are composed of several structural elements, which are designed to withstand various types of loads. It is the combination of these elements that make the entire structure of an aircraft capable of resisting applied loads.

For better comprehension of structural mechanics, we must introduce a few important definitions:

 * Stiffness: It is an extensive material property that determines the resistance of an elastic body to deflection. In Engineering, the modulus on elasticity or Young's Modulus (E) is an extremely important characteristic of materials, which shows how much a given material will be able deflect before a permanent deformation occurs. The Young's Modulus or is the radio of applied stress to strain: E = $$\displaystyle \sigma$$/$$\displaystyle \epsilon$$

 * Strength: The strength of a material is the ability to resist an applied force. In engineering, the Yield strength ($$\displaystyle\sigma$$y) is defined as "the stress at which a material begins to deform plastically." Elastic or elastoplastic materials are able to withstand certain loads and go back to their original shape when the given load is removed. This effect will occur as long as the applied stress is less than the Yield stress (strength). However, if the applied load exceeds the yield stress, the material will deform permanently even when the load is removed. If the strain or deformation keeps increasing, the material may reach its ultimate rupture stress ($$\displaystyle\sigma$$u) point where it will break.

 * Toughness: The difference between toughness and fracture toughness is that the former is the ability of a material to resist fracture, while the latter is the ability of the material to resist fracture when a crack is already present. If a material has a high value of fracture toughness, it will most likely undergo ductile fracture. This means that it will have the ability to bend (passed the yield strength) before it fractures. On the other hand, if a material has a low value of fracture toughness, such as ceramics, it will undergo brittle fracture.

1.2.1 - Axial Member

 * {| class="toccolours collapsible collapsed" style="width:100%"

! Axial Member

The length of axial members is significantly larger than their cross-sections and are meant to hold compressive and extensional loads applied along its length (axial direction). Deriving from the slope of the stress vs. strain curve, we may obtain a relation for the applied stress: $$\displaystyle\sigma$$ = E$$\displaystyle\epsilon$$

The applied stress $$\displaystyle\sigma$$ is equal to the applied force per the cross-sectional area of the axial member, so substituting in the above equation we obtain: F = EA$$\displaystyle\epsilon$$

EA is the axial stiffness, which is only a function of the Young's Modulus and the cross-sectional area. This tells us that the stiffness of a member does not vary by changing the shape of a cross-section unless the actual total area increases or decreases. For instance, if a member with a circular cross-section has the same area as a member with a square cross-section (or any other shape), the axial stiffness will be the same for both members. Axial members are good for tensile stresses but may cause buckling failure when compressed. Two ways of improving the buckling strength are to increase the bending stiffness or to shorten the buckle mode by adding supporting members at the joints.

In aircraft structures, aside of the longitudinal axial members, supporting members must be added at the wings and the fuselage to be able to withstand stresses. The two most important parts in a wing structure are the spars (2, refer to figure) and ribs (3). Spars extend lengthwise to the wing covering its entire length (from the fuselage to the wing tip). The main purpose of these members is to provide support to the wing and carry all loads back to the fuselage. The ribs on the other hand, give the aerodynamic shape to the wing while providing support to the spars.

Contribution by: radsam.d
 * }

 * }

HW5
For simplification purposes, we look at a a 1-dimensional model first. Equating all forces on the x-direction, we obtain:

 $$\sum\ F_x = 0 = -\sigma_{(x)}\ A + \sigma_{(x + dx)}\ A + f_{(x)} dx\,$$ $$ 0 = A [ \sigma_{(x + dx)}\ - \sigma_{(x)}\ ] + f_{(x)} dx\,$$

Applying Taylor series to the term inside the brackets, it becomes: $$\frac{\partial\sigma_{x}}{\partial\ x} dx + higher~order~temrs\,$$

Recall: $$F_{(x + dx)} = F_{(x)} + \frac{\partial\ F_{(x)}}{\partial\ dx} dx + \frac{1}{2} \frac{\partial ^2 F_{(x)}}{\partial x^2} (dx)^2 + .~.~.\,$$

Neglecting higher order terms: $$\frac{\partial\sigma}{\partial\ x} + \frac{f_{(x)}}{A} = 0Applied~load\,$$

Now, we may look at a non-uniform 3-D field without applied loads, and focusing on the x-direction.

"Picture is worth a thousand words" - Vu-Quoc

The figure shows an infinitesimal element in which the stress is not uniform. However, the element must remain in equilibrium, therefore the six equations of equilibrium must be satisfied. For example, forces along the x-direction are:

 $$\sum\ F_x = 0 = dy dz [ -\sigma_{xx}\ (x,y,z) + \sigma_{xx}\ (x+dx,y,z)]\,$$ Facets with normal X

$$ + dz dx [ -\sigma_{yx}\ (x,y,z) + \sigma_{yx}\ (x,y+dy,z)]\,$$ Facets with normal Y

$$ + dx dy [ -\sigma_{zx}\ (x,y,z) + \sigma_{zx}\ (x,y,z+dz)]\,$$ Facets with normal Z

$$0 = (dx dy dz) \left [ \frac{\partial\sigma_{xx}}{\partial\ x} + \frac{\partial\sigma_{yx}}{\partial\ y} + \frac{\partial\sigma_{zx}}{\partial\ z} \right ]\,$$

HW 6
Consider plate of dimensions:

a = dimension along the x-axis b = dimension along the y-axis

First, we look at a 1-D case:

 $$[f] = \frac{F}{L}[A] = L^2\,\,$$

Therefore:

 $$\left [ \frac{f}{A} \right ] = \frac{F}{L^3}$$ $$[ \sigma ] = \frac{F}{L^2} \Rightarrow \left [ \frac{\partial\sigma}{\partial x} \right ] = \frac{\frac{F}{L^2}}{L}\,$$ $$\epsilon = \frac{du}{dx}and\epsilon = \frac{\triangle L}{L}\Rightarrow [\epsilon ] = \frac{[du]}{[dx]} = \frac{L}{L} = 1\,$$

$$\nu = -\frac{\epsilon_{yy}}{\epsilon_{xx}}\Rightarrow [\nu] = 1\,$$

From book...pg 71

The vector $$t$$ vanishes because no loads are applied on the lateral surface: $${t} = [\sigma] {n}$$

this way, the stress vector may be evaluated on the lateral surface, knowing that $$n_z = 0$$, thus: $$\begin{Bmatrix} t_x\\ t_y\\ t_z \end{Bmatrix} = \begin{bmatrix} 0 &0 & \tau _{xz}\\ 0 &0 &\tau _{yz} \\ \tau _{xz} &\tau_{yz} &0 \end{bmatrix} \begin{Bmatrix} n_x\\ n_y\\ 0 \end{Bmatrix}\, $$

Therefore, we have: $$t_x = 0t_y = 0$$ $$t_z = \tau_{xz} n_x + \tau_{yz} n_y = \frac{\partial \phi }{\partial y}n_x - \frac{\partial \phi}{\partial y}n_y$$

If we look at Figure 2, we may easily derive: $$n_x = \sin \eta = \frac{dy}{ds}\,$$ $$n_y = \cos \eta = \frac{dx}{ds}$$

So we may express $$t_z\,$$ as:

$$t_z = \frac{\partial \phi}{\partial y}\frac{dy}{ds} + \frac{\partial \phi}{\partial x}\frac{dx}{ds} = \frac{d\phi}{ds}\,$$ So, the free boundary condition $$t_z = 0\,$$ is given by: $$\frac{d\phi}{ds} = 0 or  \phi = constant$$ on the lateral surface.

Note: For solid sections with a single contour boundary, this constant may be approximated to zero.

We are interested in the shear stresses $$\tau_{xz}~and~\tau_{yz}\,$$ and the resultant torque. Considering a small area $$dA = dx dy\,$$, the torque is:

$$dT = x \tau_{yz} dA - y \tau_{xz} dA\,$$ $$dT = \begin{pmatrix} -x\frac{\partial \phi}{\partial x} -y\frac{\partial \phi}{\partial y} \end{pmatrix} dA\,$$

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text: File:DirCosine.jpg

title: File:DirCosine.jpg


text:
User:Eas4200c.f08.aeris.holladay

HW: Airfoil Matlab Code
For this homework assignment, our task was to modify the airfoil code from the last homework to make it work for multi-cell airfoils. The airfoil was to be divided at a quarter chord ($$c/4$$) and three-quarter chord ($$3c/4$$). The profile of the airfoil from last homework is shown below.

$$\bar{A}=0.0253 m^2$$ For this week we split the airfoil into three cells. The new profile for the airfoil is shown below.

$$\bar{A_{1}}=0.0096 m^2$$ $$\bar{A_{2}}=0.013 m^2$$ $$\bar{A_{3}}=0.0027 m^2$$ The code had to be modified to calculate the area for each cell. To calculate the area for cell 1, we first found the closest location of $$y=c/4$$. Using the cross-product of two position vectors we were able to calculate the area to the leading edge of the airfoil. Next we calculated the area for cell 3 using a similar procedure. After finding the point of $$y=3c/4$$ we were able to calculate the area to the trailing edge. For cell 2 we took the total area and subtracted cells 1 and 3.

title: User:Eas4200c.f08.aeris.holladay


text: File:Circle.JPG

title: File:Circle.JPG


text: File:TranposeK.jpg

title: File:TranposeK.jpg


title: File:Circle2.jpg


text: File:Aerofig.JPG

title: File:Aerofig.JPG


text: File:Bar Stress.JPG

title: File:Bar Stress.JPG


text: File:Mohr's Circle.JPG

title: File:Mohr's Circle.JPG


title: File:MCAD8.jpg


text: File:Stringers.png

title: File:Stringers.png


text: File:P1.7 circle.png

title: File:P1.7 circle.png


text: User:Eas4200c.f08.spars.rondon/Homework 3


title: File:Element11.jpg


title: File:Element22.jpg


title: File:Node2.jpg


text: File:Mohrsssssss.png

title: File:Mohrsssssss.png


text:
User:EAS4200C.F08.WIKI.A/My Contribution: 2

=Step by Step Procedure To Finding A Solution=

There are two cases for which need to be solved in order to compute the optimal ratio $$\displaystyle \ \frac{b}{a}$$. The first case which we will be looking at is the case in which the maximum stress $$\displaystyle \sigma _{max} $$ equals the allowable stress $$\displaystyle \sigma_{all} $$. The second case that needs to be concidered is the case in which the maximum shearing stress, $$\displaystyle \tau_{max} $$, equals the allowable shearing stress, $$\displaystyle \tau_{all} $$. Case one variables will be represented by a superscript of one and case two variables will be represented by a superscript two.

Case 1
To begin this analysis we have to first look at the equation for stress which is the following equation.

$$\displaystyle \sigma^{(1)} = \frac {M^{(1)}z}{I^{(1)}}$$

where $$\displaystyle \ M^{(1)} $$ is th bending moment, $$\displaystyle \ z $$ is the distance from the neutral axis, and $$\displaystyle \ I^{(1)} $$ is the second area moment of inertia. In this particular problem, $$\displaystyle \ z = \frac {b^{(1)}}{2} $$ and the stress has reached its allowable limit so therefore the stress can be expressed as

$$\displaystyle \sigma_{all}^{(1)} = \frac {M^{(1)}b^{(1)}}{2I^{(1)}}$$

For this case the bending moment must be maximized. The equation for the bending moment can be obtained from the stress equation.

$$\displaystyle \ M_{max}^{(1)} = 2\sigma_{all}^{(1)}(\frac {I^{(1)}}{b^{(1)}})$$

A closer look at the equation will reveal that there is only one variable that can be manipulated in order to maximize the moment equation and it is the fraction of $$\displaystyle \ \frac{I^{(1)}}{b^{(1)}}$$. the equation can therefore be writen as

$$\displaystyle \ M_{max}^{(1)} = 2\sigma_{all}^{(1)}(\frac {I^{(1)}}{b^{(1)}})_{max}$$

As stated above the ratio $$\displaystyle \ (\frac {I^{(1)}}{b^{(1)}})_{max}$$ must then be calculated, expressed in terms of $$\displaystyle \ b^{(1)} $$ using the relationship $$\displaystyle \ a = \frac{L}{2} - b^{(1)}$$ and then manipulated (take derivative and set equal to zero; solve)to obtain the maxium values of $$\displaystyle \ b^{(1)} $$ $$\displaystyle \ a^{(1)} $$.

The next step is to place the calculated values of $$\displaystyle \ b^{(1)} $$ and $$\displaystyle \ a^{(1)} $$ back into the equation representing the ratio of $$\displaystyle \ (\frac {I^{(1)}}{b^{(1)}})_{max}$$ and then putting this ratio back into the equation representing the bending moment.

$$\displaystyle \ M_{max}^{(1)} = 2\sigma_{all}^{(1)}(\frac {I^{(1)}}{b^{(1)}})_{max}$$

Now that the equation for the bending moment is complete and the ratio of $$\displaystyle \ \frac{b^{(1)}}{a^{(1)}} $$ is optimized, the correctness of this ratio must be check. To do so, the maximum shearing stress has to be compared to the allowable shearing stress and this can be completed by recognizing that the maximum bending moment is equal to the maximum torque as stated in the problem statement.

$$\displaystyle \ M_{max}^{(1)} = T_{max}^{(1)}$$

This expression will now be enetered into the expression for the maximum shearing stress given by the following equation;

$$\displaystyle \tau_{max}^{(1)} = \frac{T_{max}^{(1)}}{2a^{(1)}b^{(1)}t}$$

where t is the thickness of the cross-section. Reducing this equation down and replacing $$\displaystyle \sigma_{all}^{(1)}$$ with $$\displaystyle \tau_{all}^{(1)}$$, (stated in the problem), it is now possible to compare $$\displaystyle \tau_{max}^{(1)}$$ with $$\displaystyle \tau_{all}^{(1)}$$.

Case 2
In this case the same approach is taken, but this time it is assumed that $$\displaystyle \tau_{max}^{(2)} = \tau_{all}^{(2)}$$. Also, the torque will be maximized instead of the bending moment. That being said the following is true;

$$\displaystyle \ T_{max}^{(2)} = 2ta^{(2)}b^{(2)}\tau $$

To maximize this equation, the values of $$\displaystyle \ a^{(2)} $$ and $$\displaystyle \ b^{(2)} $$ must be optimized. To do so, we again put $$\displaystyle \ a^{(2)} $$ in terms of $$\displaystyle \ b^{(2)} $$  ( $$\displaystyle \ a^{(2)} = \frac{L}{2} - b^{(2)}$$), plug this value into the previous equation, and solve this equation in order to find the maximum value of $$\displaystyle \ b^{(2)} $$. This is done by taking the derivative and setting the equation equal to zero and solving. Once the value of $$\displaystyle \ b^{(2)} $$ has been solved for, the value of $$\displaystyle \ a^{(2)} $$ can be solved for from the equation $$\displaystyle \ a^{(2)} = \frac{L}{2} - b^{(2)}$$.

After this has been completed and the values of $$\displaystyle \ a^{(2)} $$ and $$\displaystyle \ b^{(2)} $$ have been placed into the maximum torque equation this value can be equated to the maximum bending moment $$\displaystyle \ M_{max}^{(2)} $$. From this point we are interested in discovering the relationship between the maximum stress and the allowable stress. We proceed forward by looking at the maximum shearing stress equation:

$$\displaystyle \sigma_{max}^{(2)} = \frac {M_{max}^{(2)}b^{(2)}}{I^{(2)}}$$

The expression for the maximum bending moment and the inverse of the ratio $$\displaystyle \ (\frac {I^{(2)}}{b^{(2)}})_{max}$$ (the corresponding values of $$\displaystyle \ a^{(2)} $$ and $$\displaystyle \ b^{(2)} $$ are input into the ratio) is placed in this equation. The resulting expression will be of the following format,

$$\displaystyle \sigma_{max}^{(2)} = C \tau_{all}^{(2)}$$

where $$\displaystyle C $$ is a constant that comes from reduction. Since we are interested in finding a relationship bewteen the maximum stress and the allowable stress, we have to relace the allowable shearing stress term with an equal value. to do so we must remember the following relationship,

$$\displaystyle \sigma_{all}^{(2)} = 2 \tau_{all}^{(2)}$$

It is now possible to determin whether the values of $$\displaystyle \ a^{(2)} $$ and $$\displaystyle \ b^{(2)} $$ are acceptable.


text: File:Circle-u.png

title: File:Circle-u.png


title: File:Hw2a.png


title: File:HW2diag6.jpg


text: File:Aerofig.jpg

title: File:Aerofig.jpg


text: File:Dumbellll.png

title: File:Dumbellll.png


text: File:Fea lecture 8.jpg

title: File:Fea lecture 8.jpg


text:
User:Eas4200c.f08.ZYX.fahrney

Moment of Inertia: Case 1b - Figure 1.2

Moment of Inertia: Case 2 - Figure 1.2

Proof that (ab)_max with constant perimeter L is a square

Airfoil Image

title: User:Eas4200c.f08.ZYX.fahrney


text:
User:CQ/2008/W39/5

Restarting Log... All Night Broken Radio

title: User:CQ/2008/W39/5


title: File:FEAHW2diag6.jpg


text:
User:CQ/2008

W01: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

...

W38: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

W39: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

W40: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

User:CQ/2007 | User:CQ/2009

title: User:CQ/2008


title: File:FEAHW2diag7.jpg


text: File:Circular cross section.JPG

title: File:Circular cross section.JPG


text:
User:CQ/2008/W39

Test page for journaling system

last week | this week | next week

title: User:CQ/2008/W39


text: File:Open-channel cross section.JPG

title: File:Open-channel cross section.JPG


title: File:FEAHW2diag1.jpg


title: User:Eas4200c.f08.ZYX.O'Mahoney/HW2


text:
User:Eml4500.f08.a-team.robinson

Homework 3 Contributions

Homework 4 Contributions

Using Global Free Body Relationships to Compute Reactions
Using force-displacement relations from meeting 10:

(6x2 matrix)x(2x1 mat.)=(6x1 mat.):

$$\begin{bmatrix} K_{13} &  K_{14} \\ K_{23} &  K_{24} \\ K_{33} &  K_{34} \\ K_{43} &  K_{44} \\ K_{53} &  K_{54} \\ K_{63} &  K_{64} \\ \end{bmatrix} \begin{Bmatrix} d_{3}\\ d_{4}\\ \end{Bmatrix} = \begin{Bmatrix} F_{1}\\ F_{2}\\ F_{3}\\ F_{4}\\ F_{5}\\ F_{6}\\ \end{Bmatrix} $$

Only necessary to do computations for rows 1,2,5,6 to get F1,F2,F5,F6 (reactions)

What "the Loop" is
Clarifying the loop between the F.E.M. and statics:

For two-bar truss system:

FEM --> Compute displacement --> Compute reactions

Statics --> Compute reactions --> Compute displacement

The step in statics from computing reactions to computing displacement is what we define as "closing the loop"

Closing the Loop
FBD's of two-force bodies (elem.'s 1,2):

Figure 8: Axes Forces in Elem. 1

Figure 9: Axes Forces in Elem. 2

By statics, reactions known and therefore the member forces: P1(1), P2(2)

Computing axial displ. dof's (amount of extension of bars):

$$q2^1 = \frac{P1^1}{k^1}=\frac{P2^1}{k^1} $$, $$q1^2 = \frac{-P2^2}{k^2}$$

Fixed node at 1 & 2 means: q1^2 = q2^2 = 0

To back out from above results the displ. dof's of node 2:

Infinitesimal displacement
Using same two-bar picture from meeting 15:

AC = \frac{|P_{1}^{(1)}|}{k^{(1)}} =\frac{5.1243}{3/4} = 6.8324 $$

AB = \frac{|P_{1}^{(2)}|}{k^{(2)}} =\frac{6.276}{5} = 1.2552 $$

Next, must solve for (x, y) coordinates of B & C:

X_{B} = AB \cdot \cos{(135)} = 1.2552\cos{(135)} = -.88756 $$

Y_{B} = AB \cdot \sin{(135)} = 1.2552\sin{(135)} = .88756 $$

X_{C} = AC \cdot \cos{(30)} = 6.8324\cos{(30)} = 5.91703 $$

Y_{C} = AC \cdot \sin{(30)} = 6.8324\sin{(30)} = 3.4162 $$

Other unknowns are XD and YD. You need an equation for lines AB & BC

PQ = (PQ)i^{~} = (X-X_{P})i + (Y-Y_{P})j $$

(PQ)i^{~} = PQ[ \cos{\theta}i + \sin{\theta}j ] $$

Therefore

X - X_{P} = PQ\cdot \cos{\theta} $$

Y - Y_{P} = PQ\cdot \sin{\theta} $$

\frac {Y-Y_{P}}{X-X_{P}} = \tan{\theta} $$

Y-Y{P} = (\tan{\theta})\cdot(X-X_{P}) $$

Equation for a line perpendicular to above line, passing P:

Y-Y_{P} = \tan{(\theta + \frac{\pi}{2})}(X-X{P}) $$

By definition:

AD = d3i + d4j

Meeting 21: Monday, 13 October 2008. EML4500
Eigenvalue problem: $$\mathbf{kv} = \lambda \mathbf{v}$$

Let $$\left\{\mathbf{u_1}, \mathbf{u_2}, \mathbf{u_3}, \mathbf{u_4} \right\}$$ be the pure eigenvectors corresponding to the 4 zero eigenvalues:

$$\mathbf{ku_i} = 0\mathbf{u_i} = \mathbf{0}\left(i = 1,2,3,4 \right)$$

Linear combination of $$\left\{u_i, i = 1,2,3,4 \right\} $$

$$\sum_{i=1}^{4}{\alpha_{i_{1x1}}\mathbf{u}_{i_{6x1}}=:\mathbf{W}_{_{6x1}}}=\mathbf{0}_{_{1x1}}\cdot \mathbf{W}_{_{6x1}}$$

Where $$=:$$ means "equal by definition"

$$\sum_{i=1}^{4}{\alpha_i\mathbf{u}_i} \equiv \mathbf{W} $$ (equal by definition)

$$ \alpha_i \Rightarrow $$(real numbers)

W is also an eigenvector corresponding to a zero eigenvalue:

$$ \mathbf{kW} = \mathbf{k}\left(\sum_{i=1}^{4}{\alpha_i\mathbf{u}_i} \right) $$

$$= \sum_{i=1}^{4}{\alpha_i\left(\mathbf{ku_i} \right)} = \mathbf{0} = 0 \times \mathbf{W}$$

Gobal Force Displacement Relationship vs. Principle of Virtual Work
Justification of eliminating rows 1, 2, 5, 6 to obtain $$\mathbf{K}_{_{2x2}}$$ in original two-bar truss:

Global force displacement relation: $$\mathbf{K}_{_{6x6}} \cdot \mathbf{d}_{_{6x1}} = \mathbf{F}_{_{6x1}} \Rightarrow \mathbf{K} \mathbf{d} - \mathbf{F} = \mathbf{0}_{_{6x1}}$$ Eq.(1)

Using Principle of Virtual Work (PVW), (1) becomes: $$\mathbf{W}_{_{6x1}} \cdot \underbrace{(\mathbf{K}\mathbf{d} - \mathbf{F})}_{6x1} = 0_{1x1}$$Eq.(2) for all $$\mathbf{W}_{_{6x1}}$$ which is a "weighting matrix"

Proving Eq.(1) and Eq.(2) are interchangeable:

A)Eq.(1) $$\Rightarrow$$ (2): Trivial

B)Want to show (2) $$\Rightarrow$$ (1):

We must choose different values for $$\mathbf{W}$$

Choice 1:

Select $$\mathbf{W}$$ so that W1=1, W2 = W3 = W4 = W5 = W6=0

Therefore: $$\mathbf{W^T}= \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 \end{bmatrix}$$

and

$$ \mathbf{W} \cdot ( \mathbf{Kd-F} ) = 1[ \sum^6_{j=1} \mathbf{K}_{1j} \mathbf{d}_j- \mathbf{F}_1] + 0[ \sum^6_{j=1} \mathbf{K}_{2j} \mathbf{d}_j- \mathbf{F}_2] + 0 [ \sum^6_{j=1} \mathbf{K}_{3j} \mathbf{d}_j- \mathbf{F}_3] + 0 [ \sum^6_{j=1} \mathbf{K}_{4j} \mathbf{d}_j- \mathbf{F}_4] + 0 [ \sum^6_{j=1} \mathbf{K}_{5j} \mathbf{d}_j- \mathbf{F}_5] + 0 [ \sum^6_{j=1} \mathbf{K}_{6j} \mathbf{d}_j- \mathbf{F}_6]  $$

Thus, the result becomes

$$\Rightarrow \sum^6_{j=1} \mathbf{K}_{1j} \mathbf{d}_j= \mathbf{F}_1 $$

Choice 2:

Select $$\mathbf{W}$$ so that W1=0, W2 = 1, W3 = W4 = W5 = W6=0

Therefore: $$\mathbf{W^T}= \begin{bmatrix} 0 & 1 & 0 & 0 & 0 & 0 \end{bmatrix}$$

and

$$ \mathbf{W} \cdot ( \mathbf{Kd-F} ) = 0[ \sum^6_{j=1} \mathbf{K}_{1j} \mathbf{d}_j- \mathbf{F}_1] + 1[ \sum^6_{j=1} \mathbf{K}_{2j} \mathbf{d}_j- \mathbf{F}_2] + 0 [ \sum^6_{j=1} \mathbf{K}_{3j} \mathbf{d}_j- \mathbf{F}_3] + 0 [ \sum^6_{j=1} \mathbf{K}_{4j} \mathbf{d}_j- \mathbf{F}_4] + 0 [ \sum^6_{j=1} \mathbf{K}_{5j} \mathbf{d}_j- \mathbf{F}_5] + 0 [ \sum^6_{j=1} \mathbf{K}_{6j} \mathbf{d}_j- \mathbf{F}_6]  $$

Thus, the result becomes

$$\Rightarrow \sum^6_{j=1} \mathbf{K}_{2j} \mathbf{d}_j= \mathbf{F}_2 $$

Choice 3:

Select $$\mathbf{W}$$ so that W1= W2 = 0, W3 = 1, W4 = W5 = W6=0

Therefore: $$\mathbf{W^T}= \begin{bmatrix} 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix}$$

and

$$ \mathbf{W} \cdot ( \mathbf{Kd-F} ) = 0[ \sum^6_{j=1} \mathbf{K}_{1j} \mathbf{d}_j- \mathbf{F}_1] + 0[ \sum^6_{j=1} \mathbf{K}_{2j} \mathbf{d}_j- \mathbf{F}_2] + 1 [ \sum^6_{j=1} \mathbf{K}_{3j} \mathbf{d}_j- \mathbf{F}_3] + 0 [ \sum^6_{j=1} \mathbf{K}_{4j} \mathbf{d}_j- \mathbf{F}_4] + 0 [ \sum^6_{j=1} \mathbf{K}_{5j} \mathbf{d}_j- \mathbf{F}_5] + 0 [ \sum^6_{j=1} \mathbf{K}_{6j} \mathbf{d}_j- \mathbf{F}_6]  $$

Thus, the result becomes

$$\Rightarrow \sum^6_{j=1} \mathbf{K}_{3j} \mathbf{d}_j= \mathbf{F}_3 $$

Choice 4:

Select $$\mathbf{W}$$ so that W1= W2 = W3 = 0, W4 = 1, W5 = W6=0

Therefore: $$\mathbf{W^T}= \begin{bmatrix} 0 & 0 & 0 & 1 & 0 & 0 \end{bmatrix}$$

and

$$ \mathbf{W} \cdot ( \mathbf{Kd-F} ) = 0[ \sum^6_{j=1} \mathbf{K}_{1j} \mathbf{d}_j- \mathbf{F}_1] + 0[ \sum^6_{j=1} \mathbf{K}_{2j} \mathbf{d}_j- \mathbf{F}_2] + 0 [ \sum^6_{j=1} \mathbf{K}_{3j} \mathbf{d}_j- \mathbf{F}_3] + 1 [ \sum^6_{j=1} \mathbf{K}_{4j} \mathbf{d}_j- \mathbf{F}_4] + 0 [ \sum^6_{j=1} \mathbf{K}_{5j} \mathbf{d}_j- \mathbf{F}_5] + 0 [ \sum^6_{j=1} \mathbf{K}_{6j} \mathbf{d}_j- \mathbf{F}_6]  $$

Thus, the result becomes

$$\Rightarrow \sum^6_{j=1} \mathbf{K}_{4j} \mathbf{d}_j= \mathbf{F}_4 $$

Choice 5:

Select $$\mathbf{W}$$ so that W1= W2 = W3 = W4 = 0, W5 = 1, W6=0

Therefore: $$\mathbf{W^T}= \begin{bmatrix} 0 & 0 & 0 & 0 & 1 & 0 \end{bmatrix}$$

and

$$ \mathbf{W} \cdot ( \mathbf{Kd-F} ) = 0[ \sum^6_{j=1} \mathbf{K}_{1j} \mathbf{d}_j- \mathbf{F}_1] + 0[ \sum^6_{j=1} \mathbf{K}_{2j} \mathbf{d}_j- \mathbf{F}_2] + 0 [ \sum^6_{j=1} \mathbf{K}_{3j} \mathbf{d}_j- \mathbf{F}_3] + 0 [ \sum^6_{j=1} \mathbf{K}_{4j} \mathbf{d}_j- \mathbf{F}_4] + 1 [ \sum^6_{j=1} \mathbf{K}_{5j} \mathbf{d}_j- \mathbf{F}_5] + 0 [ \sum^6_{j=1} \mathbf{K}_{6j} \mathbf{d}_j- \mathbf{F}_6]  $$

Thus, the result becomes

$$\Rightarrow \sum^6_{j=1} \mathbf{K}_{5j} \mathbf{d}_j= \mathbf{F}_5 $$

Choice 6:

Select $$\mathbf{W}$$ so that W1= W2 = W3 = W4 = W5 = 0, W6=1

Therefore: $$\mathbf{W^T}= \begin{bmatrix} 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}$$

and

$$ \mathbf{W} \cdot ( \mathbf{Kd-F} ) = 0[ \sum^6_{j=1} \mathbf{K}_{1j} \mathbf{d}_j- \mathbf{F}_1] + 0[ \sum^6_{j=1} \mathbf{K}_{2j} \mathbf{d}_j- \mathbf{F}_2] + 0 [ \sum^6_{j=1} \mathbf{K}_{3j} \mathbf{d}_j- \mathbf{F}_3] + 0 [ \sum^6_{j=1} \mathbf{K}_{4j} \mathbf{d}_j- \mathbf{F}_4] + 0 [ \sum^6_{j=1} \mathbf{K}_{5j} \mathbf{d}_j- \mathbf{F}_5] + 1 [ \sum^6_{j=1} \mathbf{K}_{6j} \mathbf{d}_j- \mathbf{F}_6]  $$

Thus, the result becomes

$$\Rightarrow \sum^6_{j=1} \mathbf{K}_{6j} \mathbf{d}_j= \mathbf{F}_6 $$

Conclusion : $$\mathbf{K}_{_{6x6}} \mathbf{d}_{_{6x1}} = \mathbf{F}_{_{6x1}}$$

PVW : Accounting for Boundary Conditions
In the original two-bar truss system: d1 = d2 = d5 = d6 = 0.

Weighting coefficients must be "kinematically admissible", meaning they can not violate the boundary conditions, therefore:

$$\Rightarrow$$W1 = W2 = W5 = W6 = 0

These weighting coefficients represent the virtual displacement by calculus of variations

Now,

$$\mathbf{W} \cdot (\mathbf{Kd}-\mathbf{F})$$

Thus

$$= \begin{Bmatrix} W_3 \\ W_4 \end{Bmatrix} (\mathbf{\overline{K} \overline{d}- \overline{F} })$$ Eq.(3)

and is true for $$\begin{Bmatrix} W_3 \\ W_4 \end{Bmatrix} $$

With the matrices equating to $$\mathbf{\overline{K}}=\begin{bmatrix} K_{33} && K_{34} \\ K_{43} && K_{44}\end{bmatrix} $$

and:

$$\mathbf{\overline{d}}= \begin{Bmatrix}d_{3} \\ d_{4} \end{Bmatrix} $$

$$\mathbf{\overline{F}} = \begin{Bmatrix}F_{3} \\ F_{4} \end{Bmatrix} $$

being the reduced matrices.

Integration by Parts: r(x), s(x)
$$ (rs)' = r's + rs' $$

$$ r' = \frac{dr}{dx} \quad, \quad s' = \frac{ds}{dx}$$

$$ \underbrace{\int(rs)'}_{rs} = \int r's + \int rs' $$

$$\Rightarrow \int r's = rs - \int rs' $$

Recall continuous PVW (Eqn. (3) from meeting 29)

 * 1st term: $$ \qquad r(x) = (EA)\frac{\partial u}{\partial x} $$
 * 2nd term: $$ \qquad s(x) = W(x) $$

By integration by parts:

$$ \int\limits_{x=0}^{x=L} \underbrace{W(x)}_{s} \frac{\partial }{\partial x} \underbrace{\left [(EA) \frac{\partial u}{\partial x}\right ]}_{r} dx = \left [W (EA) \frac{\partial u}{\partial x}  \right]_{x=0}^{x=L} - \int\limits_{0}^{L}\frac{dW}{dx}(EA)\frac{\partial u}{\partial x}dx $$

$$ \Rightarrow W(L) \underbrace{(EA)(L)\frac{\partial u}{\partial x}(L,t)}_{F=N(L,t)} - W(0) \underbrace{(EA)(0)\frac{\partial u}{\partial x}(0,t)}_{N(0,t)}- \int\limits_{0}^{L}\frac{dW}{dx}(EA)\frac{\partial u}{\partial x}dx $$

Model Problem
Image

At x = 0, select W(x) so that W(0) = 0, meaning the system is kinematically admissible.

Motivation: Discrete PVW applied to the equation shown below:

$$ \mathbf{W}_{6x1}\left(\left[ \mathbf{K} \right]_{6x2}\begin{Bmatrix} d_{3} \\ d_{4}\end{Bmatrix}_{2x1}-\mathbf{F}_{6x1}\right)=\mathbf{0}_{1x1} $$ for all $$ \mathbf{W} $$

where $$ \mathbf{F}^{T}=\left[F_{1 }F_{2} F_{3} F_{4} F_{5} F_{6}\right] $$

$$ F_{3}, F_{4} $$ are known reactions and $$ F_{1}, F_{2}, F_{5}, F_{6} $$ are unknown reactions.

Since $$ \mathbf{W} $$ can be selected arbitrarily, select $$ \mathbf{W} $$ such that $$ W_{1}=W_{2}=W_{5}=W_{6}=0 $$ so to eliminate equations involving unknown reactions $$\Rightarrow$$ This eliminates rows 1, 2, 5, and 6. The result is shown below:

$$ \mathbf{K}_{2x2}\mathbf{d}_{2x1}=\mathbf{F}_{2x1} \Rightarrow$$ Equation (1)

Note: $$ \mathbf{W}\left(\mathbf{K}\mathbf{d}-\mathbf{F}\right)=0 $$ for all $$ \mathbf{W} $$

Back to the continuous principle of virtual work

The unknown reaction is:

$$ N(0,t)=(EA)(0)\frac{\partial u}{\partial x}(0,t) $$

Due to continuous PVW, the equation then becomes:

$$ W\left(L\right)F(t)-\int_{0}^{L}\frac{\partial W}{\partial x}(EA)\frac{\partial u}{\partial x}dx+\int W(x)\left[f-m\ddot{u}\right]dx=0 $$ for all $$ W\left(x\right) $$ such that $$ W\left(0\right)=0 $$

The final equation can be written as:

$$ \int_{0}^{L}W\left(m\ddot{u}\right)dx+\int_{0}^{L} \frac{\partial W}{\partial x}(EA)\frac{\partial u}{\partial x}dx=W(L)F(t)+\int_{0}^{L}Wfdx $$ for all $$ W\left(x\right) $$ such that $$ W\left(0\right)=0 $$

Verifying Dimensions and Element Force Displacement Relations
Using the definition shown above, the following dimensional analysis shows the rotational degrees of freedom are dimensionless. $$\left[\theta \right]=\frac{\left[AB \right]}{\left[R \right]}=\frac{L}{L}=1$$

A dimensional analysis can also be done on other important parameters:

$$ \left[\epsilon\right] = \frac{[du]}{[dx]} = \frac{L}{L} = 1 $$

$$ \left[\sigma\right] = \left[E\right] = \frac{F}{L^2} $$

$$ \left[A\right] = L^2, [I] = L^4 $$

$$ \left[\frac{EA}{L}\right] = [\tilde{k}_{11}] = \frac{\frac{F}{L^2}{L^2}}{L} = \frac{F}{L} $$

$$ \left[\tilde{k}_{11}\tilde{d_1}\right] = [\tilde{k}_{11}][\tilde{d_1}] = F $$

$$ \left[\tilde{k}_{23}\tilde{d_3}\right] = [\tilde{k}_{23}][\tilde{d_3}] $$ where $$ \tilde{d_3} = 1 $$

$$ = \frac{\left[6\right][E][I]}{L^2} $$

$$ = \frac{\left(1\right)\left(\frac{F}{L^2}\right)(L^4)}{L^2} = F $$

Verifying Dimensions of $$ \tilde{k}_{ij} $$ and $$ \tilde{d}_{j} $$ for $$ i $$ and $$ j $$ = 1,...,6:
The matrix $$ \tilde{k_{ij}}\tilde{d_j} $$ is shown below

$$ \begin{bmatrix}\frac{EA}{L} & 0 & 0 & \frac{-EA}{L} & 0 & 0 \\ 0 & \frac{12EI}{L^{3}} & \frac{6EI}{L^{2}} & 0 & \frac{12EI}{L^{3}} & \frac{6EI}{L^{2}} \\ 0 & \frac{6EI}{L^{2}} & \frac{4EI}{L} & 0 & \frac{-6EI}{L^{2}} & \frac{2EI}{L} \\ \frac{-EA}{L} & 0 & 0 & \frac{EA}{L} & 0 & 0 \\ 0 & \frac{-12EI}{L^{3}} & \frac{-6EI}{L^{2}} & 0 & \frac{12EI}{L^{3}} & \frac{-6EI}{L^{2}} \\ 0 & \frac{6EI}{L^{2}} & \frac{2EI}{L} & 0 & \frac{-6EI}{L^{2}} & \frac{4EI}{L} \end{bmatrix} $$

The dimension of each term in the $$ \tilde{k_{ij}}\tilde{d_j} $$ matrix was calculated just as the above terms were in the previous notes and the resulting matrix is found to be:

$$ \begin{bmatrix}\frac{F}{L} & 0 & 0 & \frac{-F}{L} & 0 & 0 \\ 0 & \frac{F}{L} & F & 0 & \frac{-F}{L} & F \\ 0 & F & FL & 0 & -F & FL \\ \frac{-F}{L} & 0 & 0 & \frac{F}{L} & 0 & 0 \\ 0 & \frac{-F}{L} & -F & 0 & \frac{F}{L} & -F \\ 0 & F & FL & 0 & -F & FL \end{bmatrix} $$

The element force displacement relation in global coordinates from the element force displacement relation in local coordinates yields:

$$ \underline{k}^{(e)}_{6x6}\underline{d}^{(e)}_{6x1} = \underline{f}^{(e)}_{6x1} $$

with $$ \underline{k}^{(e)}_{6x6} = {\underline{\tilde{T}}^{(e)}_{6x6}}^T\underline{\tilde{k}}^{(e)}_{6x6}\underline{\tilde{T}}^{(e)}_{6x6} $$

from $$ \underline{\tilde{k}}^{(e)}_{6x6}\underline{\tilde{d}}^{(e)}_{6x1} = \underline{\tilde{f}}^{(e)}_{6x1} $$

$$ \begin{bmatrix} \tilde{d}_{1}\\ \tilde{d}_{2}\\ \tilde{d}_{3}\\ \tilde{d}_{4}\\ \tilde{d}_{5}\\ \tilde{d}_{6} \end{bmatrix} = \begin{bmatrix} l^{(e)} & m^{(e)} & 0 & 0 & 0 & 0\\ -m^{(e)} & l^{(e)} & 0 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 0 & l^{(e)} & m^{(e)} & 0 \\ 0 & 0 & 0 & -m^{(e)} & l^{(e)} & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} d_{1}\\ d_{2}\\ d_{3}\\ d_{4}\\ d_{5}\\ d_{6} \end{bmatrix} $$

The derivation of $$ \tilde{K}^{(e)} $$ from PVW, focusing only on bending effects:

$$ \frac{\partial^{2}}{\partial x^{2}}\left((EI)\frac{\partial^{2}v}{\partial x^{2}}\right) - f_{t}(x) = m(x)\ddot{v} $$

Vibrational Analysis Using FEA
$$\hat{k}_{23} = \frac{6EI}{L^2} = \int_{0}^{L}{\frac{d^2N_2}{dx^2}(EI)\frac{d^2N_3}{dx^2}dx}$$

In general,

$$\hat{k}_{ij} = \int_{0}^{L}{\frac{d^2N_i}{dx^2}(EI)\frac{d^2N_j}{dx^2}dx}$$

With i,j = 2,3,5,6

Elastodynamics (trusses, 2-D frames, 3-D elasticity)

Using modal problem from lecture 31 using discrete Principle of Virtual Works:

$$ \mathbf{\bar{w}} = [\mathbf{\bar{M}}\mathbf{\ddot{\bar{d}}} + \mathbf{\bar{K}}\mathbf{\bar{d}} - \mathbf{\bar{F}}] = 0$$

In the above equation, the boundary conditions are already applied

The following equation is true for all $$\mathbf{\bar{w}}$$:

$$\mathbf{\bar{M}}\mathbf{\ddot{\bar{d}}} + \mathbf{\bar{k}}\mathbf{\bar{d}} = \mathbf{\bar{F}}(t)$$

where $$\mathbf{\bar{d}}(0) = \mathbf{\bar{d}}_0$$

and $$\mathbf{\dot{\bar{d}}}(0) = \mathbf{\bar{V}}_0$$

The above will be referred to as (1)

These are the complete ordinary differential equations (ODEs), second order in time, and initial conditions governing the elastodynamics of the discretized continuous problem with multiple degrees of freedom.

Solving equation (1):

1) Consider the unforced vibrations problem:
$$\mathbf{\bar{M}}_{nxn}\mathbf{\ddot{v}}_{nx1} + \mathbf{\bar{K}}_{nxn}\mathbf{v}_{nx1} = \mathbf{0}_{nx1}$$

Unforced meaning the equation is equal to zero. This will be referred to as equation (2)

Assume: $$\mathbf{v}(t)_{nx1} = (sinwt)\mathbf{\phi _{nx1}}$$

Where the phi matrix is not time dependent

Thus: $$\mathbf{\ddot{v}} = -\omega ^2 sin\omega t\mathbf{\phi }$$

This means equation (2) becomes:

$$-\omega ^2 sin\omega t\mathbf{\bar{M}}\mathbf{\phi } + \omega ^2 sin\omega t\mathbf{\bar{K}}\mathbf{\phi } = \mathbf{0}$$

Therefore:

$$\Rightarrow \mathbf{\bar{k}}\mathbf{\phi } = \omega ^2\mathbf{\bar{M}}\mathbf{\phi }$$

Which is the generalized eigenvalue problem, as it is of the form:

$$\mathbf{A}\mathbf{x} = \lambda \mathbf{B}\mathbf{x}$$

With lambda as the eigenvalue.

A standard eigenvalue problem: $$\mathbf{A}\mathbf{x} = \lambda \mathbf{x}$$ is given when the B matrix is equal to the identity matrix.

This means that

$$\lambda =\omega ^2$$ is an eigenvalue.

$$(\lambda _i,\mathbf{\phi _i})$$ are eigenpairs.

with i = 1 through n

Now the mode i for the animation can be represented as:

$$\mathbf{v}_i(t) = (sinw_it)\mathbf{\phi _i}$$

for i = 1 through n

2) Modal superposition method:
Using orthogonal properties of the eigenpairs:

$$\mathbf{\phi _i}^T_{1xn}\mathbf{\bar{M}}_{nxn}\mathbf{\phi }_{nx1} = \delta _{ij} = \begin{cases} & \text{1 if } i=j \\ & \text{0 if } i\neq j \end{cases}$$

This delta is the Kronecker delta.

Mass orthogonality of the eigenvector.

Now, applying this to Eq (1) and (2) gives:

$$\mathbf{\bar{M}}\mathbf{\phi }_j = \lambda _j \cdot \mathbf{\bar{k}}\mathbf{\phi }_j$$

$$ \mathbf{\phi }_i^T\mathbf{\bar{M}}\mathbf{\phi }_j = \lambda _j\phi _i^T\mathbf{\bar{k}}\mathbf{\phi }_j$$

Therefore:

$$\Rightarrow \phi _i^T\mathbf{\bar{k}}\mathbf{\phi }_j = \frac{1}{\lambda _j}\delta _{ij}$$

Equation (1) can be written as:

$$\mathbf{\bar{M}}(\sum_{j}^{}{\ddot{\zeta }_j\mathbf{\phi }_j}) + \mathbf{\bar{K}}(\sum_{j}^{}{\zeta _j\mathbf{\phi }_j}) = \mathbf{F}$$

In the above equation, the first term in parenthesis is equal to the second derivative of the d matrix, while the second term in parenthesis is equal to the d matrix.

We can also write:

$$\sum_{j}^{}{\ddot{\zeta }_j(\mathbf{\phi }_i^T\mathbf{\bar{M}}\mathbf{\phi }_j} + \sum_{j}^{}{\zeta _j(\mathbf{\phi }_i^T\mathbf{\bar{K}}\mathbf{\phi }_j} = \mathbf{\phi }_i^T\mathbf{F}$$

The first term in parenthesis in this equation is equal to the Kronecker delta, while the second term in parenthesis is equal to an eigenvalue times the Kronecker delta.

Finally,

$$\Rightarrow \ddot{\zeta } + \lambda _i\zeta _i = \mathbf{\phi }_i^T\mathbf{F}$$

with i = 1 through n

title: User:Eml4500.f08.a-team.robinson


title: File:Hw2b.png


title: File:FEAHW2diag2.jpg


title: File:FEAHW2diag3.jpg


text:
User:CQ/2008/W39/4

1700 St Roch -

title: User:CQ/2008/W39/4


title: File:FEAHWdiag4.jpg


text:
User:CQ/2008/W40

Test page for journaling system

last week | this week | next week

title: User:CQ/2008/W40


title: File:FEAHWdiag5.jpg


text:
User:Eml4500.f08.qwiki.bishop/Lecture 13

=Meeting 13, Friday September 26, 2008= Similar to our objective in Meeting 12, today we would like to transform from a 4x2 matrix to a 2x2. The transformation relationship

\begin{bmatrix} P_1^{(e)}\\ P_2^{(e)}\\ \end{bmatrix} =T_{(2x4)}^{(e)} \begin{bmatrix} f_1^{(e)}\\ f_2^{(e)}\\ f_3^{(e)}\\ f_4^{(e)}\\ \end{bmatrix} $$ derived in Meeting 12 can also be expressed in its most general form:
 * $$\mathbf{P}^{(e)}_i=\mathbf{T}^{(e)}\mathbf{f}^{(e)}_i$$, where

 * $$\mathbf{P}^{(e)}_{i}$$ is the axial force of element e at local node $$i$$
 * $$\mathbf{T}^{(e)}_{(2x4)}$$ is the matrix used to transform force components to an axial force
 * $$\mathbf{f}^{(e)}_{i}$$ is the $$i$$th force component of element e

The overall goal is to find the relationship between: Let us consider the force transformation relationship:
 * $$\mathbf{q}^{(e)}_{(2x2)}$$ and $$\mathbf{d}^{(e)}_{(4x2)}$$, (axial displacements of each element node and their respective displacement component)
 * $$\mathbf{P}^{(e)}_{(2x2)}$$ and $$\mathbf{f}^{(e)}_{(4x2)}$$, (axial forces at each element node and their respective force components)
 * $$\mathbf{P}^{(e)}_{(2x2)}=\mathbf{T}^{(e)}_{(2x4)}\mathbf{f}^{(e)}_{(4x2)}$$

Recall that the element axial FD relationship is given by:
 * $$\mathbf{\hat{k}}^{(e)}_{(2x2)}\mathbf{q}^{(e)}_{(2x2)}=\mathbf{P}_{(2x2)}^{(e)}$$

By introducing a transformation matrix into the FD relationship, we obtain the following relationship:
 * $$\mathbf{\hat{k}}^{(e)}\mathbf{T}^{(e)}\mathbf{d}^{(e)}=\mathbf{T}^{(e)}\mathbf{f}^{(e)}$$

The ultimate goal is to express the above equation in the form $$\mathbf{k}^{(e)}\mathbf{d}^{(e)}=\mathbf{f}^{(e)}$$. If $$\mathbf{T}^{(e)}$$ were an nxn matrix, then one could simply "move" $$\mathbf{T}^{(e)}$$ from the right hand side to the left hand side by premultiplying the entire equation by the inverse $$\mathbf{T^{(e)}}^{-1}$$. Unfortunately, $$\mathbf{T}^{(e)}$$ is a rectangular 2x4 matrix, which means it is non-invertible.

Since we cannot solve for the inverse of the transformation ($$\mathbf{T}^{(e)}$$ is not an nxn matrix), we must instead make use of the transpose:
 * $$\mathbf{T}^{(e)T}_{(4x2)}\hat{k}^{(e)}_{(2x2)}\mathbf{T}^{(e)}_{(2x4)}\mathbf{d}^{(e)}_{(4x1)}=\mathbf{f}^{(e)}_{(4x1)}$$

Note that $$\mathbf{k}^{(e)}=\mathbf{T}^{(e)T}_{(4x2)}\mathbf{\hat{k}}^{(e)}_{(2x2)}\mathbf{T}^{(e)}_{(2x4)}$$ Therefore, $$\mathbf{k}^{(e)}\mathbf{d}^{(e)}=\mathbf{f}^{(e)}$$

The relationship $$\mathbf{k}^{(e)}=\mathbf{T}^{(e)T}\mathbf{\hat{k}}^{(e)}\mathbf{T}^{(e)}$$ can be justified by the principle of virtual work, which was first introduced in Meeting 10. Additionally, applying the principle of virtual work to the relationship $$K_{(6x6)}d_{(6x1)}=F_{(6x1)}$$ reduces it to $$K_{(2x2)}d_{(2x1)}=F_{(2x1)}$$.

One may wonder why we cannot simply solve $$d=K^{(-1)}F$$ Answer : The equation cannot be solved in the current form due to the singularity of $$K$$, i.e, $$detK=0$$ and thus $$K$$ is not invertible. (See above for definition of interbile matrix) Recall that in order to find $$K^{(-1)}$$ we must first compute $$1/{(detK)}$$. If a matrix is singular then $$1/{(detK)}$$ is undefined and cannot be solved. For our case of an unconstrained structural system, there are three possible rigid body motions in 2-dimensions (2 translations and 1 rotation) for each node.

References


title: File:Dumbell1.jpg


text:
User:Eml4500.f08.a-team.melvin/Lecture 10

Applying fixed B.C.'s => deleting corresponding collumns i nthe global stiffness matrix K.

By principle of Virtual Work (PVW) => deleting also corresponding rows (here, rows 1,2,3,5,6). Corresponding rows of F are also deleted.

Resulting FD relation

What is K-1 (without calculator) d1 K = (K33 K44) - (K43 K34)

K*K-1 = K-1*K = I

$$K^{-1} \neq \frac 1 {det K} ~ K^{-1}$$


title: File:Blah1.jpg


title: File:Image1.gif


title: File:Blah2.jpg


title: File:Blah3.jpg


title: File:Blah4.jpg


title: File:Matrix1.jpg


title: File:Image2.gif


title: File:Matrixk1k2.JPG


title: File:Image3.gif


text:
User:Eml4500.f08.a-team.robinson/Lecture 9/19/08

Element 1: k (1) d (1) = f (1)

| 0.5625  0.32476  ... ...   |          |  0  |    |                             |          |  0  |    |                             |          |  0  |    |                             |4x4       |  0  |4x1

| -4.4348  |       |  f1(1)  | =  |  -2.5622  |  =    |  f2(1)  | | +4.4378  |       |  f3(1)  | | +2.5522  |       |  f4(1)  | f1(1) & f2(1) = reactions f3(1) & f4(1) = internal forces

Observation: Element 1 is in equilibrium summation Fx = f1(1) + f3(1) = 0 summation Fy = f2(1) + f4(1) = 0

p1(1) = [(f1(1))2 + f2(1))2]1/2

Two methods for solving 2-bar truss with Euler cut principle

Method 1:

Method 2:

Back to FE solution: to bring p back into the big picture --> equilibrium of global node n(circled)


title: File:Blah5.jpg


title: File:Blah6.jpg


title: File:Diag121.jpg


text:
User:Eas4200c.f08.aero.lee/HW2

= Problem 1.1=

Provided Information
A beam with closed thin-walled section is designed to carry a bending moment M, and torque T. The total wall contour length is constant and is given by $$L=2(a+b)$$. Here a and b are the fixed width and height dimensions, respectively. For the purpose of solving this problem, the bending moment is equal to the torque, and $$ {\sigma}_{allowable}= 2{\tau}_{allowable}$$.

Using the assumption that the thickness, t, is much smaller than the height and width (b and a, respectively), we can assume that the shear stress is equally distributed in the walls of the shell. Below is a diagram visualizing the shear flow in the box beam, as well as showing approximations of the force distribution as a resultant force $${\nu}$$.

Figure 3: Shear Stress Distribution and Resultant Shear Stress in thin-walled beam

The shear stress due to torsion is given by: $${\tau}=\frac {T} {2abt}$$

Assumptions
To re-iterate and make referencing easier, the assumptions are as follows:

1) $$L=2(a+b)$$ is fixed

2) $$M=T$$

3) $${\sigma}_{allowable}= 2{\tau}_{allowable}$$

4) $${\tau}=\frac {T} {2abt}$$

Objective
With the provided information and assumptions, find the optimum b/a ratio that will achieve the most efficient thin walled-section.

Case 1
Case 1 is the calculation of the maximum allowable moment when $$ \sigma_{max}\ $$ is reached first from bending stresses. The equation for normal stress from a bending moment is as follows:

$$ \sigma\ = {My \over I} $$

Maximum normal stresses occur at the top and bottom of the cross-section when y=b/2. The equation then becomes:

$$ \sigma_{max}\ = {Mb \over 2I} $$

Since $$ \sigma_{all}\ $$ is a known quantity and we want to solve for $$ M_{max} $$, we use some simple algebra to rearrange it into the form:

$$ M_{max} = { 2I\sigma_{allow}\ \over b} $$

In order to maximize $$ M_{max} $$, we want to maximize the portion of the equation $${I \over b} $$. The next step involves finding I, the second moment of area of the cross section of the beam. I can be found with a combination of the superpositioning and parallel axes theorem by:

$$I = \sum_{i=1}^4 \frac{b_{i}\,h_{i}^3}{12} + A_{i}\,d_{i}^2 = 2\left (\frac{t\,b^3}{12} \right) + 2\left [\frac{a\,t^3}{12}+at\left (\frac{b}{2} \right)^2 \right]$$

With the assumptions $$t<<b$$ and $$t<<a$$, we can reduce the second moment of area to:

$$ I = {tb^2 \over 6} (3a+b) $$

Using the relation from the constraints of the problem that $$ a = {L \over 2}-b$$ (assumption 1), the new equation for the second moment of area becomes:

$$I = {tb^2(3L-4b) \over 12}$$

We then proceed to maximize the $${I \over b} $$ equation by defining it as a function $$f(b)$$ and applying fundamental principals of calculus.

The maximum applied moment for the allowable normal stress then finally becomes:

$$ M_{max}^{(1)} = {3tL^2 \over 32}\sigma_{allow}\ $$

From the problem statement we are given that $$\tau_{max}\ = {T_{max} \over 2abt}$$ (assumption 4). We plug in our derived value of $$M_{max}^{(1)}$$ into $$T_{max}$$ (assumption 2) and solve for $$ \tau\ $$:

$$ \tau_{max}\ = {T_{max} \over 2abt} = {M_{max} \over 2abt} = \sigma_{allow}\ $$

By assumption 3:

$$ \tau_{max}\ = \sigma_{allow}\ = 2 \tau_{allow}\ > \tau_{allow}\ $$

Which cannot happen because $$ \tau_{max}\ $$ cannot exceed $$ \tau_{allow}\ $$

Case 2
For Case 2, allow $$ \tau_{max}\ = \tau_{allow}\ $$, and then check to see that $$ \sigma_{max}\ < \sigma_{allow}\ $$ by invoking the assumption that $$ T = M $$.

First, solve for

 * $$T_{max} = 2t \tau_{allow}\ (ab)_{max} $$

Note that all parameters are fixed except the product $$(ab)_{max}$$. To maximize the product, recall that a can be defined in terms of b:

 * $$ f_{2} = ab = (\frac {L} {2} - b)b = \frac {bL} {2} - b^2 $$

Now, the maximum torque based on allowable shear stress is found as

 * $$ T_{max} = 2t \tau_{allow}\ \frac {L^2} {16} $$

Invoking the assumptions that M = T and $$ \sigma\ = 2\tau\ $$ the maximum bending moment is found to be

 * $$ M_{max} = \frac {tL^2} {16} \sigma_{allow}\ $$

This defines the maximum allowable normal stress to be

 * $$ \sigma_{allow}\ = \frac {16M_{max}} {tL^2} $$

To be sure that the actual maximum normal stress has not exceeded the allowable normal stress recall the equation

 * $$ \frac {I} {b} = {tb(3L-4b) \over 12} = \frac {tL^2} {24}$$

Such that the maximum stress is given by

 * $$ \sigma_{max} = M_{max} \frac {b} {2I} = \frac {12M_{max}} {tL^2} $$

Comparing the maximum normal stress to the allowable normal stress, it is seen that

 * $$ \sigma_{max} = \frac {3} {4} \sigma_{allow} $$

Thus, Case 2 provides a square cross section such that the acceptable optimized ratio is

 * $$ \frac {b} {a} = 1 $$

= Mohr's Circle =

To help further explain the basis of the problem statement assumption that

 * $$ \sigma = 2\tau $$

it is convenient to examine a Mohr's Circle plot of a beam in uniaxial tension.

Since it can be seen by the figure of the axial member that normal stress lies only in the x-direction, a Mohr's circle would have one plot of principal stress equal to $$ \sigma_{max} $$ and one equal to zero. The relationship of shear stress to the normal stress can be seen visually on the Mohr's Circle below. Namely,
 * $$ \tau_{max} = \frac {\sigma_{max}} {2} $$.

Therefore, it is seen that the problem statement for Problem 1.1 uses a fundamental principle in its assumption that $$ \sigma_{max} = 2\tau_{max} $$.

= Derivation of Second Area Moment of Inertia for Circular Cross Section =

Formula
Or equation for the second area moment of inertia in rectangular coordinates is:

 * $$\int\int_A \,z^2\,dy\,dz$$

The transition into polar requires the following polar transformations:
 * $$z=r\,sin(\theta)$$

 * $$dy\,dz=r\,dr\,d\theta$$

The resulting second area moment of inertia in polar coordinates is:

 * $$\int\int_A \,r^3\,sin^2(\theta)\,dr\,d\theta$$

Derivation
The second area moment of inertia in polar coordinates integrated over the entire area results in the equation:

 * $$2\,\int_{0}^{\pi}{\int_{0}^{R}{ \,r^3\,sin^2(\theta)\,dr\,d\theta}}$$

By integrating and evaluating the first integral we get:

$$2\,\int_{0}^{\pi}{\frac{R^4}{4}\,sin^2(\theta)\,d\theta}=\frac{R^4}{2}\,\int_{0}^{\pi}{\,sin^2(\theta)\,d\theta}$$

To continue integration, it is necessary to implement the half angle identity $$sin^2(\theta)=\frac{1}{2} \left[1-cos(2\,\theta) \right]$$ so that our integral becomes:

 * $$\frac{R^4}{4}\,\int_{0}^{\pi}{\,1-cos(2\,\theta)\,d\theta}$$

 * $$=\frac{R^4}{4}\,\left[\theta-\frac{sin(2\,\theta)}{2}\right]_0^\pi$$

With our final evaluation, we receive the second area moment of inerta for a circular cross section:
 * $$I=\frac {\pi\,R^4}{4}$$

= Problem 1 =

Given
The following figures below are presented, case 1 and case 2. Case 1 is a circular figure with radius R, and area, $$ A^{(1)} $$. Case 2 is a 3 bar system made out of 3 bars, each with thicknesses t, and length and height of a, and be respectively. The area of case 2 is has the notation as $$ A^{(2)} $$. See the schematic below for more information concerning the problem information.

Objective
For this problem make sure to calculate the momemnt of inertia for both cases 1 and 2 and compare there values. Be sure to also locate the position of the centroid for case 2 in relation to the parallel axis, in this case the y-axis.

Solution
Using the following formulas to derive the moment of intertia for both cases, the circle and square:

For a circle:
 * $$ I_{y} = \frac {(\pi)R^4} {4} $$

For a rectangle:
 * $$ I_{y} = \frac {bh^3} {12} $$

Parallel axis theorem:
 * $$ I_{y} = I_{y,centroid} + Ad^2 $$

Using the formula for the moment of inertia for a circle with respect to the y-axis, we know that;
 * $$ I_{y} = \frac {(\pi)R^4} {4} $$

The area for case 1 is given by:

 * $$A^{(1)}=\pi R^2$$

and the moment of inertia is given as:

 * $$I_y=\frac{\pi}{4}R^4$$

Knowing that a = b, and that t=a/10, the equation for the area of case 2 can be reduced as follows:

= Importance of Stringers =

Stringers, or longerons, are critical to aircraft structures. Strings provide rigidity to the skin of the fuselage or wing, helping to support the aerodynamic loads. Stringers can be seen riveted to the fuselage skin in the cross-section of a 747 to the right.

As can be seen from the figure, stringers have an open cross-section with the vertical members canted outwards at a slight draft angle. These features are advantageous for ease of manufacturing and assembly. The skin must be riveted to the stringer, which is more easily done with an open cross-section rather than a closed, thin-walled section. Also, when manufacturing an open-section stringer, a punch can be used on sheet metal to obtain the form. This eliminates the need to roll and form a closed-section.

The outward canted draft angle provides a means for the string to be easily removed from the punch and is also convenient for stacking stringers in storage (as shown in the figure below).

= Problem 1.7 with Modification II: Circles =

Given
A circle has radius $$ R_{1} $$ and area $$ A^{(1)} $$. A dumbell shaped figure consists of a thin web of thickness $$ t = 0.1R_{1} $$, length $$ l = 2R_{1} $$ and area $$ A^{(2)} $$. On each end of the web are connected circles of radius $$ R_{2} $$.

Find
Find and compare the second area moment of inertia, $$ I_{y} $$, for the circle and dumbell if $$ R_{1} = 10 cm $$ and $$ A^{(1)} = A^{(2)} $$.

Equations
For a circle:
 * $$ I_{y} = \frac {(\pi)R^4} {4} $$

For a rectangle:
 * $$ I_{y} = \frac {bh^3} {12} $$

Parallel axis theorem:
 * $$ I_{y} = I_{y,centroid} + Ad^2 $$

Solution
Circle:

Use the formula derived in the previous problem to determine $$ I_{y}^{(1)} $$.

 * $$ I_{y}^{(1)} = \frac {(\pi)R_{1}^4} {4} = \frac {(\pi)(10 cm)^4} {4} = 7,854 cm^4 $$

Dumbell:

First, determine $$ R_{2} $$ such that $$ A^{(1)} = A^{(2)} $$.

 * $$ A^{(1)} = A^{(2)} $$

 * $$ (\pi)R_{1}^2 = 2R_{1}t + 2(\pi)R_{2}^2 $$

 * $$ R_{2} = [\frac {R_{1}^2} {2} - \frac {R_{1}t} {\pi}]^{1/2} = 6.84 cm $$

Next, use the parallel axis theorem to determine $$ I_{y}^{(2)} $$.

 * $$ I_{y}^{(2)} = \frac {t(2R_{1})^3} {12} + 2[\frac {(\pi)R_{2}^4} {4} + (\pi)R_{2}^2(R_{1} + R_{2})^2] $$

 * $$ I_{y}^{(2)} = \frac {2R_{1}^3t} {3} + 2[\frac {(\pi)R_{2}^4} {4} + (\pi)R_{2}^2(R_{1}^2 + 2R_{1}R_{2} + R_{2}^2)] = 87,469 cm^4 $$

Finally, compare $$ I_{y}^{(1)} to I_{y}^{(2)} $$.

 * $$ \frac {I_{y}^{(2)}} {I_{y}^{(1)}} = 11.1 $$

Therefore, it is shown that by redistributing the area of the circle into the shape of the dumbell, the second area moment of inertia increases by an order of magnitude.

= Shear Stress Equations =

Ad-Hoc vs Analytical Method
From the above schematic of Problem 1.1, shear stress across a rectangular cross section is approximated at $${\tau}=\frac {T} {2abt}$$

An analytic solution, applicable across any cross section, is: $$T = \oint \rho\,q\,ds = \iint_{\bar A} 2q\,dA = 2q \bar A$$

Where q is the shear flow, described by the equation $$q=\tau t$$, and Ā is the average area of the cross section.

Shear Strain
Engineering shear strain, not to be confused with tensorial, is described by the equation:

$$\gamma\ = \frac {\delta\ u} {\delta\ y} + \frac {\delta\ v} {\delta\ x} = \frac {\delta\ u_x} {\delta\ y} + \frac {\delta\ u_y} {\delta\ x}$$

Where u is the displacement along the x-axis and v is the displacement along the y. As you can see in Figure 14, the shear strain γ is analogous to the change in the right angle that the new parallelogram creates.

$$ \epsilon_{xy}\ = Tensorial\,Shear\,Strain = \frac {1}{2} \gamma_{xy}\ $$

= References =
 * http://en.wikipedia.org/wiki/Mohr%27s_circle
 * http://en.wikipedia.org/wiki/Longeron
 * http://en.wikipedia.org/wiki/Ad_hoc
 * http://en.wikipedia.org/wiki/Shear_strain

= Contributing Members = The following Team Aero members contributed to this report.

Jared Lee --Eas4200c.f08.aero.lee 16:18, 26 September 2008 (UTC)

Oliver Oyama --Eas4200c.fo8.aero.oyama 16:32, 26 September 2008 (UTC)

Ray Strods --Eas4200c.f08.aero.strods 18:08, 26 September 2008 (UTC)

William Kurth --Eas4200c.f08.aero.kurth 18:53, 26 September 2008 (UTC)

Gonzalo Barcia --Eas4200c.f08.aero.barcia 18:58, 26 September 2008 (UTC)

title: User:Eas4200c.f08.aero.lee/HW2


text:
Game programming/Abstract Data Types

Notice this page was automatically translated from Spanish. This will be fixed when the author wants to do it.

"A master in the art of life makes no much distinction between his work and play, his work and leisure, his mind and body, his education and recreation, his love and his religion. He just distinguishes which is which. Simply collecting his vision of excellence in every thing he does, leaving others to decide if he is playing or working. In his own eyes, he is always doing both." Anonymous

Requirements

 * C knowledge
 * To know what an abstract data type (ADT) is, and why using that approach is preferable to using several unlinked variables.
 * To know how to implement an ADT in C programming language.
 * To learn how to modify data in an ADT through indirection/pointers.

Programming example
With the introduction over, let's go inside the field of C language and data abstract types implementation.

An important feature of C related to programming games is the creation of abstract data types (ADTs). ADTs have a higher level of abstraction from the basic data types in the language (int, float, double and char). With ADTs it is possible to create new ways of organizing game data: sprites (all moving objects), states of sprites, achievements, menus, buttons, animations, linked lists, players, levels, games, Events, etc..

To clarify this matter see this example:

// Code 1.1 // File Sprite.h typedef struct _sprite {  int x, y; // Position in the world (could also be unsigned). unsigned int speed; // Speed at which sprite is travelling. int angle; // Direction of sprite's movement int frame; // Number of the current animation (could also be a pointer). int framespeed; // How long each frame lasts for. int energy; // Energy (or other resource). // And so on } Sprite;

As a reminder, typedef is the keyword for defining a new name for a type, allowing us to use Sprite instead of struct _sprite. This snippet creates a sprite type, which contains data for position, speed, angle, animation and energy variables. To use this type, you might do (in a program that already has a main function):

// Code 1.2 … void InitGame (void) {  Sprite sprite; sprite.x = 0; sprite.y = 0; sprite.speed = 0; // Initially is still sprite.angle = 0; // Looking to the right sprite.frame = 0; sprite.framespeed = 10 // Change the animation every 10 frames sprite.energy = 10; } …
 * 1) include "Sprite.h"

As can be seen, you can set the variables in this way. However, only upon the initialization of the ADT, you can use a different notation:

Sprite sprite = {.x = 0, .y = 0, .speed = 0, .angle = 0, .frame = 0, .framespeed = 10, .energy = 10};

This snippet sets a sprite's data. A real game might initialize this data from a file or use different values for energy and framerates depending on the sprite, which would each be initialized with different values. Another thing to note is the difference from the basic data types, which are declared and then assigned values. Here, the Sprite is a collection of variables and thus to access a sprite's data, we must use the period operator (.).

Why do we use ADTs? Why not to use theunstructured variables?

This could be as follows:

// Code 1.3 … void InitGame (void) {  int spriteX, spriteY; unsigned int spriteSpeed; int spriteAngle; int spriteFrame; int spriteFrameSpeed; int energy; spriteX = 0; spriteY = 0; spriteSpeed = 0; spriteAngle = 0; spriteFrame = 0; spriteFrameSpeed = 0; spriteEnergy = 10; } …

This is somewhat equivalent to the first fragment (Code 1.2). However, it possesses several flaws. The first one is that when we need several sprites (and we will need many sprites), we should have parallel arrays of the variables or have variables such as:

... int spriteX2, spriteY2; ...

Which is by any standard unworkable if we have several types of sprites. The why is to do with alignment (though to get around this one can use an array of ints - the flaw being that we must access speed as a uint. Plus, it gets worse if we need larger data types, also due to alignment). The second thing is that the data is encapsulated in the Code 1.2, but in 1.3 it is loose. The advantage to having the data encapsulated is that if we need to do something with the data we have to spend only a Sprite pointer, as follows:

// Code 1.4 // A feature that takes away a point energy to a sprite void DamageSprite(Sprite *sprite, unsigned int damage) { sprite->energy -= damage; // Check if the sprite ceased to exist if (sprite-> energy == 0) {  // The sprite is dead, do something PlaySound("death.wav"); } }

This function is very simple. Using a pointer to a sprite, it reduces their energy. To modify the data we use the arrow operator (->). This operator can be thought to access the value pointed to by sprite, then access whatever variable in the struct has the name following (note that if you look at the assembly it works a bit differently). It is, in fact, equivalent to:

(*sprite).energy -= damage;

This is called pass by reference in C. You can also simple as int rates:

// Code 1.5 void swap(int *ptr_x, int *ptr_y) { int temp = *ptr_x ; *ptr_x = *ptr_y; *ptr_y = temp ; } // the call void doswap { int x, y;  x = 1 ; y = 2 ; swap(&x, &y) ; // At this point, x == 2 and y == 1. }

The reason the values swap is because we pass by reference. If passed by value, due to the copying mechanism, the original x and y values remain unchanged. We use the reference operator * to access and modify the original values. That is what makes (*sprite).energy or, in abbreviated form for a ADT: sprite->energy.

Remember:

We use an ADT to avoid declaring separate variables and to encapsulate the information in a single type. Knowing this, we use the Sprite struct.

All of the above ideas are joined in the following code. If you did not understand some code above, it is advised that you return to it and go over it to better understand this block.

// Code 1.6: Sprite array // Filename is sprites.c // Define the largest number of sprites we need to have room for // Array of sprites Sprite sprites[MAX_SPRITES]; // The function to initialize them void InitSprite(Sprite *sprite) { sprite->x = 0; sprite->y = 0; sprite->speed = 0; sprite->angle = 0; sprite->frame = 0; sprite->framespeed = 10; sprite->energy = 10; } void InitSprites { for(int i = 0; i < MAX_SPRITES; i++) {  InitSprite(&sprites[i]); // Or can be InitSprite(sprites + i * sizeof(Sprite)); }	 } void InitGame(void) { ...  InitSprites; ... }
 * 1) include "includes.h"
 * 1) define MAX_SPRITES	10

This code closes this chapter. My style is to enter the field from the start so that the reader curious about what can be achieved as soon as possible. If they found very difficult to advise you to review the key concepts of C-pointers, structures, step by reference, etc.. If you have not understood do not worry because the other chapters will be clarified the concepts outlined here.

Exercises
Note from person checking English translation: I can't really figure out much of this part, and the challenges seem a bit obfuscated, so I wouldn't worry about being unable to do them.

1. Show the code to declare a TAD animation. An animation must have a displacement x, y (a BMP file in which all are), a pointer to bmp (type SDL_Surface), width, height, number of tables animation.

2. Show the code for declaring a player named Player of TAD. Must have lives, score, color, name and sprite (sprites) partner. Hint:

typedef struct _player { int score; // Escribir el resto de campos } Player;

3. Declare and initialize a list of under 4 players. Lives, score and color should all be 0. The name of each should get out of a settlement (char *names[4]). The sprite must emerge from an array of sprites (Sprite sprites *[4]);

4. Declare a variable pointer of a player to create a dynamic array of players. The function will receive the number of players, dynamically allocate the memory and initialize all fields to 0 (Hint: use the functions of memory management found in mem.h)

title: Game programming/Abstract Data Types


text:
User:Nsd~enwikiversity

¢

title: User:Nsd~enwikiversity


text:
User talk:Nsd~enwikiversity

¢

 Hello Nsd, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random random project.
 * Browse everything on Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! --mikeu talk 23:08, 26 September 2008 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Nsd. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Nsd~enwikiversity that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:45, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 06:17, 19 April 2015 (UTC)

title: User talk:Nsd~enwikiversity


text:
Category:Language introductions

__HIDDENCAT__

title: Category:Language introductions


text:
Talk:Game programming/Abstract Data Types

It still needs some grammar fixes because I wrote it when I did not know much English. Davichito 00:29, 27 September 2008 (UTC)

I think its awesome the source files have spanish comments, it's always ever english! BeauMartinez 00:43, 16 January 2009 (UTC)


text:
User:Eml4500.f08/HW report table

The top 3 HW reports are indicated by [n] where n=1,2,3 is the ranking.

Rules to review top-3 HW reports, Comments to classes

 Warning: There are many errors that cannot be all pointed out due to time constraint, including in the top 3 HW reports. On the other hand, the best features of any HW report in a given HW series are listed in The Best of HW_# wiki page linked to at the bottom of the HW report table; these best features, together, represent a composite work of the class that comes closer to an ideal HW report. Eml4500.f08 10:15, 1 November 2008 (UTC)

(a) : The deadline was Wed, 10 Sep 08, but extended to Fri, 12 Sep 08, due to error on a date in an e-mail announcement.

(b) : The deadline was on the previous Wednesday, which was an exam date, and was thus extended to a date after the exam (Thu or Fri) while avoiding holidays (Fri, 24 Oct 08 was Homecoming day), except for additional deadline extension upon a reasonable request.

(c) : 21:00 UTC = 17:00 EDT = 5:00 pm EDT = 4:00 pm EST. From the first Sunday of November, the Eastern time changed back to the EST, and we used 22:00 UTC = 5:00 pm EST.

EAS 4200C HW report table

title: User:Eml4500.f08/HW report table


text:
User:Eml4500.f08/Review top-3 HW reports

 When you review the top 3 HW reports: Eml4500.f08 10:11, 24 September 2008 (UTC)
 * (0) The goal is to contribute to improve these top HW reports to make them useful for the class and for others in the future.
 * (1) Report any possible copyright violation and/or plagiarism in the submitted archived version by pointing out these violations in the current version using the comment box format such as this one; see an example.
 * (2) Report any possible errors (there could be many errors; be careful!) See my comments on some errors in this example. It is not possible for the TAs or me to detect all errors (time limitation), and hence plenty of opportunities for individual students to get some more HW credits; see below.
 * (3) Inform me and the TAs after you put a comment box in a top-3 HW report with the web address of your latest archived version of a top-3 HW report so to get some credits (thus improving your own HW grade). Be sure to log in with your wiki username and sign your comment with the "4-tildes" command to get the credit, and to number the errors.  Some points from the HW grade of the top-3 HW report with the error you detected would be transferred to your HW grade.
 * If more than one student work together to detect an error, then each of these students should individually sign in the error comment box to receive credits.
 * The top-3 teams can also protect their HW grades by detecting their own errors ahead of the class, following the same procedure described above.
 * If I detect an error after the TAs had identified the top-3 HW reports, but before the top-3 team with this error could correct this error, some points would be taken off from this top-3 team.
 * (4) All errors are reported in the HW report table by the error numbers linked to the archived HW report with the corresponding error comment boxes; see the table in user:eml4500.f08 and in user:eas4200c.f08.
 * (5) For serious violations (copyright, plagiarism), a top-3 HW report can be demoted with a much lower HW grade, as already mentioned in class.
 * (6) If you contribute to correct these errors, not just detecting these errors, you would get some more points, depending on how extensive and substantial your correction was. (If the top team with errors promptly correct their errors, they would get some points back.) When you correct an error, do NOT delete the error comment box; simply add to this box a comment that you had corrected the error, sign with the 4-tildes command, and e-mail me and the TAs the archived version with your correction.
 * (7) If you make improvements to a top HW reports, report your improvements in comment boxes, and e-mail to me and the TAs the archived version with your improvements. Points will be given to substantial improvements.


text:
User:Eml4500.f08/Comments to classes

Comments to classes:
 * For each HW report, please add a section at the end, listing ONLY the contributing team members to that HW report. An example is given in this HW1 report.
 * If you divide your HW report into different parts, each part located in a different user sub-page, you want to link the archived version of these different parts of your HW report into a single wiki page to submit.
 * For example: Team FEABBQ: HW1 AB, Combined HW1 wiki page; Use the team coordinator's user namespace, or create a separate team user account; Use your team's user namespace, NOT the main namespace of wikiversity (note the "resource" tab that indicates the main namespace, whereas the "about username" tab indicates the user namespace).
 * Here is another example of using the main namespace (notice the "resource" tab) instead of a user namespace. A list of HW report wiki pages under the main namespace is given in the discussion (talk) page of this wiki page; please visit this list to move your wiki pages from the main namespace to your team's user namespace.
 * For the Team discussion wiki page, create a separate user sub-page or use the discussion section ("discussion" tab, known as the user "talk" page) of your HW wiki page. For example, Team Echo's wiki page is a user sub-page of a team member.  Look at their To do list; the discussion tab (or talk page) of this wiki page can be used as a place for discussion among team members to coordinate the work.
 * If you are concerned that other teams might copy/plagiarize your current HW report before submission, you may want to use the approach that I discussed in class some time ago. If you are not clear about this approach, check with your team or other students.  If you are still not clear, ask me again; I did write about it in a course web page.

 * Type up all equations using the  command.  Do NOT type equations using Words and then scan and upload the equation images.

 * For each uploaded image, always provide a description and licensing information using existing ready-to-use template; see the images in Team Delta_6's HW1 report as examples.

 * Do NOT scan your hand-written classnotes and then upload the image. Type your classnotes in the wiki page.

 * One team still has its work on wikipedia; please move your work to wikiversity. (Both classes have moved to wikiversity a long time ago.)

 * Improving a previously submitted archived HW report for some more points: After the archived version of a HW report (e.g., HW1) had been submitted, at the deadline of a subsequent HW report (e.g., HW2), you can do the following:
 * Incorporate your team's contributions into the main text of a previously submitted HW report, i.e, remove the collapsible table structure and incorporate the content of these tables into the main text of this HW report. If you want a collapsible table to be an integral part of your wiki HW report, such as the collapsible tables in the article Stress (physics), current version, you don't have to remove it, but you want to change its title, i.e., you no longer need to identify its content as your team's contribution; instead, simply state its content in the table title.
 * In case there were errors in your previous HW report, correct any possible errors, and put the corrected portion in a collapsible table.
 * Improve your previously submitted HW report (e.g., HW1) with new contributions in collapsible tables clearly marked "new contributions". Points will be given to these new contributions.
 * True to the spirit of the Creative Commons license and the GNU Free Documentation License (copyleft), you can incorporate the best features of other teams' previously submitted archived HW report, provided that you cite their contributions by referencing their archived HW report; see an example below.
 * Please note that the "no copyright violation and no plagiarism" requirement continues to hold for any current (new) HW report that has not been submitted. Only once the archived version of a HW report had been submitted that the Creative Commons license and the GNU Free Documentation License (copyleft) are applied to allow for use in improving a previously submitted archived HW report.
 * Submit the archived version of this improved HW report together with the archived version of the current HW report before the deadline for the current HW report. Improving your past HW reports is a way to get some more points for your previously submitted archived HW report.  The grading of an improved previously submitted HW report would be slower than for the current HW report, i.e., you may hear about the grade change of your improved HW report some time after you get your grade for your current HW report.
 * Due to the budget cut (not enough TA time), grading and/or detailed grading may not be possible; on the other hand, some help would be considered.

Example of incorporating and citing other teams' archived HW report:

The following conventions should be followed for all finite element truss problems (see Section "1.3 Finite Element Notation" in Team Echo's HW1 report, 20:03, 12 September 2008). They are intended to assist in computation.

 * Global Nodes shall be labeled with a circle around the node number.
 * Local Nodes shall be labeled with a square around the node number.
 * Elements shall be labeled with a triangle around the node number.
 * Displacement notation shall include the element number in parenthesis in the upper-right corner. The lower-right corner shall include the internal force number of the element.

title: User:Eml4500.f08/Comments to classes


text:
User:Eas4200c.f08/HW report table

The top 3 HW reports are indicated by [n] where n=1,2,3 is the ranking.

Rules to review top-3 HW reports, Comments to classes

 Warning: There are many errors that cannot be all pointed out due to time constraint, including in the top 3 HW reports. On the other hand, the best features of any HW report in a given HW series are listed in The Best of HW_# wiki page linked to at the bottom of the HW report table; these best features, together, represent a composite work of the class that comes closer to an ideal HW report. Eml4500.f08 10:15, 1 November 2008 (UTC)

(a) : The deadline was Wed, 10 Sep 08, but extended to Fri, 12 Sep 08, due to error on a date in an e-mail announcement.

(b) : The deadline was on the previous Wednesday, which was an exam date, and was thus extended to a date after the exam (Thu or Fri) while avoiding holidays (Fri, 24 Oct 08 was Homecoming day), except for additional deadline extension upon a reasonable request.

(c) : 21:00 UTC = 17:00 EDT = 5:00 pm EDT = 4:00 pm EST. From the first Sunday of November, the Eastern time changed back to the EST, and we used 22:00 UTC = 5:00 pm EST.

(*) : Team disbanded, with each team member joining a different team.

(#) : Team coordinator should e-mail new team info to TAs AND give me a hardcopy in landscape mode

EML 4500 HW report table

title: User:Eas4200c.f08/HW report table


text:
Greek Language

Greek (Modern Greek: ελληνικά [eliniˈka], elliniká, "Greek", ελληνική γλώσσα [eliniˈci ˈɣlosa], ellinikí glóssa, "Greek language") is an independent branch of the Indo-European family of languages, native to Greece and other parts of the Eastern Mediterranean.

Lessons

 * /Alphabet/
 * /Vowels/
 * /Consonants/
 * /Two-letter Vowels/
 * /Two-letter Consonants/
 * /Diphthongs/
 * /Syllable Separation/
 * /Articles/
 * /Pronouns/
 * /Indefinite Pronoun/
 * /Personal Pronoun/
 * /Relative Pronoun/
 * /Auxiliary Verbs/
 * /είμαι/ - I am
 * /έχω/ - I have
 * /?/ - I do
 * /Simple Verbs/
 * /Forming Simple Sentences/

title: Greek Language


text:
Python Concepts/PyQt

PyQt is a Python binding of the cross-platform GUI toolkit Qt. It is one of Python's options for GUI programming. Popular alternatives are PySide (the Qt binding with official support and a more liberal licence), PyGTK, wxPython, and Tkinter (which is bundled with Python). Like Qt, PyQt is free software. PyQt is implemented as a Python plug-in.

Recommended prerequisites

 * Python would be good so you know how to work with Python.
 * An introduction course to GUI programming.
 * Installing and using 3rd party Python libraries.

Readings

 * PyQt

External resources

 * Instructions?
 * Python's website on PyQt4
 * A good intro tutorial on PyQt4
 * PyQt4 reference guide

title: Python Concepts/PyQt


text: Category:Microsoft Office

title: Category:Microsoft Office


text:
Talk:Microsoft Office/Word

Category
How about category "Word processors"? Emesee mobi 07:58, 27 September 2008 (UTC)
 * I'd have no problem with a switch from "word processing" to "word processor" or "word processors"; the latter two are probably more accurate. -- Jtneill - Talk - c 09:40, 27 September 2008 (UTC)
 * Instead, I've followed the categorising used for the equivalent article on Wikipedia - seemed like it had more forethought / deeper categorisating. -- Jtneill - Talk - c 09:58, 27 September 2008 (UTC)
 * We could have both, if it might prove useful. Emesee mobi 16:46, 27 September 2008 (UTC)

title: Talk:Microsoft Office/Word


text: Category:Word processors

title: Category:Word processors


text:
User talk:Stress9

 * HW7: Ready for quantitative grading
 * HW6: Ready for quantitative grading
 * HW5: Ready for quantitative grading
 * HW4: Ready for quantitative grading
 * HW3: Ready for quantitative grading
 * HW2: Ready for quantitative grading

title: User talk:Stress9


text:
User talk:Prince Kassad

 Hello Prince Kassad, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random random project.
 * Browse everything on Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! Jtneill - Talk - c 14:03, 27 September 2008 (UTC)

 Hi! Our name is Vicky-Verity. We are twins and are Wikiversity mascots. We think Wikiversity is a great place to learn and make friends (when we aren't sleeping). Leave us a message!

title: User talk:Prince Kassad


text:
User:La comadreja

W ELCOME TO THE G ENOMICS AND E VOLUTIONARY B IOLOGY U SERPAGE ! R ESEARCH AND M ENTORING S INCE 2008  C ONTACT L A C OMADREJA : reseal05@gmail.com   RESEARCH MENTORING • COURSE MENTORING • LA COMADREJA ON WIKIPEDIA

Greetings and welcome to a new kind of place! This Userspace is affiliated with Wikiversity's Research portal, one of the world's first fully online research facilities. It is also part of the Mentors program. You are welcome to contact me if you are interested in my research, research at Wikiversity, or Wikiversity in general. I am a professional bioinformatician interested in making university-type resources, including scientific scholarship, more widely available. The specific research projects I conduct change every so often, or students and volunteers may propose their own. I am not only interested in empirical and theoretical work, but also in conceptual essays about the philosophical underpinnings of scientific assumptions. For more information, click on the links above and below.

Active

 * G-Protein Coupled Receptor Gene Duplication Project - computational analysis of databases

Less Active

 * Echinoderm Nervous System Evolution Project - laboratory techniques

Essays Under Revision

 * An essay about self-organization and its role in the evolution of complexity, currently formulated as a course
 * How the theories of the Modern Evolutionary Synthesis should be reformulated for today's evolutionary biologists

Related Disciplines

 * Bioinformatics
 * Genomics
 * Genetics
 * Computer Science

 * Evolutionary Biology
 * Marine Biology
 * Neuroscience
 * Paleontology

 * Philosophy
 * Physiology
 * Writing

F OR N EW U SERS  Happy Editing! If you're not sure how to edit or just want to learn more, this free workshop on a related site called WikiEducator will teach you the ropes and connect you with some of the friendliest and most enthusiastic people in the wiki world. It's regularly offered as an online course, which I took back when I was a novice user. Today is Monday, July 29, 2024!

title: User:La comadreja