Icon representing a recipe

Recipe: DoBandsObeyHookesLaw1

created by jeff101

Profile


Name
DoBandsObeyHookesLaw1
ID
46844
Shared with
Public
Parent
None
Children
None
Created on
September 01, 2013 at 06:12 AM UTC
Updated on
September 01, 2013 at 06:12 AM UTC
Description

204am 9/1/13 from DoBandsObeyHookesLaw1d.txt

Best for


Code


-- TestBandForceLaw begun 11/12/12 by jeff101 -- adapted to DoBandsObeyHookesLaw1 8/15/13 -- last update 9/1/13 203am -- -- below generates data consistent with the idea -- that bands obey Hooke's Law: F=k x -- -- first it tries 2 bands (b1a,b2a) in opposite directions -- and checks that F1 = F2 -- F1 = k1a x1 = (str1a^2) x1 -- F2 = k2a x2 = (str2a^2) x2 -- -- next it tries 2 bands in one direction (b1a,b1b), -- and a 3rd band (b2a) in the opposite direction -- again checking if F1 = F2 -- F1 = (k1a+k1b) x1 = (str1a^2 + str1b^2) x1 -- F2 = k2a x2 = (str2a^2) x2 -- -- finally it tries 2 bands in each direction (b1a,b1b vs b2a,b2b) -- again checking if F1 = F2 -- F1 = (k1a+k1b) x1 = (str1a^2 + str1b^2) x1 -- F2 = (k2a+k2b) x2 = (str2a^2 + str2b^2) x2 -- function Main() print('This routine gives evidence that Foldit bands obey Hooke\'s Law;') print(' that is, F = k x where F is the force of the band,') print(' k = spring constant of band = strength of band squared, and') print(' x = length band is stretched from its desired (equilibrium) position.') print('If two bands pull in the same direction, their k\'s add together') print(' so that ktotal = k1 + k2 = strength1^2 + strength2^2.') print(' ') band.DeleteAll() freeze.FreezeAll() freeze.Unfreeze(1,true,false) -- unfreeze backbone not sidechain mypi=math.pi b1a=band.Add(1,3,2,50,0,0) -- start w/length 50 in +z direction b2a=band.Add(1,3,2,50,mypi,0) -- start w/length 50 in -z direction band.SetGoalLength(b1a,0) band.SetGoalLength(b2a,0) str1as={1,5,10} str2as={2,3,7} print('Two bands (b1a,b2a) in opposite directions:') print(' ') for x=1,3 do str1a=str1as[x] band.SetStrength(b1a,str1a) for y=1,3 do str2a=str2as[y] band.SetStrength(b2a,str2a) structure.WiggleAll(3,true,false) -- 3 steps wiggle backbone not sidechains x1a=band.GetLength(b1a) x2a=band.GetLength(b2a) k1a=str1a^2 k2a=str2a^2 f1=k1a*x1a f2=k2a*x2a print(string.format('Here, F1 = %.0f = k1*x1 = (%.1f)*(%.2f) = (str1)^2*x1 = (%.1f)^2*(%.2f)',round(f1),round1(k1a),round2(x1a),round1(str1a),round2(x1a))) print(string.format('equals F2 = %.0f = k2*x2 = (%.1f)*(%.2f) = (str2)^2*x2 = (%.1f)^2*(%.2f).',round(f2),round1(k2a),round2(x2a),round1(str2a),round2(x2a))) print(string.format('Also, x1 = %.2f, x2 = %.2f, and x1+x2 = %.2f = 100.00.',round2(x1a),round2(x2a),round2(x1a+x2a))) print(' ') end -- for y end -- for x -- band.DeleteAll() b1a=band.Add(1,3,2,50,0,0) -- start w/length 50 in +z direction b1b=band.Add(1,3,2,50,0,0) -- start w/length 50 in +z direction b2a=band.Add(1,3,2,50,mypi,0) -- start w/length 50 in -z direction band.SetGoalLength(b1a,0) band.SetGoalLength(b1b,0) band.SetGoalLength(b2a,0) str1as={1,3} str1bs={2,5} str2as={7,10} print('Two bands (b1a,b1b) in one direction and one band (b2a) in the opposite direction:') print(' ') for x=1,2 do str1a=str1as[x] band.SetStrength(b1a,str1a) for y=1,2 do str1b=str1bs[y] band.SetStrength(b1b,str1b) for z=1,2 do str2a=str2as[z] band.SetStrength(b2a,str2a) structure.WiggleAll(3,true,false) -- 3 steps wiggle backbone not sidechains x1a=band.GetLength(b1a) x1b=band.GetLength(b1b) -- x1a should equal x1b x2a=band.GetLength(b2a) k1a=str1a^2 k1b=str1b^2 k2a=str2a^2 f1=(k1a+k1b)*x1a f2=k2a*x2a print(string.format('Here, F1 = %.0f = (k1a+k1b)*x1 = (%.1f+%.1f)*(%.2f) = [(str1a)^2+(str1b)^2]*x1 = [(%.1f)^2+(%.1f)^2]*(%.2f)',round(f1),round1(k1a),round1(k1b),round2(x1a),round1(str1a),round1(str1b),round2(x1a))) print(string.format('equals F2 = %.0f = k2*x2 = (%.1f)*(%.2f) = (str2)^2*x2 = (%.1f)^2*(%.2f).',round(f2),round1(k2a),round2(x2a),round1(str2a),round2(x2a))) print(string.format('Also, x1 = x1a = %.2f = x1b = %.2f, x2 = %.2f, and x1+x2 = %.2f = 100.00.',round2(x1a),round2(x1b),round2(x2a),round2(x1a+x2a))) print(' ') end -- for z end -- for y end -- for x -- band.DeleteAll() b1a=band.Add(1,3,2,50,0,0) -- start w/length 50 in +z direction b1b=band.Add(1,3,2,50,0,0) -- start w/length 50 in +z direction b2a=band.Add(1,3,2,50,mypi,0) -- start w/length 50 in -z direction b2b=band.Add(1,3,2,50,mypi,0) -- start w/length 50 in -z direction band.SetGoalLength(b1a,0) band.SetGoalLength(b1b,0) band.SetGoalLength(b2a,0) band.SetGoalLength(b2b,0) str1as={1,10} str1bs={3,9} str2as={5,8} str2bs={7,7} print('Two bands (b1a,b1b) in one direction, and two bands (b2a,b2b) in the opposite direction:') print(' ') for w=1,2 do str1a=str1as[w] band.SetStrength(b1a,str1a) for x=1,2 do str1b=str1bs[x] band.SetStrength(b1b,str1b) for y=1,2 do str2a=str2as[y] band.SetStrength(b2a,str2a) for z=1,2 do str2b=str2bs[z] band.SetStrength(b2b,str2b) structure.WiggleAll(3,true,false) -- 3 steps wiggle backbone not sidechains x1a=band.GetLength(b1a) x1b=band.GetLength(b1b) -- x1a should equal x1b x2a=band.GetLength(b2a) x2b=band.GetLength(b2b) -- x2a should equal x2b k1a=str1a^2 k1b=str1b^2 k2a=str2a^2 k2b=str2b^2 f1=(k1a+k1b)*x1a f2=(k2a+k2b)*x2a print(string.format('Here, F1 = %.0f = (k1a+k1b)*x1 = (%.1f+%.1f)*(%.2f) = [(str1a)^2+(str1b)^2]*x1 = [(%.1f)^2+(%.1f)^2]*(%.2f)',round(f1),round1(k1a),round1(k1b),round2(x1a),round1(str1a),round1(str1b),round2(x1a))) print(string.format('equals F2 = %.0f = (k2a+k2b)*x2 = (%.1f+%.1f)*(%.2f) = [(str2a)^2+(str2b)^2]*x2 = [(%.1f)^2+(%.1f)^2]*(%.2f).',round(f2),round1(k2a),round1(k2b),round2(x2a),round1(str2a),round1(str2b),round2(x2a))) print(string.format('Also, x1 = x1a = %.2f = x1b = %.2f, x2 = x2a = %.2f = x2b = %.2f, and x1+x2 = %.2f = 100.00.',round2(x1a),round2(x1b),round2(x2a),round2(x2b),round2(x1a+x2a))) print(' ') end -- for z end -- for y end -- for x end -- for w -- band.DeleteAll() freeze.UnfreezeAll() print('All Done Now.') end -- Main() -- below rounds down to 3 decimal places function trunc3(val) return val-(val%0.001) end -- trunc3() -- below rounds to 3 decimal places function round3(numi) local numo=round(numi*1000)/1000 return numo end -- round3() -- below rounds to 2 decimal places function round2(numi) local numo=round(numi*100)/100 return numo end -- round2() -- below rounds to 1 decimal places function round1(numi) local numo=round(numi*10)/10 return numo end -- round1() -- below rounds val to the nearest integer to get res function round(val) local res=math.floor(val) if val-res>=0.5 then res=res+1 end -- if val return res end -- round() Main()

