jw_cad 外部変形 - (4167) はりを解く(両端ばね+鉛直・回転変位:↓↑荷重) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

maximaではりを解いています。

 

(はりを解く(両端ばね+鉛直・回転変位:↓↑荷重))

 

スクリプト例

:はりを解く(両端ばね+鉛直・回転変位:↓↑荷重)
@echo off
path C:\maxima-5.49.0\bin;%path%
more +4 %0 | maxima --very-quiet & pause & goto:eof
/*

: VA TA   P       P    VB TB
:  |/_____|_____________|/
    ◎            |    ◎ KB
    >                   > KV

:   0     a      L-a    L ---> x
:   |---------L---------|

    y
    |
    |_____x
  /
 z

  KB : 回転ばね kNm/rad
  KV : 鉛直ばね kN/m
  TA, TB : たわみ角 左回りが正 rad
  VA, VB : たわみ 上方向が正 m
  P : 集中荷重 上方向が正 kN
  a : 集中荷重の位置 m
  Q1, Q2, Q3 : せん断力 上方向が正 kN
  M1, M2, M3 : 曲げモーメント 左回りが正 kNm
  L : スパン長 m
  EI : 曲げ剛性(一定)

  エンコード UTF-8(BOM無し) で保存して実行してください。
*/
assume(L>0,a>=0)$
/*
define(Q1(x), C1)$
define(M1(x), C2 + integrate(Q1(x), x))$
define(T1(x), C3 - integrate(M1(x)/EI, x))$
define(V1(x), C4 + integrate(T1(x), x))$
define(Q2(x), C5)$
define(M2(x), C6 + integrate(Q2(x), x))$
define(T2(x), C7 - integrate(M2(x)/EI, x))$
define(V2(x), C8 + integrate(T2(x), x))$
define(Q3(x), C9)$
define(M3(x), C10 + integrate(Q3(x), x))$
define(T3(x), C11 - integrate(M3(x)/EI, x))$
define(V3(x), C12 + integrate(T3(x), x))$
s: solve(
  [T1(0)=-M1(0)/KB+TA, V1(0)= Q1(0)/KV+VA,
   T3(L)= M3(L)/KB+TB, V3(L)=-Q3(L)/KV+VB,
   Q1(a)-Q2(a)=P, M1(a)=M2(a), T1(a)=T2(a), V1(a)=V2(a),
   Q2(L-a)-Q3(L-a)=-P, M2(L-a)=M3(L-a), T2(L-a)=T3(L-a), V2(L-a)=V3(L-a)],
  [C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12])$
[Q1, M1, T1, V1]: ev([Q1(x), M1(x), T1(x), V1(x)], s)$
[Q2, M2, T2, V2]: ev([Q2(x), M2(x), T2(x), V2(x)], s)$
[Q3, M3, T3, V3]: ev([Q3(x), M3(x), T3(x), V3(x)], s)$

RA:ev(Q1,x=0)$
RB:-ev(Q3,x=L)$
MA:ev(M1,x=0)$
MB:-ev(M3,x=L)$

print("RA:",string(factor(RA)))$
print("RB:",string(factor(RB)))$
print("MA:",string(factor(MA)))$
print("MB:",string(factor(MB)))$

print("Q1-RA:",string(factor(Q1-RA)))$
print("M1-MA-RA*x:",string(factor(M1-MA-RA*x)))$
print("T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI:",string(factor(T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI)))$
print("V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI:",string(factor(V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI)))$
print("Q2-Q1:",string(factor(Q2-Q1)))$
print("M2-M1:",string(factor(M2-M1)))$
print("T2-T1:",string(factor(T2-T1)))$
print("V2-V1:",string(factor(V2-V1)))$
print("Q3+RB:",string(factor(Q3+RB)))$
print("M3+MB+RB*(x-L):",string(factor(M3+MB+RB*(x-L))))$
print("T3-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI:",string(factor(T3-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI)))$
print("V3-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI:",string(factor(V3-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI)))$ quit()$
*/

