・申し訳ありません。?小細工だらけです。いい方法をアドバイスをいただけると幸いです。
・作図もできていません。
パイソニスタの方へ
・教えて下さい。
オリジナル
基本例題8.28 P284 (pdf)<「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy
???タブレット等で、pdfを開く事ができないかも。???
sympyで
・ver0.1 p284 基本例題8.28
# ver0.1 p284 基本例題8.28
from sympy import *
var('P,l,a,b')
var('MB,PC')
MAB_str ="(MB-P*a-PC*l)+(P+PC)*x" ;print("#",MAB_str)
MBC_str = MAB_str + "-P*(x-a)-MB" ;print("#",MBC_str)
U = "1/(2*EI)*integrate((" + MAB_str+")**2,(x,0,a))+" \
+"1/(2*EI)*integrate((" + MBC_str+")**2,(x,a,l))" ;print("#",U)
rep1={MB:0,PC:0}
rep2={l :a+b}
tB = "1/EI*integrate(" +str(diff(sympify(MAB_str)**2,MB)/2) +",(x,0,a))" #;print("#",tB)
tB =sympify(tB).subs(rep1) #;print("#",tB)
print()
# ? 手抜き
tB =diff(sympify(U),MB).subs(rep1) ;print("#",tB)
vC =diff(sympify(U),PC).subs(rep1).subs(rep2).expand() ;print("#",vC)
# (MB-P*a-PC*l)+(P+PC)*x
# (MB-P*a-PC*l)+(P+PC)*x-P*(x-a)-MB
# 1/(2*EI)*integrate(((MB-P*a-PC*l)+(P+PC)*x)**2,(x,0,a))+1/(2*EI)*integrate(((MB-P*a-PC*l)+(P+PC)*x-P*(x-a)-MB)**2,(x,a,l))
# -P*a**2/(2*EI)
# P*a**3/(3*EI) + P*a**2*b/(2*EI)
・ver0.2 p284 基本例題8.28
・入力と出力だけにしました。
# ver0.2 p284 基本例題8.28
from sympy import *
var('P,l,a,b')
var('MB,PC')
MAB_str ="(MB-P*a-PC*l)+(P+PC)*x" ;print("#",MAB_str)
MBC_str = MAB_str + "-P*(x-a)-MB" ;print("#",MBC_str)
U = "1/(2*EI)*integrate((" + MAB_str+")**2,(x,0,a))+" \
+"1/(2*EI)*integrate((" + MBC_str+")**2,(x,a,l))" #;print("#",U)
rep1={MB:0,PC:0}
rep2={l :a+b}
tB =diff(sympify(U),MB).subs(rep1) ;print("#",tB)
vC =diff(sympify(U),PC).subs(rep1).subs(rep2).expand() ;print("#",vC)
# (MB-P*a-PC*l)+(P+PC)*x
# (MB-P*a-PC*l)+(P+PC)*x-P*(x-a)-MB
# -P*a**2/(2*EI)
# P*a**3/(3*EI) + P*a**2*b/(2*EI)
いつもの? sympyの実行環境と 参考のおすすめです。
いつもと違うおすすめです。
カスチリアノの第2定理<wikipedia
参考文献
>一部に等分布荷重を受ける単純支持はり
>JSME p89
>単純支持ばり 7)
>構造力学公式集 p136