Comments


jeff101 Lv 1

Hooke's Law for springs is F = k x
where F is the magnitude of the force exerted by the spring,
k is the spring constant for the spring,
and x is the distance the spring has stretched from its equilibrium position.

This recipe freezes most of the protein and then uses bands stretched in opposite directions,
making a tug-of-war on the protein.
By varying the strength of the bands, this recipe gives different equilibrium lengths for the bands.

This recipe shows that the strength of a band squared equals the band's spring constant.
This recipe also shows that if two bands pull in the same direction,
their spring constants (k1 and k2) add together to give the combined spring constant ktotal.
This means that if the two bands have strengths str1 and str2,
ktotal = k1+k2 = str1^2 + str2^2 = strtotal^2,
and this gives a combined band strength of strtotal = sqrt(str1^2 + str2^2).

Bruno Kestemont Lv 1

Amazing to use scripts to demonstrate this ! Not sure this recipe will help us gain points, but, at least, there is something artistic and funny. A real game with no purpose. No purpose can help creativity. That's why I like it.

jeff101 Lv 1

This routine gives evidence that Foldit bands obey Hooke's Law;
   that is, F = k x where F is the force of the band,
   k = spring constant of band = strength of band squared, and
   x = length band is stretched from its desired (equilibrium) position.
If two bands pull in the same direction, their k's add together
   so that ktotal = k1 + k2 = strength1^2 + strength2^2.
 
