## This function is almost the same function in project part A, but you also need bending below the beam surface.

### engineering

##### Description

1 Building Blocks

[σ, a] = Hertz(r1,r2,r3,r4,tp,P,geometry,material) given a point loading and 5 design parameters, this function output the stress (principal stress as 1 by 3 vector) at the center of contacting and contact radius. This function use equation 3-12 in the project statement.

[σbend] = bendStressPolymer(tp, a, P, x, y) given a UHMWPE thickness, the point loading and the distance of load from the left end, this function output the bending stress at (x,y), where x is the distance to the left end, y is the depth below the UHMWPE surface. This function is almost the same function in project part A, but you also need bending below the beam surface.

[σV M ] = stressVM(σ) given a principal stress (1 by 3 vector), this function output the von Mises stress as a scalar.

2 Objective function

[σA, a] = stressA(r1,r2,r3,r4,tp) given only design parameter, for the regular loading case, this function call Hertz and bendStressPolymer to get the principal stress at A point (center at contact ares, on the surface). One thing to notice is this function call bendStressPolymer twice since we have two loading (symmetric), also the bending stress from bendStressPolymer should be appended to first component of contact stress result.

[σB] = stressB(σA,a,tp) given the stress state at A point and the contact radius, and the thickness of polymer, this function calculate the stress state at B point (max shear). This function use the contact stress at A point with the scale to get the contact stress at B point, also append the bending stress at B point from bendStressPolymer to get complete stress state. One critical thing to notice is the x component in σA includes bending stress at A point, which means you cannot use the value of x component to scale. You can only use y or z component of stress at A point to scale to get stress at B point.