Calculations in support of T070138-00

Moments of inertia etc for a wedged optic with flats

A substitution to fix expressions of the form Sqrt[x^2] that are often produced by Integrate[]

powerfix=(((((x_)^2)))^(Rational[n_,2])):>(x^n);

A function to integrate an expression over the volume of a wedged cylinder of thickness tx at the centre and radius tr. The slope of the wedge is wabh and wabv in y and z at the back surface and wafh and wafv at the front.

wedgeflatintegrate[f_] := Integrate[
	f,
{y,-Sqrt[tr^2-(tf/2)^2],Sqrt[tr^2-(tf/2)^2]},
{z,-Sqrt[tr^2-y^2],Sqrt[tr^2-y^2]},
{x,-tx/2+wabh*y+wabv*z,tx/2+wafh*y+wafv*z},
Assumptions->{Re[(tr/(Sqrt[-((tf^2)/4)+(tr^2)]))]≥1,Im[tf]==0,Im[tr]==0,tf>0}
]/.powerfix

Mass

m = wedgeflatintegrate[rho]

x COM

xCOM = wedgeflatintegrate[rho x]/m

y COM

yCOM = wedgeflatintegrate[rho y]/m

z COM

zCOM = wedgeflatintegrate[rho z]/m

x MOI

xMOI= wedgeflatintegrate[rho(y^2+z^2)]

y MOI

yMOI = wedgeflatintegrate[rho(x^2+z^2)]

z MOI

zMOI =wedgeflatintegrate[rho(x^2+y^2)]

xy MOI

xyMOI = wedgeflatintegrate[rho x y]

xz MOI

xzMOI = wedgeflatintegrate[rho x z]

yz MOI

yzMOI = wedgeflatintegrate[rho y z]

Test values

tv0 = {tx->0.2,tr->0.17,tf->0.095,rho->2200,wabh->0,wabv->0,wafh->0,wafv->0}

m/.tv0

zCOM/.tv0

LASTI test mass

zCOM/.wabv->10/60*Pi/180/.tv0

ETM

zCOM/.wabv->-30/60*Pi/180/.tv0

Data analysis for flexure correction calc as used in T070138-00

The coefficients in the following equations are the x and y coordinate of keypoints #10 and #11 in an ANSYS model of the ribbon neck, and were read from the nodal solution. The c values computed from them are the absolute flexure positions.

Ribbon 2, 20070823, KP#1

s1 = Solve[{
	0.01           == m (-0.1-0.00050172 - c),
	0.0046682 == m (-0.05-0.00021498 - c)
},{m,c}]

Ribbon 2, 20070823, KP#2

s2 = Solve[{
	0.01           == m (-0.1-0.00049072 - c),
	0.0045829 == m (-0.05-0.00021263 - c)
},{m,c}]

Ribbon 2, 20070823, KP#3

s3 = Solve[{
	0.01           == m (-0.1-0.00048262 - c),
	0.0045273 == m (-0.05-0.00021042 - c)
},{m,c}]

Ribbon 2, 20070823, KP#4

s4 = Solve[{
	0.01           == m (-0.1-0.00047922 - c),
	0.0045074 == m (-0.05-0.00020943 - c)
},{m,c}]

Ribbon 2, 20070823, KP#4, fine res

s4fine = Solve[{
	0.01           == m (-0.1-0.00047884 - c),
	0.0045082 == m (-0.05-0.00020916 - c)
},{m,c}]

Ribbon 2, 20070823, KP#5

s5 = Solve[{
	0.01           == m (-0.1-0.00047811 - c),
	0.0045002 == m (-0.05-0.00020910 - c)
},{m,c}]

Ribbon 2, 20070823, KP#6

s6 = Solve[{
	0.01           == m (-0.1-0.00047741 - c),
	0.0044956 == m (-0.05-0.00020891 - c)
},{m,c}]

Ribbon 2, 20070823, KP#7

s7 = Solve[{
	0.01           == m (-0.1-0.00047467 - c),
	0.0044750 == m (-0.05-0.00020840 - c)
},{m,c}]

Ribbon 2, 20070823, KP#8

s9 = Solve[{
	0.01           == m (-0.1-0.00046213 - c),
	0.0043631 == m (-0.05-0.00020815 - c)
},{m,c}]

Ribbon 2, 20070823, KP#9

s9 = Solve[{
	0.01           == m (-0.1-0.00043907 - c),
	0.0041342 == m (-0.05-0.00021099 - c)
},{m,c}]

Collected solutions

ss = {s1,s2,s3,s4,s5,s6,s7,s8,s9};

Flexure points relative to keypoint #1, in m