Two bands (b1a,b2a) in opposite directions:
 
Here,  F1 = 80 = k1*x1 = (1.0)*(80.00) = (str1)^2*x1 = (1.0)^2*(80.00)
equals F2 = 80 = k2*x2 = (4.0)*(20.00) = (str2)^2*x2 = (2.0)^2*(20.00).
Also,  x1 = 80.00, x2 = 20.00, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 90 = k1*x1 = (1.0)*(90.00) = (str1)^2*x1 = (1.0)^2*(90.00)
equals F2 = 90 = k2*x2 = (9.0)*(10.00) = (str2)^2*x2 = (3.0)^2*(10.00).
Also,  x1 = 90.00, x2 = 10.00, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 98 = k1*x1 = (1.0)*(98.00) = (str1)^2*x1 = (1.0)^2*(98.00)
equals F2 = 98 = k2*x2 = (49.0)*(2.00) = (str2)^2*x2 = (7.0)^2*(2.00).
Also,  x1 = 98.00, x2 = 2.00, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 345 = k1*x1 = (25.0)*(13.80) = (str1)^2*x1 = (5.0)^2*(13.80)
equals F2 = 345 = k2*x2 = (4.0)*(86.20) = (str2)^2*x2 = (2.0)^2*(86.20).
Also,  x1 = 13.80, x2 = 86.20, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 662 = k1*x1 = (25.0)*(26.47) = (str1)^2*x1 = (5.0)^2*(26.47)
equals F2 = 662 = k2*x2 = (9.0)*(73.53) = (str2)^2*x2 = (3.0)^2*(73.53).
Also,  x1 = 26.47, x2 = 73.53, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 1655 = k1*x1 = (25.0)*(66.21) = (str1)^2*x1 = (5.0)^2*(66.21)
equals F2 = 1656 = k2*x2 = (49.0)*(33.79) = (str2)^2*x2 = (7.0)^2*(33.79).
Also,  x1 = 66.21, x2 = 33.79, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 385 = k1*x1 = (100.0)*(3.85) = (str1)^2*x1 = (10.0)^2*(3.85)
equals F2 = 385 = k2*x2 = (4.0)*(96.15) = (str2)^2*x2 = (2.0)^2*(96.15).
Also,  x1 = 3.85, x2 = 96.15, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 826 = k1*x1 = (100.0)*(8.26) = (str1)^2*x1 = (10.0)^2*(8.26)
equals F2 = 826 = k2*x2 = (9.0)*(91.74) = (str2)^2*x2 = (3.0)^2*(91.74).
Also,  x1 = 8.26, x2 = 91.74, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 3289 = k1*x1 = (100.0)*(32.89) = (str1)^2*x1 = (10.0)^2*(32.89)
equals F2 = 3289 = k2*x2 = (49.0)*(67.11) = (str2)^2*x2 = (7.0)^2*(67.11).
Also,  x1 = 32.89, x2 = 67.11, and x1+x2 = 100.00 = 100.00.
 