RA: KV*(P*(2*a-L)*(2*KB*a*(a-L)-L*(KB*L+6*EI))+6*EI*KB*(2*(VB-VA)-L*(TB+TA))
)/((KB*L+6*EI)*KV*L^2+24*EI*KB)$
RB:-RA$
MA:-KB*((KB*L+2*EI)*P*(2*a-L)*(KV*L*a*(a-L)+12*EI)
+2*EI*(3*KV*L*(KB*L+2*EI)*(VB-VA)-KB*KV*L^3*(TB+2*TA)+6*EI*(2*KB*(TB-TA)-KV*L^2*TA))
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$
MB:-KB*((KB*L+2*EI)*P*(2*a-L)*(KV*L*a*(a-L)+12*EI)
+2*EI*(3*KV*L*(KB*L+2*EI)*(VB-VA)-KB*KV*L^3*(2*TB+TA)-6*EI*(2*KB*(TB-TA)+KV*L^2*TB))
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$

Q1: RA$
M1: MA+RA*x$
T1: TA-MA/KB-(MA*x+RA*x^2/2)/EI$
V1: VA+(TA-MA/KB)*x+RA/KV-(MA*x^2/2+RA*x^3/6)/EI$
Q2: Q1-P$
M2: M1-P*(x-a)$
T2: T1+P*(x-a)^2/(2*EI)$
V2: V1+P*(x-a)^3/(6*EI)$
Q3:-RB$
M3:-MB-RB*(x-L)$
T3: TB-MB/KB+(MB*(x-L)+RB*(x-L)^2/2)/EI$
V3: VB+(TB-MB/KB)*(x-L)+RB/KV+(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI$

Q:if a>x then Q1 elseif x>=a and L-a>x then Q2 else Q3$
M:if a>x then M1 elseif x>=a and L-a>x then M2 else M3$
T:if a>x then T1 elseif x>=a and L-a>x then T2 else T3$
V:if a>x then V1 elseif x>=a and L-a>x then V2 else V3$

KB:1000$
KV:1000*10$
[TA, TB]: [-1,-2]/1000$
[VA, VB]: [-1,-2]/1000$
P:-10$
a:1.5$
[L,B,D,E,G,fs]: [5,0.15,0.30,6.5,6.5/15,1.2]$

EI: E * B * D^3 / 12 * 10^6$ /* kN*m*m */

plot2d([Q,M,T*1000,V*1000], [x,0,L], grid2d, [title, "Euler-Bernoulli's beam"],
  [legend,"Q kN","M kNm","T x1/1000 rad","V mm"], 
  [color,red,blue,green,magenta])$

?sleep(10)$
quit()$

 

(計算結果)

  L=5.0m

  KB=1000 kNm/rad

  KV=10000 kN/m

  VA=-1/1000 m

  VB=-2/1000 m

  TA=-1/1000 rad

  TB=-2/1000 rad

  P=-10 kN

  a=1.5m

  B x D = 150x300mm

  E65-F225 構造用集成材 すぎ(JAS)

 

両端にばねがあり、そこにたわみとたわみ角を与えたはりの計算式を導入しました。

jw_cad 外部変形 - (4166-2) はりを解く(両端ばね+鉛直・回転変位:↓↓荷重(2)) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

maximaではりを解いています。

 

(はりを解く(両端ばね+鉛直・回転変位:↓↓荷重(2)))

 

スクリプト例

:はりを解く(両端ばね+鉛直・回転変位:↓↓荷重(2))
@echo off
path C:\maxima-5.49.0\bin;%path%
more +4 %0 | maxima --very-quiet & pause & goto:eof
/*

: VA TA   P       P    VB TB
:  |/_____|_______|_____|/
    ◎                 ◎ KB
    >                   > KV

:   0     a      L-a    L ---> x
:   |---------L---------|

    y
    |
    |_____x
  /
 z

  KB : 回転ばね kNm/rad
  KV : 鉛直ばね kN/m
  TA, TB : たわみ角 左回りが正 rad
  VA, VB : たわみ 上方向が正 m
  P : 集中荷重 上方向が正 kN
  a : 集中荷重の位置 m
  Q1, Q2, Q3 : せん断力 上方向が正 kN
  M1, M2, M3 : 曲げモーメント 左回りが正 kNm
  L : スパン長 m
  EI : 曲げ剛性(一定)

  エンコード UTF-8(BOM無し) で保存して実行してください。
*/
assume(L>0,a>=0)$
/*
define(Q1(x), C1)$
define(M1(x), C2 + integrate(Q1(x), x))$
define(T1(x), C3 - integrate(M1(x)/EI, x))$
define(V1(x), C4 + integrate(T1(x), x))$
define(Q2(x), C5)$
define(M2(x), C6 + integrate(Q2(x), x))$
define(T2(x), C7 - integrate(M2(x)/EI, x))$
define(V2(x), C8 + integrate(T2(x), x))$
define(Q3(x), C9)$
define(M3(x), C10 + integrate(Q3(x), x))$
define(T3(x), C11 - integrate(M3(x)/EI, x))$
define(V3(x), C12 + integrate(T3(x), x))$
s: solve(
  [T1(0)=-M1(0)/KB+TA, V1(0)= Q1(0)/KV+VA,
   T3(L)= M3(L)/KB+TB, V3(L)=-Q3(L)/KV+VB,
   Q1(a)-Q2(a)=P, M1(a)=M2(a), T1(a)=T2(a), V1(a)=V2(a),
   Q2(L-a)-Q3(L-a)=P, M2(L-a)=M3(L-a), T2(L-a)=T3(L-a), V2(L-a)=V3(L-a)],
  [C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12])$
[Q1, M1, T1, V1]: ev([Q1(x), M1(x), T1(x), V1(x)], s)$
[Q2, M2, T2, V2]: ev([Q2(x), M2(x), T2(x), V2(x)], s)$
[Q3, M3, T3, V3]: ev([Q3(x), M3(x), T3(x), V3(x)], s)$

RA:ev(Q1,x=0)$
RB:-ev(Q3,x=L)$
MA:ev(M1,x=0)$
MB:-ev(M3,x=L)$

print("RA:",string(factor(RA)))$
print("RB:",string(factor(RB)))$
print("MA:",string(factor(MA)))$
print("MB:",string(factor(MB)))$

print("Q1-RA:",string(factor(Q1-RA)))$
print("M1-MA-RA*x:",string(factor(M1-MA-RA*x)))$
print("T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI:",string(factor(T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI)))$
print("V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI:",string(factor(V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI)))$
print("Q2-Q1:",string(factor(Q2-Q1)))$
print("M2-M1:",string(factor(M2-M1)))$
print("T2-T1:",string(factor(T2-T1)))$
print("V2-V1:",string(factor(V2-V1)))$
print("Q3+RB:",string(factor(Q3+RB)))$
print("M3+MB+RB*(x-L):",string(factor(M3+MB+RB*(x-L))))$
print("T3-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI:",string(factor(T3-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI)))$
print("V3-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI:",string(factor(V3-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI)))$ quit()$
*/

RA: P+6*EI*KB*KV*(2*(VB-VA)-L*(TB+TA))/((KB*L+6*EI)*KV*L^2+24*EI*KB)$
RB: P-6*EI*KB*KV*(2*(VB-VA)-L*(TB+TA))/((KB*L+6*EI)*KV*L^2+24*EI*KB)$
MA: KB*P*a*(a-L)/(KB*L+2*EI)
-2*EI*KB*(3*KV*L*(KB*L+2*EI)*(VB-VA)-(KB*KV*L^3*(TB+2*TA)-6*EI*(2*KB*(TB-TA)-KV*L^2*TA))
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$
MB:-KB*P*a*(a-L)/(KB*L+2*EI)
-2*EI*KB*(3*KV*L*(KB*L+2*EI)*(VB-VA)-(KB*KV*L^3*(2*TB+TA)+6*EI*(2*KB*(TB-TA)+KV*L^2*TB))
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$

Q1: RA$
M1: MA+RA*x$
T1: TA-MA/KB-(MA*x+RA*x^2/2)/EI$
V1: VA+(TA-MA/KB)*x+RA/KV-(MA*x^2/2+RA*x^3/6)/EI$
Q2: Q1-P$
M2: M1-P*(x-a)$
T2: T1+P*(x-a)^2/(2*EI)$
V2: V1+P*(x-a)^3/(6*EI)$
Q3:-RB$
M3:-MB-RB*(x-L)$
T3: TB-MB/KB+(MB*(x-L)+RB*(x-L)^2/2)/EI$
V3: VB+(TB-MB/KB)*(x-L)+RB/KV+(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI$

Q:if a>x then Q1 elseif x>=a and L-a>x then Q2 else Q3$
M:if a>x then M1 elseif x>=a and L-a>x then M2 else M3$
T:if a>x then T1 elseif x>=a and L-a>x then T2 else T3$
V:if a>x then V1 elseif x>=a and L-a>x then V2 else V3$

KB:1000$
KV:1000*10$
[TA, TB]: [-1,-2]/1000$
[VA, VB]: [-1,-2]/1000$
P:-10$
a:1.5$
[L,B,D,E,G,fs]: [5,0.15,0.30,6.5,6.5/15,1.2]$

EI: E * B * D^3 / 12 * 10^6$ /* kN*m*m */

plot2d([Q,M,T*1000,V*1000], [x,0,L], grid2d, [title, "Euler-Bernoulli's beam"],
  [legend,"Q kN","M kNm","T x1/1000 rad","V mm"], 
  [color,red,blue,green,magenta])$

?sleep(10)$
quit()$

 

(計算結果)

  L=5.0m

  KB=1000 kNm/rad

  KV=10000 kN/m

  VA=-1/1000 m

  VB=-2/1000 m

  TA=-1/1000 rad

  TB=-2/1000 rad

  P=-10 kN

  a=1.5m

  B x D = 150x300mm

  E65-F225 構造用集成材 すぎ(JAS)

 

両端にばねがあり、そこにたわみとたわみ角を与えたはりの計算式を導入しました。

jw_cad 外部変形 - (4165-2) はりを解く(両端ばね+鉛直・回転変位:台形分布荷重(2)) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

maximaではりを解いています。

 

(はりを解く(両端ばね+鉛直・回転変位:台形分布荷重(2)))

 

スクリプト例

:はりを解く(両端ばね+鉛直・回転変位:台形分布荷重(2))
@echo off
path C:\maxima-5.49.0\bin;%path%
more +4 %0 | maxima --very-quiet & pause & goto:eof
/*
:         ____w____      
: VA TA /|       |\  VB TB
:  |//___|_______|___\|/
    ◎                 ◎ KB
    >                   > KV

:   0     a      L-c    L ---> x
:   |---------L---------|

    y
    |
    |_____x
  /
 z

  KB : 回転ばね kNm/rad
  KV : 鉛直ばね kN/m
  TA, TB : たわみ角 左回りが正 rad
  VA, VB : たわみ 上方向が正 m
  w : 分布荷重 上方向が正 kN/m
  a, c : 荷重の位置 m
  Q1, Q2, Q3 : せん断力 上方向が正 kN
  M1, M2, M3 : 曲げモーメント 左回りが正 kNm
  L : スパン長 m
  EI : 曲げ剛性(一定)

  エンコード UTF-8(BOM無し) で保存して実行してください。
*/
assume(L>0,a>=0,c>=0,L>=a+c)$
p1:-w/a*x$
p2:-w$
p3:-w/c*(L-x)$
/*
define(Q1(x), C1 + integrate(p1, x))$
define(M1(x), C2 + integrate(Q1(x), x))$
define(T1(x), C3 - integrate(M1(x)/EI, x))$
define(V1(x), C4 + integrate(T1(x), x))$
define(Q2(x), C5 + integrate(p2, x))$
define(M2(x), C6 + integrate(Q2(x), x))$
define(T2(x), C7 - integrate(M2(x)/EI, x))$
define(V2(x), C8 + integrate(T2(x), x))$
define(Q3(x), C9 + integrate(p3, x))$
define(M3(x), C10 + integrate(Q3(x), x))$
define(T3(x), C11 - integrate(M3(x)/EI, x))$
define(V3(x), C12 + integrate(T3(x), x))$
s: solve(
  [T1(0)=-M1(0)/KB+TA, V1(0)= Q1(0)/KV+VA,
   T3(L)= M3(L)/KB+TB, V3(L)=-Q3(L)/KV+VB,
   Q1(a)=Q2(a), M1(a)=M2(a), T1(a)=T2(a), V1(a)=V2(a),
   Q2(L-c)=Q3(L-c), M2(L-c)=M3(L-c), T2(L-c)=T3(L-c), V2(L-c)=V3(L-c)],
  [C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12])$
[Q1, M1, T1, V1]: ev([Q1(x), M1(x), T1(x), V1(x)], s)$
[Q2, M2, T2, V2]: ev([Q2(x), M2(x), T2(x), V2(x)], s)$
[Q3, M3, T3, V3]: ev([Q3(x), M3(x), T3(x), V3(x)], s)$

RA:ev(Q1,x=0)$
RB:-ev(Q3,x=L)$
MA:ev(M1,x=0)$
MB:-ev(M3,x=L)$

print("RA:",string(factor(RA)))$
print("RB:",string(factor(RB)))$
print("MA:",string(factor(MA)))$
print("MB:",string(factor(MB)))$

print("Q1-RA:",string(factor(Q1-RA)))$
print("M1-MA-RA*x:",string(factor(M1-MA-RA*x)))$
print("T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI:",string(factor(T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI)))$
print("V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI:",string(factor(V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI)))$
print("Q2-Q1:",string(factor(Q2-Q1)))$
print("M2-M1:",string(factor(M2-M1)))$
print("T2-T1:",string(factor(T2-T1)))$
print("V2-V1:",string(factor(V2-V1)))$
print("Q3+RB:",string(factor(Q3+RB)))$
print("M3+MB+RB*(x-L):",string(factor(M3+MB+RB*(x-L))))$
print("T3-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI:",string(factor(T3-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI)))$
print("V3-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI:",string(factor(V3-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI)))$ quit()$
*/

RA: 6*EI*KB*KV*(2*(VB-VA)-L*(TB+TA))/((KB*L+6*EI)*KV*L^2+24*EI*KB)
+(KV*(2*KB*(c^4-a^4)-5*L*(KB*(c^3-a^3)+4*EI*(c^2-a^2)+2*(KB*L+6*EI)*L*(a-L)))-120*EI*KB*(c+a-2*L)
)*w/(20*((KB*L+6*EI)*KV*L^2+24*EI*KB))$
RB: (2*L-a-c)*w/2-RA$
MA:-2*EI*KB*(3*KV*L*(KB*L+2*EI)*(VB-VA)-KB*KV*L^3*(TB+2*TA)+6*EI*(2*KB*(TB-TA)-KV*L^2*TA)
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))
-KB*L^3*w/(12*(KB*L+2*EI))
-KB*(3*L*(KB*L+2*EI)*(KV*(c^4-a^4)-60*EI*(c-a))-5*(KV*L^3-12*EI)*c^2*(KB*c+4*EI)
+10*(((KB*L+3*EI)*KV*L^2+6*EI*KB)*a-(KB*L+4*EI)*KV*L^3-24*EI*(KB*L+EI))*a^2
)*w/(60*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$
MB:-2*EI*KB*(3*KV*L*(KB*L+2*EI)*(VB-VA)-KB*KV*L^3*(2*TB+TA)-6*EI*(2*KB*(TB-TA)+KV*L^2*TB)
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))
+KB*L^3*w/(12*(KB*L+2*EI))
-KB*(3*L*(KB*L+2*EI)*(KV*(c^4-a^4)-60*EI*(c-a))+5*(KV*L^3-12*EI)*a^2*(KB*a+4*EI)
-10*(((KB*L+3*EI)*KV*L^2+6*EI*KB)*c-(KB*L+4*EI)*KV*L^3-24*EI*(KB*L+EI))*c^2
)*w/(60*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$

Q1: RA-w*x^2/(2*a)$
M1: MA+RA*x-w*x^3/(6*a)$
T1: TA-MA/KB-(MA*x+RA*x^2/2)/EI+w*x^4/(24*EI*a)$
V1: VA+(TA-MA/KB)*x+RA/KV-(MA*x^2/2+RA*x^3/6)/EI+w*x^5/(120*EI*a)$
Q2: Q1+w*(x-a)^2/(2*a)$
M2: M1+w*(x-a)^3/(6*a)$
T2: T1-w*(x-a)^4/(24*EI*a)$
V2: V1-w*(x-a)^5/(120*EI*a)$
Q3:-RB+w*(x-L)^2/(2*c)$
M3:-MB-RB*(x-L)+w*(x-L)^3/(6*c)$
T3: TB-MB/KB+(MB*(x-L)+RB*(x-L)^2/2)/EI-w*(x-L)^4/(24*EI*c)$
V3: VB+(TB-MB/KB)*(x-L)+RB/KV+(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI-w*(x-L)^5/(120*EI*c)$

p:if a>x then p1 elseif x>=a and L-c>x then p2 else p3$
Q:if a>x then Q1 elseif x>=a and L-c>x then Q2 else Q3$
M:if a>x then M1 elseif x>=a and L-c>x then M2 else M3$
T:if a>x then T1 elseif x>=a and L-c>x then T2 else T3$
V:if a>x then V1 elseif x>=a and L-c>x then V2 else V3$

KB:1000$
KV:1000*10$
[TA, TB]: [-1,-2]/1000$
[VA, VB]: [-1,-2]/1000$
w:-10$
a:1.5$
c:1.0$
[L,B,D,E,G,fs]: [5,0.15,0.30,6.5,6.5/15,1.2]$

EI: E * B * D^3 / 12 * 10^6$ /* kN*m*m */

plot2d([Q,M,T*1000,V*1000,p], [x,0,L], grid2d, [title, "Euler-Bernoulli's beam"],
  [legend,"Q kN","M kNm","T x1/1000 rad","V mm","p kN/m"], 
  [color,red,blue,green,magenta,brown])$

?sleep(10)$
quit()$

 

(計算結果)

  L=5.0m

  KB=1000 kNm/rad

  KV=10000 kN/m

  VA=-1/1000 m

  VB=-2/1000 m

  TA=-1/1000 rad

  TB=-2/1000 rad

  w=-10 kN/m

  a=1.5m

  c=1.0m

  B x D = 150x300mm

  E65-F225 構造用集成材 すぎ(JAS)

 

両端にばねがあり、そこにたわみとたわみ角を与えたはりの計算式を導入しました。

jw_cad 外部変形 - (4164-2) はりを解く(両端ばね+鉛直・回転変位:山形分布荷重(2)) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

maximaではりを解いています。

 

(はりを解く(両端ばね+鉛直・回転変位:山形分布荷重(2)))

 

スクリプト例

:はりを解く(両端ばね+鉛直・回転変位:山形分布荷重(2))
@echo off
path C:\maxima-5.49.0\bin;%path%
more +4 %0 | maxima --very-quiet & pause & goto:eof
/*

:            /\        
:  VA TA  /  │w \   VB TB
:   |//______│______\|/
    ◎                 ◎ KB
    >                   > KV

:   0         a         L ---> x
:   |---------L---------|

    y
    |
    |_____x
  /
 z

  KB : 回転ばね kNm/rad
  KV : 鉛直ばね kN/m
  TA, TB : たわみ角 左回りが正 rad
  VA, VB : たわみ 上方向が正 m
  w : 分布荷重 上方向が正 kN/m
  a : 荷重の位置 m
  Q1, Q2 : せん断力 上方向が正 kN
  M1, M2 : 曲げモーメント 左回りが正 kNm
  L : スパン長 m
  EI : 曲げ剛性(一定)

  エンコード UTF-8(BOM無し) で保存して実行してください。
*/
assume(L>0,a>=0,L>=a)$
p1:-w/a*x$
p2:-w/(L-a)*(L-x)$
/*
define(Q1(x), C1 + integrate(p1, x))$
define(M1(x), C2 + integrate(Q1(x), x))$
define(T1(x), C3 - integrate(M1(x)/EI, x))$
define(V1(x), C4 + integrate(T1(x), x))$
define(Q2(x), C5 + integrate(p2, x))$
define(M2(x), C6 + integrate(Q2(x), x))$
define(T2(x), C7 - integrate(M2(x)/EI, x))$
define(V2(x), C8 + integrate(T2(x), x))$
s: solve(
  [T1(0)=-M1(0)/KB+TA, V1(0)= Q1(0)/KV+VA,
   T2(L)= M2(L)/KB+TB, V2(L)=-Q2(L)/KV+VB,
   Q1(a)=Q2(a), M1(a)=M2(a), T1(a)=T2(a), V1(a)=V2(a)],
  [C1, C2, C3, C4, C5, C6, C7, C8])$
[Q1, M1, T1, V1]: ev([Q1(x), M1(x), T1(x), V1(x)], s)$
[Q2, M2, T2, V2]: ev([Q2(x), M2(x), T2(x), V2(x)], s)$

RA:ev(Q1,x=0)$
RB:-ev(Q2,x=L)$
MA:ev(M1,x=0)$
MB:-ev(M2,x=L)$

print("RA:",string(factor(RA)))$
print("RB:",string(factor(RB)))$
print("MA:",string(factor(MA)))$
print("MB:",string(factor(MB)))$

print("Q1-RA:",string(factor(Q1-RA)))$
print("M1-MA-RA*x:",string(factor(M1-MA-RA*x)))$
print("T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI:",string(factor(T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI)))$
print("V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI:",string(factor(V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI)))$
print("Q2+RB:",string(factor(Q2+RB)))$
print("M2+MB+RB*(x-L):",string(factor(M2+MB+RB*(x-L))))$
print("T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI:",string(factor(T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI)))$
print("V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI:",string(factor(V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI)))$ quit()$
*/

RA: (L*(KB*KV*((2*a-3*L)*a^2-L^2*(3*a-7*L))-20*EI*(KV*L*(a-2*L)-6*KB))*w+120*EI*KB*KV*(2*(VB-VA)-L*(TB+TA))
)/(20*((KB*L+6*EI)*KV*L^2+24*EI*KB))$
RB: L*w/2-RA$
MA:-KB*(L*(KV*L*((3*(KB*L+2*EI)*a-(7*KB*L+24*EI)*L)*a^2+L^2*(3*KB*L+16*EI)*(a+L))+60*EI*(KB*a*(3*L-a)+2*EI*(2*a-L)))*w
+120*EI*(KV*L*(3*(KB*L+2*EI)*(VB-VA)-L*(KB*L*(TB+2*TA)+6*EI*TA))+12*EI*KB*(TB-TA))
)/(60*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$
MB:-KB*(L*(KV*L*((3*(KB*L+2*EI)*a-2*(KB*L-3*EI)*L)*a^2-2*L^2*(KB*L+7*EI)*(a+L))+60*EI*(KB*(a-L)*(a+2*L)+2*EI*(2*a-L)))*w
+120*EI*(KV*L*(3*(KB*L+2*EI)*(VB-VA)-L*(KB*L*(2*TB+TA)+6*EI*TB))-12*EI*KB*(TB-TA))
)/(60*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$

Q1: RA-w*x^2/(2*a)$
M1: MA+RA*x-w*x^3/(6*a)$
T1: TA-MA/KB-(MA*x+RA*x^2/2)/EI+w*x^4/(24*EI*a)$
V1: VA+(TA-MA/KB)*x+RA/KV-(MA*x^2/2+RA*x^3/6)/EI+w*x^5/(120*EI*a)$
Q2:-RB-w*(x-L)^2/(2*(a-L))$
M2:-MB-RB*(x-L)-w*(x-L)^3/(6*(a-L))$
T2: TB-MB/KB+(MB*(x-L)+RB*(x-L)^2/2)/EI+w*(x-L)^4/(24*EI*(a-L))$
V2: VB+(TB-MB/KB)*(x-L)+RB/KV+(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI+w*(x-L)^5/(120*EI*(a-L))$

p:if a>x then p1 else p2$
Q:if a>x then Q1 else Q2$
M:if a>x then M1 else M2$
T:if a>x then T1 else T2$
V:if a>x then V1 else V2$

KB:1000$
KV:1000*10$
[TA, TB]: [-1,-2]/1000$
[VA, VB]: [-1,-2]/1000$
w:-10$
a:2.0$
[L,B,D,E,G,fs]: [5,0.15,0.30,6.5,6.5/15,1.2]$

EI: E * B * D^3 / 12 * 10^6$ /* kN*m*m */

plot2d([Q,M,T*1000,V*1000,p], [x,0,L], grid2d, [title, "Euler-Bernoulli's beam"],
  [legend,"Q kN","M kNm","T x1/1000 rad","V mm","p kN/m"], 
  [color,red,blue,green,magenta,brown])$

?sleep(10)$
quit()$

 

(計算結果)

  L=5.0m

  KB=1000 kNm/rad

  KV=10000 kN/m

  VA=-1/1000 m

  VB=-2/1000 m

  TA=-1/1000 rad

  TB=-2/1000 rad

  w=-10 kN/m

  a=2.0m

  B x D = 150x300mm

  E65-F225 構造用集成材 すぎ(JAS)

 

両端にばねがあり、そこにたわみとたわみ角を与えたはりの計算式を導入しました。

 

分布荷重 p があるとき、計算式には荷重項が追加されます。

荷重項は

  Q += ∫ p dx

  M += ∫∫ p dx dx

  T -= ∫∫∫ p dx dx dx / EI

  V -= ∫∫∫∫ p dx dx dx dx / EI

となるイメージです。

jw_cad 外部変形 - (4163-2) はりを解く(両端ばね+鉛直・回転変位:回転変位(2)) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

maximaではりを解いています。

 

(はりを解く(両端ばね+鉛直・回転変位:回転変位(2)))

 

スクリプト例

:はりを解く(両端ばね+鉛直・回転変位:回転変位(2))
@echo off
path C:\maxima-5.49.0\bin;%path%
more +4 %0 | maxima --very-quiet & pause & goto:eof
/*

   VA TA      SM       VB TB
:   |/________/_________|/
    ◎                 ◎ KB
    >                   > KV

:   0         a         L ---> x
:   |---------L---------|

    y
    |
    |_____x
  /
 z

  KB : 回転ばね kNm/rad
  KV : 鉛直ばね kN/m
  TA, TB : たわみ角 左回りが正 rad
  VA, VB : たわみ 上方向が正 m
  SM : 回転変位 左回りが正 rad
  a : 回転変位の位置 m
  Q1, Q2 : せん断力 上方向が正 kN
  M1, M2 : 曲げモーメント 左回りが正 kNm
  L : スパン長 m
  EI : 曲げ剛性(一定)

  エンコード UTF-8(BOM無し) で保存して実行してください。
*/
assume(L>0,a>=0,L>=a)$
/*
define(Q1(x), C1)$
define(M1(x), C2 + integrate(Q1(x), x))$
define(T1(x), C3 - integrate(M1(x)/EI, x))$
define(V1(x), C4 + integrate(T1(x), x))$
define(Q2(x), C5)$
define(M2(x), C6 + integrate(Q2(x), x))$
define(T2(x), C7 - integrate(M2(x)/EI, x))$
define(V2(x), C8 + integrate(T2(x), x))$
s: solve(
  [T1(0)=-M1(0)/KB+TA, V1(0)= Q1(0)/KV+VA,
   T2(L)= M2(L)/KB+TB, V2(L)=-Q2(L)/KV+VB,
   Q1(a)=Q2(a), T1(a)=SM, T2(a)=SM, V1(a)=V2(a)],
  [C1, C2, C3, C4, C5, C6, C7, C8])$
[Q1, M1, T1, V1]: ev([Q1(x), M1(x), T1(x), V1(x)], s)$
[Q2, M2, T2, V2]: ev([Q2(x), M2(x), T2(x), V2(x)], s)$

RA:ev(Q1,x=0)$
RB:-ev(Q2,x=L)$
MA:ev(M1,x=0)$
MB:-ev(M2,x=L)$

print("RA:",string(factor(RA)))$
print("RB:",string(factor(RB)))$
print("MA:",string(factor(MA)))$
print("MB:",string(factor(MB)))$

print("Q1-RA:",string(factor(Q1-RA)))$
print("M1-MA-RA*x:",string(factor(M1-MA-RA*x)))$
print("T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI:",string(factor(T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI)))$
print("V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI:",string(factor(V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI)))$
print("Q2+RB:",string(factor(Q2+RB)))$
print("M2+MB+RB*(x-L):",string(factor(M2+MB+RB*(x-L))))$
print("T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI:",string(factor(T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI)))$
print("V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI:",string(factor(V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI)))$ quit()$
*/

RA: 6*EI*KV*(KB*(KB*(TB-TA)*a^2+(2*KB*(VB-VA)-KB*L*(2*TB-TA)+EI*(TB+TA))*a-L*(2*KB*(VB-VA)-(KB*L-2*EI)*TB))*a
-EI*(2*(KB*L+EI)*(VB-VA)-KB*L^2*TB)
)/(a*(a-L)*(KB^2*(KV*L*(3*a*(a-L)+L^2)+24*EI)+6*EI*KV*(KB*a*(a-L)-2*EI*L))-EI*((KB*L+4*EI)*KV*L^3+24*EI*(KB*L+EI)))
-6*EI*KV*(KB*L+2*EI)*SM*(KB*a*(a-L)-EI*L
)/(a*(a-L)*(KB^2*(KV*L*(3*a*(a-L)+L^2)+24*EI)+6*EI*KV*(KB*a*(a-L)-2*EI*L))-EI*((KB*L+4*EI)*KV*L^3+24*EI*(KB*L+EI)))$
RB:-RA$
MA:-EI*KB*(3*KV*(KB*((TB-TA)*a+2*(VB-VA-L*TB))*a-2*(KB*L+EI)*(VB-VA)+L*(KB*L*(TB+2*TA)+4*EI*TA))*a^2
+((KB*L*(L-4*a)+4*EI*(L-3*a))*KV*L^2-24*EI*(KB*(a-L)-EI))*TA
)/(a*(a-L)*(KB^2*(KV*L*(3*a*(a-L)+L^2)+24*EI)+6*EI*KV*(KB*a*(a-L)-2*EI*L))-EI*((KB*L+4*EI)*KV*L^3+24*EI*(KB*L+EI)))
+EI*KB*SM*(KB*KV*L^2*(3*a^2-L*(4*a-L))-2*EI*(KV*L*(2*L*(3*a-L)-3*a^2)+12*(KB*(a-L)-EI))
)/(a*(a-L)*(KB^2*(KV*L*(3*a*(a-L)+L^2)+24*EI)+6*EI*KV*(KB*a*(a-L)-2*EI*L))-EI*((KB*L+4*EI)*KV*L^3+24*EI*(KB*L+EI)))$
MB: EI*KB*(3*KV*(KB*((TB-TA)*a+2*(VB-VA-L*(2*TB-TA)))*a-2*(2*KB*L-EI)*(VB-VA)+L*(KB*L*(4*TB-TA)-4*EI*TB))*a^2
+2*(3*KV*L*(KB*L-2*EI)*(VB-VA)-2*((KB*L-3*EI)*KV*L^2+6*EI*KB)*TB)*a+2*EI*(3*KV*L^2*(VB-VA)-2*(KV*L^3+6*EI)*TB)
)/(a*(a-L)*(KB^2*(KV*L*(3*a*(a-L)+L^2)+24*EI)+6*EI*KV*(KB*a*(a-L)-2*EI*L))-EI*((KB*L+4*EI)*KV*L^3+24*EI*(KB*L+EI)))
+EI*KB*SM*(3*KV*L*(KB*L+2*EI)*a^2-2*(KV*L^3-12*EI)*(KB*a+EI)
)/(a*(a-L)*(KB^2*(KV*L*(3*a*(a-L)+L^2)+24*EI)+6*EI*KV*(KB*a*(a-L)-2*EI*L))-EI*((KB*L+4*EI)*KV*L^3+24*EI*(KB*L+EI)))$

Q1: RA$
M1: MA+RA*x$
T1: TA-MA/KB-(MA*x+RA*x^2/2)/EI$
V1: VA+(TA-MA/KB)*x+RA/KV-(MA*x^2/2+RA*x^3/6)/EI$
Q2:-RB$
M2:-MB-RB*(x-L)$
T2: TB-MB/KB+(MB*(x-L)+RB*(x-L)^2/2)/EI$
V2: VB+(TB-MB/KB)*(x-L)+RB/KV+(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI$

Q:if a>x then Q1 else Q2$
M:if a>x then M1 else M2$
T:if a>x then T1 else T2$
V:if a>x then V1 else V2$

KB:1000$
KV:1000*10$
[TA, TB]: [-1,-2]/1000$
[VA, VB]: [-1,-2]/1000$
SM:-10/1000$
a:2.0$
[L,B,D,E,G,fs]: [5,0.15,0.30,6.5,6.5/15,1.2]$

EI: E * B * D^3 / 12 * 10^6$ /* kN*m*m */

plot2d([Q,M,T*1000,V*1000], [x,0,L], grid2d, [title, "Euler-Bernoulli's beam"],
  [legend,"Q kN","M kNm","T x1/1000 rad","V mm"], 
  [color,red,blue,green,magenta])$

?sleep(10)$
quit()$

 

(計算結果)

  L=5.0m

  KB=1000 kNm/rad

  KV=10000 kN/m

  VA=-1/1000 m

  VB=-2/1000 m

  TA=-1/1000 rad

  TB=-2/1000 rad

  SM=-10/1000 rad

  a=2.0m

  B x D = 150x300mm

  E65-F225 構造用集成材 すぎ(JAS)

 

両端にばねがあり、そこにたわみとたわみ角を与えたはりの計算式を導入しました。

 

材端条件 RA, MA, RB, MB で Q, M, T, V が 表現できることがわかりました。

jw_cad 外部変形 - (4162-2) はりを解く(両端ばね+鉛直・回転変位:鉛直変位(2)) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

maximaではりを解いています。

 

(はりを解く(両端ばね+鉛直・回転変位:鉛直変位(2)))

 

スクリプト例

:はりを解く(両端ばね+鉛直・回転変位:鉛直変位(2))
@echo off
path C:\maxima-5.49.0\bin;%path%
more +4 %0 | maxima --very-quiet & pause & goto:eof
/*

   VA TA      SV       VB TB
:   |/________|_________|/
    ◎                 ◎ KB
    >                   > KV

:   0         a         L ---> x
:   |---------L---------|

    y
    |
    |_____x
  /
 z

  KB : 回転ばね kNm/rad
  KV : 鉛直ばね kN/m
  TA, TB : たわみ角 左回りが正 rad
  VA, VB : たわみ 上方向が正 m
  SV : 鉛直変位 上方向が正 m
  a : 鉛直変位の位置 m
  Q1, Q2 : せん断力 上方向が正 kN
  M1, M2 : 曲げモーメント 左回りが正 kNm
  L : スパン長 m
  EI : 曲げ剛性(一定)

  エンコード UTF-8(BOM無し) で保存して実行してください。
*/
assume(L>0,a>=0,L>=a)$
/*
define(Q1(x), C1)$
define(M1(x), C2 + integrate(Q1(x), x))$
define(T1(x), C3 - integrate(M1(x)/EI, x))$
define(V1(x), C4 + integrate(T1(x), x))$
define(Q2(x), C5)$
define(M2(x), C6 + integrate(Q2(x), x))$
define(T2(x), C7 - integrate(M2(x)/EI, x))$
define(V2(x), C8 + integrate(T2(x), x))$
s: solve(
  [T1(0)=-M1(0)/KB+TA, V1(0)= Q1(0)/KV+VA,
   T2(L)= M2(L)/KB+TB, V2(L)=-Q2(L)/KV+VB,
   M1(a)=M2(a), T1(a)=T2(a), V1(a)=SV, V2(a)=SV],
  [C1, C2, C3, C4, C5, C6, C7, C8])$
[Q1, M1, T1, V1]: ev([Q1(x), M1(x), T1(x), V1(x)], s)$
[Q2, M2, T2, V2]: ev([Q2(x), M2(x), T2(x), V2(x)], s)$

RA:ev(Q1,x=0)$
RB:-ev(Q2,x=L)$
MA:ev(M1,x=0)$
MB:-ev(M2,x=L)$
print("RA:",string(factor(RA)))$
print("RB:",string(factor(RB)))$
print("MA:",string(factor(MA)))$
print("MB:",string(factor(MB)))$

print("Q1-RA:",string(factor(Q1-RA)))$
print("M1-MA-RA*x:",string(factor(M1-MA-RA*x)))$
print("T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI:",string(factor(T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI)))$
print("V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI:",string(factor(V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI)))$
print("Q2+RB:",string(factor(Q2+RB)))$
print("M2+MB+RB*(x-L):",string(factor(M2+MB+RB*(x-L))))$
print("T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI:",string(factor(T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI)))$
print("V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI:",string(factor(V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI)))$ quit()$
*/

RA: 3*EI*KV*(KB*(KV*(KB*(TB-TA)*a^2+(3*KB*(VB-VA)-KB*L*(3*TB-2*TA)+2*EI*(TB+TA))*a-KB*L*(6*VB-8*VA-3*L*TB)+EI*(4*VA-6*L*TB))*a^2
+KB*L*(KV*L*(3*(VB-2*VA)-L*(TB+2*TA))*a+(KV*L^3+12*EI)*TA))*a
-2*EI*(3*(2*EI*KV*(VB-VA)-KB*((TB-TA)*(KV*L^2+KB)-KV*L*VB))*a-3*KV*L*(KB*L+2*EI)*(VB-2*VA)+KB*KV*L^3*(TB-2*TA)-6*EI*KB*(TB+TA))*a
+(KB*L+2*EI)*(((KB*L+6*EI)*KV*L^2+12*EI*KB)*VA-SV*(KB*KV*(a-L)^2*(2*a+L)-6*EI*(KV*L*(a-L)-2*KB)))
)/(KV*a*(a-L)*(a*(a-L)*(KB*KV*(KB*L+2*EI)*a*(a-L)-3*EI*((KB*L+4*EI)*KV*L-6*KB^2))-36*EI^2*(KB*L+2*EI))-3*EI*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+12*EI*KB))$
RB:-3*EI*KV*(KB*KV*(KB*(TB-TA)*a^3+(3*KB*(VB-VA)-KB*L*(3*TB-2*TA)+2*EI*(TB+TA))*a^2-(KB*L*(4*VB-6*VA)-KB*L^2*(2*TB-TA)+EI*(L*(8*TB+2*TA)-4*VB))*a
-3*L*(EI*(4*VB-2*VA)+L*(KB*VA-2*EI*TB)))*a^2-6*EI*((2*EI*KV*(VB-VA)+KB^2*(TB-TA))*a+KB*L*(KV*L*VA+2*KB*TA)+2*EI*(KV*L*VA+KB*(TB+TA)))*a
-(KB*L+2*EI)*(6*EI*KB*(2*VB-L*(TB+TA))+SV*(KB*KV*(2*a-3*L)*a^2-6*EI*(KV*L*a+2*KB)))
)/(KV*a*(a-L)*(a*(a-L)*(KB*KV*(KB*L+2*EI)*a*(a-L)-3*EI*((KB*L+4*EI)*KV*L-6*KB^2))-36*EI^2*(KB*L+2*EI))-3*EI*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+12*EI*KB))$
MA:-EI*KB*(KV*(KV*(KB*((TB-TA)*a+3*(VB-VA-L*TB))*a-3*(2*(KB*L+EI)*(VB-VA)-L*(KB*L*(TB+2*TA)+4*EI*TA)))*a^3
+(3*KV*L*(KB*L+2*EI)*VB-KB*KV*L^3*(TB+8*TA)-12*EI*(2*KV*L^2+3*KB)*TA)*a^2
-3*((6*EI*KB*(VB+VA)+2*(KB*L+3*EI)*KV*L^2*VA-6*EI*(KB*L*(TB+4*TA)+4*EI*TA)-(KB*L+4*EI)*KV*L^3*TA)*a
-12*EI*(KB*L+EI)*(VB+VA)-(KB*L+4*EI)*KV*L^3*VA+6*EI*L*(KB*L*(TB+2*TA)+4*EI*TA)))*a
-6*EI*(3*KV*L*(KB*L+2*EI)*VB-KB*KV*L^3*(TB+2*TA)+6*EI*(KB*(TB-TA)-KV*L^2*TA))
)/(KV*a*(a-L)*(a*(a-L)*(KB*KV*(KB*L+2*EI)*a*(a-L)-3*EI*((KB*L+4*EI)*KV*L-6*KB^2))-36*EI^2*(KB*L+2*EI))-3*EI*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+12*EI*KB))
+3*EI*KB*KV*SV*(L*(KB*L+2*EI)*(KV*a^3-6*EI)-2*((KB*L+3*EI)*KV*L^2+6*EI*KB)*a^2+((KB*L+4*EI)*KV*L^3+24*EI*(KB*L+EI))*a
)/(KV*a*(a-L)*(a*(a-L)*(KB*KV*(KB*L+2*EI)*a*(a-L)-3*EI*((KB*L+4*EI)*KV*L-6*KB^2))-36*EI^2*(KB*L+2*EI))-3*EI*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+12*EI*KB))$
MB: EI*KB*(KV*(KV*(KB*a*(3*(VB-VA)+(TB-TA)*a+3*L*(TA-2*TB))-3*((3*KB*L-2*EI)*(VB-VA)-KB*L^2*(3*TB-TA)+4*EI*L*TB))*a^2
+(KV*L*(6*(KB*L-4*EI)*VB-9*(KB*L-2*EI)*VA-L*(4*(KB*L-6*EI)*TB-KB*L*TA))-36*EI*KB*TB)*a
+3*(KV*L^2*(6*EI*(VB-VA)+KB*L*VA)-2*EI*(3*KB*((VB+VA)-L*(2*TB-TA))+2*(KV*L^3+6*EI)*TB)))*a^2
-6*EI*(KV*(6*EI*(VB+VA)-L*(KV*L^2*VA+12*EI*TB+3*KB*L*TA))*a-KV*L*(3*(KB*L+2*EI)*VB-KB*L^2*(2*TB+TA))+6*EI*(KB*(TB-TA)+KV*L^2*TB))
)/(KV*a*(a-L)*(a*(a-L)*(KB*KV*(KB*L+2*EI)*a*(a-L)-3*EI*((KB*L+4*EI)*KV*L-6*KB^2))-36*EI^2*(KB*L+2*EI))-3*EI*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+12*EI*KB))
+3*EI*KB*KV*SV*(L*(KB*L+2*EI)*(KV*a^3-6*EI)-(KV*L^3-12*EI)*a*(KB*a+2*EI)
)/(KV*a*(a-L)*(a*(a-L)*(KB*KV*(KB*L+2*EI)*a*(a-L)-3*EI*((KB*L+4*EI)*KV*L-6*KB^2))-36*EI^2*(KB*L+2*EI))-3*EI*(KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+12*EI*KB))$

Q1: RA$
M1: MA+RA*x$
T1: TA-MA/KB-(MA*x+RA*x^2/2)/EI$
V1: VA+(TA-MA/KB)*x+RA/KV-(MA*x^2/2+RA*x^3/6)/EI$
Q2:-RB$
M2:-MB-RB*(x-L)$
T2: TB-MB/KB+(MB*(x-L)+RB*(x-L)^2/2)/EI$
V2: VB+(TB-MB/KB)*(x-L)+RB/KV+(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI$

Q:if a>x then Q1 else Q2$
M:if a>x then M1 else M2$
T:if a>x then T1 else T2$
V:if a>x then V1 else V2$

KB:1000$
KV:1000*10$
[TA, TB]: [-1,-2]/1000$
[VA, VB]: [-1,-2]/1000$
SV:-10/1000$
a:2.0$
[L,B,D,E,G,fs]: [5,0.15,0.30,6.5,6.5/15,1.2]$

EI: E * B * D^3 / 12 * 10^6$ /* kN*m*m */

plot2d([Q,M,T*1000,V*1000], [x,0,L], grid2d, [title, "Euler-Bernoulli's beam"],
  [legend,"Q kN","M kNm","T x1/1000 rad","V mm"], 
  [color,red,blue,green,magenta])$

?sleep(10)$
quit()$

 

(計算結果)

  L=5.0m

  KB=1000 kNm/rad

  KV=10000 kN/m

  VA=-1/1000 m

  VB=-2/1000 m

  TA=-1/1000 rad

  TB=-2/1000 rad

  SV=-10/1000 m

  a=2.0m

  B x D = 150x300mm

  E65-F225 構造用集成材 すぎ(JAS)

 

両端にばねがあり、そこにたわみとたわみ角を与えたはりの計算式を導入しました。

 

改良式です。

jw_cad 外部変形 - (4161-2) はりを解く(両端ばね+鉛直・回転変位:集中曲げ(2)) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

maximaではりを解いています。

 

(はりを解く(両端ばね+鉛直・回転変位:集中曲げ(2)))

 

スクリプト例

:はりを解く(両端ばね+鉛直・回転変位:集中曲げ(2))
@echo off
path C:\maxima-5.49.0\bin;%path%
more +4 %0 | maxima --very-quiet & pause & goto:eof
/*

   VA TA      PM       VB TB
:   |/________/_________|/
    ◎                 ◎ KB
    >                   > KV

:   0         a         L ---> x
:   |---------L---------|

    y
    |
    |_____x
  /
 z

  KB : 回転ばね kNm/rad
  KV : 鉛直ばね kN/m
  TA, TB : たわみ角 左回りが正 rad
  VA, VB : たわみ 上方向が正 m
  PM : 集中曲げ 左回りが正 kNm
  a : 集中曲げの位置 m
  Q1, Q2 : せん断力 上方向が正 kN
  M1, M2 : 曲げモーメント 左回りが正 kNm
  L : スパン長 m
  EI : 曲げ剛性(一定)

  エンコード UTF-8(BOM無し) で保存して実行してください。
*/
assume(L>0,a>=0,L>=a)$
/*
define(Q1(x), C1)$
define(M1(x), C2 + integrate(Q1(x), x))$
define(T1(x), C3 - integrate(M1(x)/EI, x))$
define(V1(x), C4 + integrate(T1(x), x))$
define(Q2(x), C5)$
define(M2(x), C6 + integrate(Q2(x), x))$
define(T2(x), C7 - integrate(M2(x)/EI, x))$
define(V2(x), C8 + integrate(T2(x), x))$
s: solve(
  [T1(0)=-M1(0)/KB+TA, V1(0)= Q1(0)/KV+VA,
   T2(L)= M2(L)/KB+TB, V2(L)=-Q2(L)/KV+VB,
   Q1(a)=Q2(a), M1(a)-M2(a)=-PM, T1(a)=T2(a), V1(a)=V2(a)],
  [C1, C2, C3, C4, C5, C6, C7, C8])$
[Q1, M1, T1, V1]: ev([Q1(x), M1(x), T1(x), V1(x)], s)$
[Q2, M2, T2, V2]: ev([Q2(x), M2(x), T2(x), V2(x)], s)$

RA:ev(Q1,x=0)$
RB:-ev(Q2,x=L)$
MA:ev(M1,x=0)$
MB:-ev(M2,x=L)$

print("RA:",string(factor(RA)))$
print("RB:",string(factor(RB)))$
print("MA:",string(factor(MA)))$
print("MB:",string(factor(MB)))$
print("Q1-RA:",string(factor(Q1-RA)))$
print("M1-MA-RA*x:",string(factor(M1-MA-RA*x)))$
print("T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI:",string(factor(T1-TA+MA/KB+(MA*x+RA*x^2/2)/EI)))$
print("V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI:",string(factor(V1-VA-(TA-MA/KB)*x-RA/KV+(MA*x^2/2+RA*x^3/6)/EI)))$
print("Q2+RB:",string(factor(Q2+RB)))$
print("M2+MB+RB*(x-L):",string(factor(M2+MB+RB*(x-L))))$
print("T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI:",string(factor(T2-TB+MB/KB-(MB*(x-L)+RB*(x-L)^2/2)/EI)))$
print("V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI:",string(factor(V2-VB-(TB-MB/KB)*(x-L)-RB/KV-(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI)))$ quit()$
*/

RA: 6*EI*KB*KV*(2*(VB-VA)-L*(TB+TA))/((KB*L+6*EI)*KV*L^2+24*EI*KB)
+6*KV*PM*(KB*(a-L)*a-EI*L)/((KB*L+6*EI)*KV*L^2+24*EI*KB)$
RB:-RA$
MA:-2*EI*KB*(3*KV*L*(KB*L+2*EI)*(VB-VA)-KB*KV*L^3*(TB+2*TA)+6*EI*(2*KB*(TB-TA)-KV*L^2*TA)
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))
-KB*PM*(KV*L*(3*(KB*L+2*EI)*a^2-4*(KB*L+3*EI)*L*a+(KB*L+4*EI)*L^2)+24*EI*(KB*(L-a)+EI)
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$
MB:-2*EI*KB*(3*KV*L*(KB*L+2*EI)*(VB-VA)-KB*KV*L^3*(2*TB+TA)-6*EI*(KV*L^2*TB+2*KB*(TB-TA))
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))
-KB*PM*(3*KV*L*(KB*L+2*EI)*a^2-2*(KB*a+EI)*(KV*L^3-12*EI)
)/((KB*L+2*EI)*((KB*L+6*EI)*KV*L^2+24*EI*KB))$

Q1: RA$
M1: MA+RA*x$
T1: TA-MA/KB-(MA*x+RA*x^2/2)/EI$
V1: VA+(TA-MA/KB)*x+RA/KV-(MA*x^2/2+RA*x^3/6)/EI$
Q2:-RB$
M2:-MB-RB*(x-L)$
T2: TB-MB/KB+(MB*(x-L)+RB*(x-L)^2/2)/EI$
V2: VB+(TB-MB/KB)*(x-L)+RB/KV+(MB*(x-L)^2/2+RB*(x-L)^3/6)/EI$

Q:if a>x then Q1 else Q2$
M:if a>x then M1 else M2$
T:if a>x then T1 else T2$
V:if a>x then V1 else V2$

KB:1000$
KV:1000*10$
[TA, TB]: [-1,-2]/1000$
[VA, VB]: [-1,-2]/1000$
PM:-30$
a:2.0$
[L,B,D,E,G,fs]: [5,0.15,0.30,6.5,6.5/15,1.2]$

EI: E * B * D^3 / 12 * 10^6$ /* kN*m*m */

plot2d([Q,M,T*1000,V*1000], [x,0,L], grid2d, [title, "Euler-Bernoulli's beam"],
  [legend,"Q kN","M kNm","T x1/1000 rad","V mm"], 
  [color,red,blue,green,magenta])$

?sleep(10)$
quit()$

 

(計算結果)

  L=5.0m

  KB=1000 kNm/rad

  KV=10000 kN/m

  VA=-1/1000 m

  VB=-2/1000 m

  TA=-1/1000 rad

  TB=-2/1000 rad

  PM=-30 kNm

  a=2.0m

  B x D = 150x300mm

  E65-F225 構造用集成材 すぎ(JAS)

 

両端にばねがあり、そこにたわみとたわみ角を与えたはりの計算式を導入しました。