cs = -Table[c/.ss[[i]][[1]],{i,Length[ss]}]

Keypoint positions in mm

kps = {0.,3.,5.,6.,6.6,7.1,8.6,11.0,14.6};

Welding points in mm

ws = 8.6-kps

Flexure distances relative to welding points in mm

fps = 1000cs-kps

Data for plot

data =  Transpose[{ws,fps}];

Comparison data from Phil Willems

phil = {{3.3,3.61},
{2.3,2.81},
{1.3,1.87}};

Plot 
Note: this is the corrected version of the plot.

Show[
	ListPlot[data,PlotStyle->{{PointSize[.02],Red}},AxesLabel->{"dweld1/2","dflex1/2"}],
ListPlot[phil,PlotStyle->{{PointSize[.02],Blue}},AxesLabel->{"dweld1/2","dflex1/2"}],
AspectRatio->6/14
]

Data analysis for redo of flexure correction calc with all-DOF constraints at simulated welding points, as used in T070138-01

The coefficients in the following equations are the x and y coordinate of keypoints #10 and #11 in an ANSYS model of the ribbon neck, and were read from the nodal solution. The c values computed from them are the absolute flexure positions.

Ribbon 2, 20070823, KP#1

s1 = Solve[{
	0.01           == m (-0.1-0.50172*^-3 - c),
	0.46682*^-2 == m (-0.05-0.21498*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#2

s2 = Solve[{
	0.01           == m (-0.1-0.49072*^-3 - c),
	0.45829*^-2 == m (-0.05-0.21263*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#3

s3 = Solve[{
	0.01           == m (-0.1-0.47870*^-3 - c),
	0.45174*^-2 == m (-0.05-0.20755*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#4

s4 = Solve[{
	0.01           == m (-0.1-0.47569*^-3 - c),
	0.45034*^-2 == m (-0.05-0.20634*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#5

s5 = Solve[{
	0.01           == m (-0.1-0.47452*^-3 - c),
	0.44977*^-2 == m (-0.05-0.20578*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#6

s6 = Solve[{
	0.01           == m (-0.1-0.47361*^-3 - c),
	0.44936*^-2 == m (-0.05-0.20533*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#7

s7 = Solve[{
	0.01           == m (-0.1-0.46848*^-3 - c),
	0.44678*^-2 == m (-0.05-0.20300*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#8

s8 = Solve[{
	0.01           == m (-0.1-0.44566*^-3 - c),
	0.43521*^-2 == m (-0.05-0.19291*^-3 - c)
},{m,c}]

Ribbon 2, 20070823, KP#9

s9 = Solve[{
	0.01           == m (-0.1-0.39086*^-3 - c),
	0.41248*^-2 == m (-0.05-0.16386*^-3 - c)
},{m,c}]

Collected solutions

ss = {s1,s2,s3,s4,s5,s6,s7,s8,s9};

Flexure points relative to keypoint #1, in m

cs = -Table[c/.ss[[i]][[1]],{i,Length[ss]}]

Same in mm

cs*1000

Keypoint positions in mm

kps = {0.,3.,5.,6.,6.6,7.1,8.6,11.0,14.6};

Welding points in mm

ws = 8.6-kps

Flexure distances relative to welding points in mm

pds = kps-8.6+3.3

Data for plot

fps = 1000cs-kps

data =  Transpose[{ws,fps}];

phil = {{3.3,3.61},
{2.3,2.81},
{1.3,1.87}};

Plot

Show[
	ListPlot[data,PlotStyle->{{PointSize[.02],Red}},AxesLabel->{"dweld1/2","dflex1/2"}],
ListPlot[phil,PlotStyle->{{PointSize[.02],Blue}},AxesLabel->{"dweld1/2","dflex1/2"}],
AspectRatio->6/15
]

Equations for relationships between vertical distances

slide = dslide==120;

holster = dholster==8;

fuse = dfuse==dslide-2*dholster;

weld = Sequence[dweld1==2.56,dweld2==2.56];

flex = Sequence[dflex1==3.02,dflex2==3.02];

COM = Sequence[dCOM1==0,dCOM2==+0.11];

jig = Sequence[djig==2.25,dpin==19];

ds = Sequence[d3==1,d4==1];

slider = Sequence[dslider1-dpin==djig-dear1,dslider2-dpin==djig-dear2];

ear = Sequence[dflex1==dear1+dCOM1+d3,dflex2==dear2+dCOM2+d4];

Solve[{ear,slider},dslider1,dear1]

Solve[{ear,slider},dslider2,dear2]

Solve[{ear,slider,COM,flex,jig,ds},dslider1,dear1]

Solve[{ear,slider,COM,flex,jig,ds},dslider2,dear2]