Two bands (b1a,b1b) in one direction and one band (b2a) in the opposite direction:
 
Here,  F1 = 454 = (k1a+k1b)*x1 = (1.0+4.0)*(90.74) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(2.0)^2]*(90.74)
equals F2 = 454 = k2*x2 = (49.0)*(9.26) = (str2)^2*x2 = (7.0)^2*(9.26).
Also,  x1 = x1a = 90.74 = x1b = 90.74, x2 = 9.26, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 476 = (k1a+k1b)*x1 = (1.0+4.0)*(95.24) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(2.0)^2]*(95.24)
equals F2 = 476 = k2*x2 = (100.0)*(4.76) = (str2)^2*x2 = (10.0)^2*(4.76).
Also,  x1 = x1a = 95.24 = x1b = 95.24, x2 = 4.76, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 1699 = (k1a+k1b)*x1 = (1.0+25.0)*(65.33) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(5.0)^2]*(65.33)
equals F2 = 1699 = k2*x2 = (49.0)*(34.67) = (str2)^2*x2 = (7.0)^2*(34.67).
Also,  x1 = x1a = 65.33 = x1b = 65.33, x2 = 34.67, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 2063 = (k1a+k1b)*x1 = (1.0+25.0)*(79.36) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(5.0)^2]*(79.36)
equals F2 = 2064 = k2*x2 = (100.0)*(20.64) = (str2)^2*x2 = (10.0)^2*(20.64).
Also,  x1 = x1a = 79.36 = x1b = 79.36, x2 = 20.64, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 1027 = (k1a+k1b)*x1 = (9.0+4.0)*(79.03) = [(str1a)^2+(str1b)^2]*x1 = [(3.0)^2+(2.0)^2]*(79.03)
equals F2 = 1027 = k2*x2 = (49.0)*(20.97) = (str2)^2*x2 = (7.0)^2*(20.97).
Also,  x1 = x1a = 79.03 = x1b = 79.03, x2 = 20.97, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 1150 = (k1a+k1b)*x1 = (9.0+4.0)*(88.50) = [(str1a)^2+(str1b)^2]*x1 = [(3.0)^2+(2.0)^2]*(88.50)
equals F2 = 1150 = k2*x2 = (100.0)*(11.50) = (str2)^2*x2 = (10.0)^2*(11.50).
Also,  x1 = x1a = 88.50 = x1b = 88.50, x2 = 11.50, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 2007 = (k1a+k1b)*x1 = (9.0+25.0)*(59.04) = [(str1a)^2+(str1b)^2]*x1 = [(3.0)^2+(5.0)^2]*(59.04)
equals F2 = 2007 = k2*x2 = (49.0)*(40.96) = (str2)^2*x2 = (7.0)^2*(40.96).
Also,  x1 = x1a = 59.04 = x1b = 59.04, x2 = 40.96, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 2537 = (k1a+k1b)*x1 = (9.0+25.0)*(74.63) = [(str1a)^2+(str1b)^2]*x1 = [(3.0)^2+(5.0)^2]*(74.63)
equals F2 = 2537 = k2*x2 = (100.0)*(25.37) = (str2)^2*x2 = (10.0)^2*(25.37).
Also,  x1 = x1a = 74.63 = x1b = 74.63, x2 = 25.37, and x1+x2 = 100.00 = 100.00.
 
Two bands (b1a,b1b) in one direction, and two bands (b2a,b2b) in the opposite direction:
 
Here,  F1 = 881 = (k1a+k1b)*x1 = (1.0+9.0)*(88.09) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(3.0)^2]*(88.09)
equals F2 = 881 = (k2a+k2b)*x2 = (25.0+49.0)*(11.91) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(11.91).
Also,  x1 = x1a = 88.09 = x1b = 88.09, x2 = x2a = 11.91 = x2b = 11.91, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 881 = (k1a+k1b)*x1 = (1.0+9.0)*(88.09) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(3.0)^2]*(88.09)
equals F2 = 881 = (k2a+k2b)*x2 = (25.0+49.0)*(11.91) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(11.91).
Also,  x1 = x1a = 88.09 = x1b = 88.09, x2 = x2a = 11.91 = x2b = 11.91, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 919 = (k1a+k1b)*x1 = (1.0+9.0)*(91.87) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(3.0)^2]*(91.87)
equals F2 = 919 = (k2a+k2b)*x2 = (64.0+49.0)*(8.13) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(8.13).
Also,  x1 = x1a = 91.87 = x1b = 91.87, x2 = x2a = 8.13 = x2b = 8.13, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 919 = (k1a+k1b)*x1 = (1.0+9.0)*(91.87) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(3.0)^2]*(91.87)
equals F2 = 919 = (k2a+k2b)*x2 = (64.0+49.0)*(8.13) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(8.13).
Also,  x1 = x1a = 91.87 = x1b = 91.87, x2 = x2a = 8.13 = x2b = 8.13, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 3890 = (k1a+k1b)*x1 = (1.0+81.0)*(47.43) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(9.0)^2]*(47.43)
equals F2 = 3890 = (k2a+k2b)*x2 = (25.0+49.0)*(52.57) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(52.57).
Also,  x1 = x1a = 47.43 = x1b = 47.43, x2 = x2a = 52.57 = x2b = 52.57, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 3890 = (k1a+k1b)*x1 = (1.0+81.0)*(47.43) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(9.0)^2]*(47.43)
equals F2 = 3890 = (k2a+k2b)*x2 = (25.0+49.0)*(52.57) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(52.57).
Also,  x1 = x1a = 47.43 = x1b = 47.43, x2 = x2a = 52.57 = x2b = 52.57, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 4752 = (k1a+k1b)*x1 = (1.0+81.0)*(57.95) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(9.0)^2]*(57.95)
equals F2 = 4752 = (k2a+k2b)*x2 = (64.0+49.0)*(42.05) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(42.05).
Also,  x1 = x1a = 57.95 = x1b = 57.95, x2 = x2a = 42.05 = x2b = 42.05, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 4752 = (k1a+k1b)*x1 = (1.0+81.0)*(57.95) = [(str1a)^2+(str1b)^2]*x1 = [(1.0)^2+(9.0)^2]*(57.95)
equals F2 = 4752 = (k2a+k2b)*x2 = (64.0+49.0)*(42.05) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(42.05).
Also,  x1 = x1a = 57.95 = x1b = 57.95, x2 = x2a = 42.05 = x2b = 42.05, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 4408 = (k1a+k1b)*x1 = (100.0+9.0)*(40.44) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(3.0)^2]*(40.44)
equals F2 = 4408 = (k2a+k2b)*x2 = (25.0+49.0)*(59.56) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(59.56).
Also,  x1 = x1a = 40.44 = x1b = 40.44, x2 = x2a = 59.56 = x2b = 59.56, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 4408 = (k1a+k1b)*x1 = (100.0+9.0)*(40.44) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(3.0)^2]*(40.44)
equals F2 = 4408 = (k2a+k2b)*x2 = (25.0+49.0)*(59.56) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(59.56).
Also,  x1 = x1a = 40.44 = x1b = 40.44, x2 = x2a = 59.56 = x2b = 59.56, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 5548 = (k1a+k1b)*x1 = (100.0+9.0)*(50.90) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(3.0)^2]*(50.90)
equals F2 = 5548 = (k2a+k2b)*x2 = (64.0+49.0)*(49.10) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(49.10).
Also,  x1 = x1a = 50.90 = x1b = 50.90, x2 = x2a = 49.10 = x2b = 49.10, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 5548 = (k1a+k1b)*x1 = (100.0+9.0)*(50.90) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(3.0)^2]*(50.90)
equals F2 = 5548 = (k2a+k2b)*x2 = (64.0+49.0)*(49.10) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(49.10).
Also,  x1 = x1a = 50.90 = x1b = 50.90, x2 = x2a = 49.10 = x2b = 49.10, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 5253 = (k1a+k1b)*x1 = (100.0+81.0)*(29.02) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(9.0)^2]*(29.02)
equals F2 = 5253 = (k2a+k2b)*x2 = (25.0+49.0)*(70.98) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(70.98).
Also,  x1 = x1a = 29.02 = x1b = 29.02, x2 = x2a = 70.98 = x2b = 70.98, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 5253 = (k1a+k1b)*x1 = (100.0+81.0)*(29.02) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(9.0)^2]*(29.02)
equals F2 = 5253 = (k2a+k2b)*x2 = (25.0+49.0)*(70.98) = [(str2a)^2+(str2b)^2]*x2 = [(5.0)^2+(7.0)^2]*(70.98).
Also,  x1 = x1a = 29.02 = x1b = 29.02, x2 = x2a = 70.98 = x2b = 70.98, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 6957 = (k1a+k1b)*x1 = (100.0+81.0)*(38.43) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(9.0)^2]*(38.43)
equals F2 = 6957 = (k2a+k2b)*x2 = (64.0+49.0)*(61.57) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(61.57).
Also,  x1 = x1a = 38.43 = x1b = 38.43, x2 = x2a = 61.57 = x2b = 61.57, and x1+x2 = 100.00 = 100.00.
 
Here,  F1 = 6957 = (k1a+k1b)*x1 = (100.0+81.0)*(38.43) = [(str1a)^2+(str1b)^2]*x1 = [(10.0)^2+(9.0)^2]*(38.43)
equals F2 = 6957 = (k2a+k2b)*x2 = (64.0+49.0)*(61.57) = [(str2a)^2+(str2b)^2]*x2 = [(8.0)^2+(7.0)^2]*(61.57).
Also,  x1 = x1a = 38.43 = x1b = 38.43, x2 = x2a = 61.57 = x2b = 61.57, and x1+x2 = 100.00 = 100.00.
 
All Done Now.