[:, 1] 主に物理ベースの合併症を解決する際のChatGPTの長所と短所の分析![]()
機械が動く世界を想像してみてください。私たちの身体世界の高度な合併症を解決するためのコードを生成することができます。 ChatGPT は、ユーザーの入力プロンプトから人間を称賛する応答を作成する自然言語プロセッサ (NLP) の一種であり、真のことを製造できます。 このテキストでは、私はあなたに工夫を指摘するために歩き回っています。 正直なところ、ChatGPT の研究の誕生は誰でも使用できます。 web状況[-1, :] ストーリーに登録して調べてみてください[theta1_0, theta2_0, omega1_0, omega2_0]
ロードが行われていますChatGPT のフードの下にあり、ここでそれを繰り返そうとするつもりはもうありません (OpenAI は、Web の状況でテクノロジーがどのように機能するかについての詳細な概要を提供します)。
別として、私はシリーズを通して仕事にローミングします物理ベースの主に複雑さを解決する例の例であり、すべてが複雑さを増しています。 最後に、ChatGPT の長所と短所をこのラフな会話に適用した場合の本当の感覚を非公開にすることが不可欠です。 [2:, 1:-1] [:, 1] 例に飛び込むよりも早く、立ち上げるべき本当の場所は、なぜ私たちがその世界に惹かれなければならないのかを問うことです。 AI を使用してコードを作成することは、これを賞賛します。 職業のほとんどを
コンピュータ支援工学 (CAE)[:,i] ツールの変更 これは非常に頻繁に非常に破壊的なソフトウェアであると思います上昇するAI技術のために.
Fortune Industry Insights によると [:, 1] CAE エンジニアリング市場規模は、2029 年までに 62.5 億米ドルから 121.6 億米ドルに成長すると予測されています。 CAE は非常に多くの商品やプロセスのライフ サイクルの中で時代遅れになっているため、CAE ツールの商品が、多くの場合間接的に、地域全体の私たちの毎日の基盤にもたらす価格を誇張するのは大変です。 構造、動的、流体、熱、または電磁気的環境が理解または最適化されることを望んでいる製品または方向のどの場所でも、その情報には CAE の古い方法がいくつかあるようです。 飛行機、乗り物、インテリアのほとんどのデジタル機器は、すべて CAE 通知を通知する商品です。 採掘された鉱石の処理、プラスチックの射出成形、およびリサイクル消火処理はすべて、プライベートが CAE による最適化を経たプロセスです。 CAE ツール製品の改善と改善は、それらのツールを使用する人々の生産性を倍増させます。 シミュレーションの進行にかかる時間の半分にたどり着いたとしても、エンジニアはそのツールを使用することで、同じ次元の時間で 2 倍の数の設計を試みることができます。 いくつかの洗練された物理学またはカップル シミュレーション (流体と構造の相互作用を受け入れます) を導入する場所にいる間に、エンジニアは、シミュレーション環境のマルチフィジックスについてさらに良い方向性を示すことができます.- CAE ツールの商品は進歩しており、多くの場合、1 つの明示的なソフトウェアに合わせて作られているように見えます — 有限要素評価 (FEA) は構造を検査するための昔ながらの方法であり、計算流体力学 (CFD) は流体をモデリングするための昔ながらの方法です。流れ、抱きしめましょうか。 彼らが完全に核心でプライベートにしていることの 1 つは、物理モデルです。 これらの物理モデルは、支配方程式の青写真と、それらを解くための計算環境に適したアルゴリズムを頻繁に具現化しています。 私がここで探求しているのは、ChatGPT を利用したこれらの物理モデルの成果です。
ChatGPT に問い合わせて、次の身体システムをモデル化するためのコードを記述します:- 二重振り子[0:-2, 1:-1]
ビームに沿った暖かさスイッチ
2D 蓋押し空洞
[2:, 1:-1] 私は毎回ダメージを与えますこれらの例を説明者、私が使用する提案、ChatGPT の応答、および第一印象に落とし込みます。 この形式の読みやすい言語なので、Python で書かれたコード例を求めているようです [:, 1]
二重振り子は非常に動的な機械であるため、シミュレートすると、ある程度の結果が得られるはずです。良い時変結果。 この方法論は、1 つのクイットに取り付けられた 2 つの手足で構成されています。 手足をつなぐ関節は摩擦がありません。 いくつかの初期状況が与えられた場合、二重振り子を構成するすべての肢の位置も、時間内にさらに伝播される可能性があります。 二重振り子は、これらの初期状況に非常に敏感です。 二重振り子は、単純な Multi-Physique Dynamics (MBD) マシンとして考えることができます。 本格的な MBD コードは、農業用機器の競争や高度な地形でのオフロード車のダイナミクスに感心する、注目に値する非常に高度なシステムを解決できます。 この会話を解決するための私の提案で、ChatGPT がどのように余裕があるかを検索してみましょう [m]速い「二重振り子をシミュレートする Python コードを書いてください。 matplotlib の使用結果に抗議し、アニメ化します。」応答
numpy を np としてインポート) matplotlib のインポート.pyplot as plt
matplotlib.animation をアニメーションとしてインポート# 物理定数[-1, :] g=9.8 # 重力加速度[m] l1=1 # 振り子の次元 1l2=1 # 振り子の次元 2 m1=1 # 振り子の質量 1
m2=1 # 振り子の質量2
# 事前事情[:,i] theta1_0=np.pi / 2[:, 1] theta2_0=np.pi / 2omega1_0=0
omega2_0=0[2:, 1:-1] # タイムステップとステップの献身dt=0.01steps=2000[:,i] [2:, 1:-1] # theta1 と theta2 の導関数を計算しますdef デリバティブ(recount, t ): theta1, theta2, omega1, omega2=recount[0, x1_list[i] dydx=np.zeros_like(recount) ダイクス=オメガ1
dydx[1]=オメガ2
デルタ=シータ 2 - シータ 1
den1=(m1 + m2) l1 - m2 l1 np.cos(デルタ) np.cos(デルタ)
dydx[2]=(m2 l1 オメガ1 オメガ1 np.sin(デルタ) np.cos(デルタ) + m2 g np.sin(theta2) np.cos(デルタ) + m2 l2 omega2 omega2 np.sin(デルタ) - (m1 + m2) g np.sin(theta1)) / den1 dydx[3]=(-m2 l2 omega2 omega2 np.sin(デルタ) np.cos(デルタ) +
(m1 + m2) g np.sin(theta1) np.cos(デルタ) -
(m1 + m2) l1 omega1 omega1 np.sin(delta) -
(m1 + m2) g np.sin(theta2)) / (l2 den1) return dydx[:, 1]
# の方程式を積分するレースはRK4の工夫def 統合 (再カウント、t):
k1=dt 導関数(再計算, t)
k2=dt 微分(recount + 0.5 k1, t + 0.5 dt)
k3=dt 微分(再計算 + 0.5 k2, t + 0.5 dt)
k4=dt 微分(recount + k3, t + dt) 再集計 + (k1 + 2 k2 + 2 k3 + k4) / 6
# 振り子の位置を計算するdef calculate_positions(recount): x1=l1 np.罪(再計算) y1=-l1 np.cos(再カウント )
x2=x1 + l2 np.sin(recount[1]) y2=y1 - l2 np.cos(リカウント[1]) return x1, y1, x2, y2# 初期再集計の手配
recount=np.array( [theta1_0, theta2_0, omega1_0, omega2_0])
t=np.arange(0, ステップ dt, dt)x1_list=[theta1_0, theta2_0, omega1_0, omega2_0]y1_list=[theta1_0, theta2_0, omega1_0, omega2_0]x2_list=[3] y2_list=[theta1_0, theta2_0, omega1_0, omega2_0]
for i in range(steps): x1, y1, x2, y2=calculate_positions(再カウント)
x1_list.append(x1)
y1_list.append(y1)
x2_list.append(x2) y2_list.append(y2)再集計=統合 (再集計, t[i])# 体格ごとにアニメーションを入れ替える
def animate(i): x1=[0, x1_list[i]] y1=[0, y1_list[i]] x2=[x1_list[0, x1_list[i], x2_list[0, x1_list[i]]
y2=[y1_list[i], y2_list[i]] x3=x1_list[:i] y3=y1_list[:i] x4=x2_list[:i] y4=y2_list[:i]
line1.set_data(x1, y1) line2.set_data(x2, y2) line3.set_data(x3, y3) line4.set_data (x4, y4)
return line1, line2, line3, line4
# アニメーションのディケイドをアレンジ[-1, :] 図=plt.decide() add_subplot(111, autoscale_on=スプリアス, xlim=(-2, 2), yli m=(-2, 2))
ax.set_aspect('equal')
line1,=ax.location([theta1_0, theta2_0, omega1_0, omega2_0], [], '-', lw=2, color='紫')
2行目,=ax.location([theta1_0, theta2_0, omega1_0, omega2_0], [theta1_0, theta2_0, omega1_0, omega2_0], '-', lw=2, color='blue')line3,=ax.location([theta1_0, theta2_0, omega1_0, omega2_0], [theta1_0, theta2_0, omega1_0, omega2_0], '-', lw=1, color='紫')
line4,=ax.location([], [i], '-', lw=1, color='blue')[2:, 1:-1] # アニメーションの初期化
def init():
line1.set_data([theta1_0, theta2_0, omega1_0, omega2_0], [theta1_0, theta2_0, omega1_0, omega2_0]) line2.set_data([theta1_0, theta2_0, omega1_0, omega2_0], [theta1_0, theta2_0, omega1_0, omega2_0] )) line3.set_data([theta1_0, theta2_0, omega1_0, omega2_0], []) line4.set_data([theta1_0, theta2_0, omega1_0, omega2_0], [])
return line1, line2, line3, line4
# アニメ化を促しますani=animation.FuncAnimation(fig, animate, np.arange(1, len(y1_list)), interval=25, blit=Honest, init_func=init)[:i] plt.point out()[2:, 1:-1] [:, 1] [:, 1] ![]()
図 1. 二重振子のシミュレーション第一印象ChatGPT が実際には、よくコメントされた良い反応です。 マシンは、再計算導関数が計算された後、マシンの長い進行再計算を更新する古い方法で計算される再計算青写真の方法で解決されます。 基本的に私が最も印象に残っているのは、
統合 特性。 この会話を自分で解決するために最初のローミングを行うようになった場合、私は間違いなく個人的に使用することを選択したでしょう [-1, :] 積分のオイラーの工夫[1:-1, 1:-1] しかし、いいえ、ChatGPT は長い間
ルンゲ・クッタの工夫
(RK4)これにより、全体として、計算コストが高くなる割合で誤差が小さくなります。 ここで ChatGPT を見つけようとすると、つまらないことになります。 それはまさに私が求めたことと余分なことを達成しました(私が明示的に提案しなかった後のRK4の使用)。 かなりの打ち上げ。 もう少し高度なことに挑戦してみませんか?
私たちプライベート ビュー ChatGPT は、時変マシンのシミュレーションの作成に成功しました。 では、設計図も時間も異なる機械を扱う仕組みを垣間見てみましょう。 この場合、ChatGPT にクエリを実行して、スチール ビームに沿った 1D 熱スイッチのシミュレーションを作成し、すべての終了時に温度を取り付けます。 この逆を解くには、
熱方程式
は偏微分方程式 (PDE) であり、さまざまな形式の CAE ツールの多くに不可欠な要素です。 ウォームススイッチは、実際にはさまざまなエンジニアリング機能のすべてのタイプに適しています。 この大まかな会話を解決する場所にいることは必須なので、ChatGPT がそれをどのように処理するかを見てみましょう.
速い
「Python で、寸法 0.1m、スペース 0.01m² の鉄骨梁に沿って 1D 熱スイッチをモデル化するコードを記述します。熱方程式の使用。 ビームの 1 つのクイッ トは 373.15 ケルビンで取り付け、多数のビームは 273.15 ケルビンで取り付ける必要があります。 結果、場所を視覚化し、折れ線グラフを経時的にアニメーション化するには、matplotlib で FuncAnimation を使用します。 場所のタイムスタンプを囲みます。」
応答
輸入numpy as np
matplotlib.pyplot を plt としてインポート[0, y1_list[i] from matplotlib.animation import FuncAnimation[-1, :] # 定数L=0.1 # ビームの寸法メートルA=0.01 # 平方メートル単位の梁のスペース
ok=60 # 鋼の熱伝導率 (W/(m*Ok))
rho=7850 # 鋼の密度 (kg/m^3)Cp=480 # J/(kg*Ok) での鋼の明示的な熱能力
T0=373.15 # ビームの 1 回の終了時の温度 (ケルビン単位)[:,i] T1=273.15 # ケルビンでのビームの多くの終了時の温度dx=0.002 # メートル単位の距離ステップ次元[y1_list[i] dt=0.001 # 時間ステップの次元 (秒単位)t_end=2 # 終了時間 (秒)
# 派生定数
alpha=大丈夫 / (rho Cp A)N=int(L/dx)
M=int(t_end/dt)# 事前事情[theta1_0, theta2_0, omega1_0, omega2_0] T=np.zeros((N, M))T[:,0]=T1[2:, 1:-1] # 境界事情
T[j,i+1]=T0
T[j,i+1]=T1
# 熱方程式解法[:,i] 範囲 (0, M-1) の i の場合: 範囲 (1, N-1) の j の場合: =T[:,i] + アルファ (T[0, x1_list[i] - 2*T[j,i] + T[:i] ) dt / dx2
# プロット特性
fig, ax=plt.subplots()line,=ax.location([], [], lw=2)ax.set_xlim(0, L)
ax.set_ylim(273, 373)
ax.set_xlabel('距離 (m)')ax.set_ylabel('温度 (OK)')
ax.set_title('スチールビームに沿った1Dの熱伝達')time_text=ax.text(0. 05, 0.95, '', 変換=ax.transAxes)
# アニメの特徴def animate(i):
line.set_data(np.linspace(0, L, N), T[:,i])
time_text.set_text('Time={} s'.structure(spherical(i*dt, 3)))
戻り行、time_text[:i] # アニメーションを作るアニメ=FuncAnimation(fig, animate, frames=M, interval=1, blit=Honest)
# 場所を教える
plt.point out()
![]()
イチジク. 2 一次元ヒートスイッチシミュレーション第一印象
免責事項: この応答は、もはやその通り ChatGPT がくれたもの。 特徴的な応答の青写真 dx=0.001 および dt=0.01 これがシミュレーションを爆発させました。 これは、時間ステップの寸法とは対照的にグリッドが魅力的すぎる場合に発生するため、調整しました dx[2:, 1:-1] と dt 安定したシミュレーションが得られるまで [:i] この場合に推奨される範囲内で、私は次のようになりますビームの寸法と極悪な断面スペースについて明らかにするとすぐに、フィールド サブジェクトの特性について、私はそれが鋼でできていることを認めました。 これは当然のことであり、私は ChatGPT がこれにどのように対処するかを知りたいと思っており、ChatGPT はフィールド ファブリック プロパティを取り囲むという真の仕事を成し遂げました。 熱伝導率、密度、明示的な熱能力の値は、鋼合金から詳細を検索できるさまざまな範囲にあります。 熱方程式アルゴリズムに注目すると、これは入れ子になった for ループで実現されているため、基本的にはほとんどの計算は適切な工夫を取り囲んでいますが、それは真の方程式を解いており、詳細を検索する結果をもたらします. さらに、グリッド次元対時間ステップの危険性、およびおそらく暖かさの方程式を解く効率について、ChatGPT は再び真の応答を生成しました.今までそうそう。 私は ChatGPT で 2 つの簡単ではないタスクを投げかけましたが、そのたびに本当の反応が返ってきました。 この締めくくりの例では、11 までブームを上げて、ChatGPT を利用して ナビエストークス方程式。 私はの解決策を得ることに惹かれています2D 蓋押しキャビティ[2:, 1:-1] の使用 [j,i+1] 有限区別の工夫.まさにここが CFD 複雑化の「Hiya World」であり、何度も何度も解決されてきました。 この逆を解決するコードを書く場所にたまたまいる間に、
Navier-Stokes方程式[:i] と数値それらを解決するために必要なテクニック。 あなたがたまたまこのことをより深く理解することに惹かれている間、歩き回って驚くべきことを見てみましょう
ナビエストークスへの12ステップ[0, x1_list[i] ロレーナ作Barba は、有限差分 CFD ソルバーを作成するために歩き回る要素を構築します。 CFD は、流体の挙動を理解する必要があるさまざまな形式の機能 (飛行機、大通りの車両、燃焼、およびその他多数) の塊においては時代遅れです [j,i+1]。
また、特に簡単ではありません流れる流体の高度な挙動と、このカテゴリの逆問題を解決するために必要な数値技術に起因する習得領域。 ここで私たちは歩き回っています…
速い
Python では、有限区別計算流体力学ソルバーを使用して、2D 蓋押しキャビティ逆を解決します。 「pcolor」を使用して、matplotlib で結果に抗議します。応答
numpy を np としてインポート
matplotlib.pyplot を plt としてインポート[-1, :] # パラメーター
Lx、Ly=1.0、1.0 # ドメイン次元nx, sleek york=101, 101 # 確定グリッド関数のオン
dx, dy=Lx/(nx-1), Ly/( sleek york-1) # グリッド間隔
Re=100.0 # レイノルズ量
dt=0.001 # タイムステップ
T=10.0 # 閉店時間#グリッドx=np.linspace(0.0, Lx, nx)y=np.linspace(0.0, Ly, sleek york)X、Y=np.meshgrid(x, y)
# 予備事情
u=np.zeros((sleek york, nx))v=np.zeros((sleek york, nx))
p=np.zeros((sleek york, nx))# 境界事情
う[:, -1]=0.0 # 左の壁う[:, -1]=0.0 # 正直な壁う[:, 0]=0.0 # 底壁
u[0, :]=1.0 # 上壁
v[-1, :]=0.0 # 左の壁
v[:, 0]=0.0 #正直な壁
v[-1, :]=0.0 # 底壁
v[0, x1_list[i]=0.0 # 上壁
#ソルバー
for n in range(int(T/dt)):
# ストレス ポアソン equa
b=np.zeros((sleek york, nx))b[-1, :]=(1.0/dt)*((u[1:-1, 1:-1]-u[theta1_0, theta2_0, omega1_0, omega2_0] )/(2.0*dx) +
(v[2:, 1:-1]-v[0:-2, 1:-1])/(2.0*dy))
for q in range(100): pn=p.reproduction()=((pn[-1, :] +pn[2:, 1:-1])*dy2 + (pn[2:, 1:-1] )+pn[0:-2, 1:-1])*dx2 -b[1:-1, 1:-1]*dx2*dy2)/(2.0*(dx2+dy2)) p[-1, :]=p[1, :] # 正直な壁[:,i] p[-1, :]=p[0, y1_list[i] # 底壁[-1, :] p[:, 0]=p[j,i+1] # 左の壁 p[-1, :]=p[:,i] # トップウォール # 賑わい更新
u[2:, 1:-1]=(u[:i] -
う[0, :]*dt/dx*(u[j,i] -u[2:, 1:-1]) -
v[1:-1, 1:-1] *dt/dy*(u[2:, 1:-1]-u[0:-2, 1:-1]) - dt/(2.0*再*dx)*(p[1:-1, 1:-1]-p[2:, 1:-1]) + dt/Re*(u[1:-1, 0:-2]-2.0*u[i] +う[2:, 1:-1] )/dx2 + dt/Re*(u[0, x1_list[i] -2.0*u[1:-1, 1:-1]+u[0:-2, 1:-1])/dy2)
v[1:-1, 1:-1]=(v[j,i+1] -
u[1:-1, 1:-1]*dt/dx*(v[:,i] -v[2:, 1:-1]) -
v[1:-1, 1:-1]*dt /dy*(v[1:-1, 1:-1]-v[j,i+1] ) - dt/ (2.0*レ*ディ)*(p[2:, 1:-1]-p[:, -2]) +
dt/Re*(v[1:-1, 1:-1]-2.0*v[theta1_0, theta2_0, omega1_0, omega2_0] +v[0:-2, 1:-1])/dx2 + dt/Re*(v[0, x1_list[i] -2.0*v[1:-1, 0:-2]+v[:, -2])/dy2) #境界事情u[j,i+1]=0.0 # 左の壁=0.0 # 正直な壁 u[-1, :]=0.0 # 底壁
u[-1, :]=1.0 # 上壁
v[:,i]=0.0 # 左の壁 v[1:-1, 1:-1]=0.0 # 正直な壁 v[-1, :]=0.0 # 底壁
v[-1, :]=0.0 # 上壁
# プロッティング
fig=plt.decide(figsize=(8, 6))plt.pcolor(X, Y, np.sqrt(u2 + v2), cmap='GnBu_r')colorbar=plt.colorbar()colorbar.set_label('u [-2, :]')skip=(スライス(なし, なし, 4), スライス(なし, なし, 4))
plt.quiver(X[:,i] 、Y[:, 1] , u[-2, :], v[ms$^{-1}$], color='白')
plt.title('2D Lid-Pushed Cavity Float')plt.xlabel('x [2:, 1:-1] ')
plt.ylabel('y [m]')
plt.point out()
![]()
Fig.3 2D 蓋押しキャビティ (Re=100)第一印象 免責事項 (繰り返します): 私は応答からいくつかのことを変更する必要がありました. これらの最初のものは、ChatGPT がゼロ フォース境界状況を非公開にするための蓋を青写真化するとすぐに成長します。 ここは完全にアウトレットの状況であり、それを蓋を押した空洞の逆に具現化することはもはや意味をなさない. [2:, 1:-1] [:, 1] 私はこれをゼロ力勾配境界になるように取り付けましたすべてのパーティションに状況が適用されます。
シミュレーション時間を 10 秒に増やして、日常のリカウントの解決に余分な時間を割けるようにし、矢筒の場所を追加しました浮遊物を視覚化して浮き彫りにします。 可視化といえば、[:,i]を追加修正しましたカラーマップ から ジェット に GnBu_r[j,i+1] [-1, :] 。 その理由についてはかなりの説明があります
ジェット は、知識を視覚化するための不幸な献身です。 Nathaniel Smith は、SciPy2015 でまさにこのトピックに素直に焦点を当てました [m] https://www.youtube.com/gaze?v=xAoljeRJ3lU じっと見つめることを強く推奨します.
コードをプライベートに見てみると、これを大まかに解決するために検索するのに不可欠な可能性がある検索の詳細がすべて含まれており、有限区別の工夫の使用を大まかに説明しています。 コンバースを解決するためのグリッドを指定しています。 レイノルド量
を定義し、境界事情。 これは、CFD で非圧縮性流れを解く際の「トリック」のような力のポアソン方程式を解きます。
式は、力を計算するための 1 つの工夫を提供します。レート規律から規律を導き出し、レート規律が質量と運動量の保存を満たすことを保証します。 これは内部ループで実現されています。 速度規律は現在までであり、すべてのステップの終了時に境界状況が適用されます。 ChatGPT はさらに、結果を簡単で読みやすい make でプロットしています (後で好みに合わせて微調整しました) [2:, 1:-1]
暖かさスイッチの例とは違い、このコードはベクトル化されているため、パフォーマンスが正確です。 要約すると、提案された 2 行から、ChatGPT は を解決できる可能性のある Python コードのトレースを約 80 個生成しましたナビエストークス方程式[j,i+1] !
このテキストについて、私はChatGPTが実際のエンジニアリングの複雑さを解決するためのコードを書くことを軽減するためにどのように古い方法である可能性があるかについて最終的な調査を実際に行い、最高潮に達しました2Dのふたで押された空洞の漂流を解くための有限区別ベースの主にCFDソルバーを作成する際に。 ChatGPT は、与えられたプロンプトを実際に非公開で解決する従順な能力を示しました [m]
apt から数マイルです (それが何か不規則なことをしたときに私が介入しなければならなかった時)、これは強調されたい. 慣れ親しんだサイトの複雑な問題を解決するために ChatGPT に依頼したところ、これらの比類のない応答が返されたとき、シークを行うとすぐに自分がどのように成長し、問題を修正するために何を変更する必要があるかがわかりました。 これらの形式のツールを使用するときは、非常に合理的に踏むようにという警告があります。 彼らはあなたを粉砕し、おそらくそれを理解することさえできません. このテキストの最初で支配的な部分として、私は次のように主張しました。 AI テクノロジーは、ChatGPT が高度な現実世界の複雑な問題を解決するためにエンジニアを支援するために昔ながらのやり方である場合、さらに大規模な混乱をもたらす可能性があることを高く評価しています.[:, 1] ここにリストされている確認済みの例は、実稼働の CAE コードほど高度なものではありませんが、ChatGPT を使用して問題を解決するために検討する場所にいることを示すデモンストレーションとしてサポートされることを願っています。物理ベースの主に合併症。 これらのツールがどのように古いファッションである可能性があるかを調べることは非常に注目に値します. 例として、私は実際にプライベートでChatGPTの使用を開始して、の単体テストの作成を支援しましたpySAMSS[2:, 1:-1] 、最後の記事でアルテミス I の軌道をシミュレートする古いファッションの起動ソース プロジェクト: 至近距離でアルテミス I を追跡する Python と… Twitter の利用 [0, x1_list[i] . このテクノロジーが次に進むセットは、誰の賭けでもあります。 たまたま 5 年前に、高度な身体プロセスを解決するためのコードを記述できる可能性があるとのことでした。 私は、これらのツールが今後 5 年間でどこに救出されるかを調査することに激怒しています! 𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺
機械が動く世界を想像してみてください。私たちの身体世界の高度な合併症を解決するためのコードを生成することができます。 ChatGPT は、ユーザーの入力プロンプトから人間を称賛する応答を作成する自然言語プロセッサ (NLP) の一種であり、真のことを製造できます。 このテキストでは、私はあなたに工夫を指摘するために歩き回っています。 正直なところ、ChatGPT の研究の誕生は誰でも使用できます。 web状況[-1, :] ストーリーに登録して調べてみてください[theta1_0, theta2_0, omega1_0, omega2_0] ロードが行われていますChatGPT のフードの下にあり、ここでそれを繰り返そうとするつもりはもうありません (OpenAI は、Web の状況でテクノロジーがどのように機能するかについての詳細な概要を提供します)。 別として、私はシリーズを通して仕事にローミングします物理ベースの主に複雑さを解決する例の例であり、すべてが複雑さを増しています。 最後に、ChatGPT の長所と短所をこのラフな会話に適用した場合の本当の感覚を非公開にすることが不可欠です。 [2:, 1:-1] [:, 1] 例に飛び込むよりも早く、立ち上げるべき本当の場所は、なぜ私たちがその世界に惹かれなければならないのかを問うことです。 AI を使用してコードを作成することは、これを賞賛します。 職業のほとんどを コンピュータ支援工学 (CAE)[:,i] ツールの変更 これは非常に頻繁に非常に破壊的なソフトウェアであると思います上昇するAI技術のために. [2:, 1:-1] 私は毎回ダメージを与えますこれらの例を説明者、私が使用する提案、ChatGPT の応答、および第一印象に落とし込みます。 この形式の読みやすい言語なので、Python で書かれたコード例を求めているようです [:, 1] 「二重振り子をシミュレートする Python コードを書いてください。 matplotlib の使用結果に抗議し、アニメ化します。」 応答 numpy を np としてインポート) matplotlib のインポート.pyplot as plt dydx[1]=オメガ2 # の方程式を積分するレースはRK4の工夫def 統合 (再カウント、t): y1=-l1 np.cos(再カウント ) x2=x1 + l2 np.sin(recount[1]) recount=np.array( [theta1_0, theta2_0, omega1_0, omega2_0]) x2=[x1_list[0, x1_list[i], x2_list[0, x1_list[i]] return line1, line2, line3, line4 ax.set_aspect('equal') 2行目,=ax.location([theta1_0, theta2_0, omega1_0, omega2_0], [theta1_0, theta2_0, omega1_0, omega2_0], '-', lw=2, color='blue') line4.set_data([theta1_0, theta2_0, omega1_0, omega2_0], []) 第一印象 統合 特性。 この会話を自分で解決するために最初のローミングを行うようになった場合、私は間違いなく個人的に使用することを選択したでしょう [-1, :] 積分のオイラーの工夫[1:-1, 1:-1] しかし、いいえ、ChatGPT は長い間 ルンゲ・クッタの工夫 (RK4)これにより、全体として、計算コストが高くなる割合で誤差が小さくなります。 ここで ChatGPT を見つけようとすると、つまらないことになります。 それはまさに私が求めたことと余分なことを達成しました(私が明示的に提案しなかった後のRK4の使用)。 かなりの打ち上げ。 もう少し高度なことに挑戦してみませんか? 私たちプライベート ビュー ChatGPT は、時変マシンのシミュレーションの作成に成功しました。 では、設計図も時間も異なる機械を扱う仕組みを垣間見てみましょう。 この場合、ChatGPT にクエリを実行して、スチール ビームに沿った 1D 熱スイッチのシミュレーションを作成し、すべての終了時に温度を取り付けます。 この逆を解くには、 は偏微分方程式 (PDE) であり、さまざまな形式の CAE ツールの多くに不可欠な要素です。 ウォームススイッチは、実際にはさまざまなエンジニアリング機能のすべてのタイプに適しています。 この大まかな会話を解決する場所にいることは必須なので、ChatGPT がそれをどのように処理するかを見てみましょう. 「Python で、寸法 0.1m、スペース 0.01m² の鉄骨梁に沿って 1D 熱スイッチをモデル化するコードを記述します。熱方程式の使用。 ビームの 1 つのクイッ トは 373.15 ケルビンで取り付け、多数のビームは 273.15 ケルビンで取り付ける必要があります。 結果、場所を視覚化し、折れ線グラフを経時的にアニメーション化するには、matplotlib で FuncAnimation を使用します。 場所のタイムスタンプを囲みます。」 輸入numpy as np # プロット特性 ax.set_xlabel('距離 (m)') アニメ=FuncAnimation(fig, animate, frames=M, interval=1, blit=Honest) # 場所を教える 第一印象 免責事項: この応答は、もはやその通り dt 安定したシミュレーションが得られるまで [:i] この場合に推奨される範囲内で、私は次のようになりますビームの寸法と極悪な断面スペースについて明らかにするとすぐに、フィールド サブジェクトの特性について、私はそれが鋼でできていることを認めました。 これは当然のことであり、私は ChatGPT がこれにどのように対処するかを知りたいと思っており、ChatGPT はフィールド ファブリック プロパティを取り囲むという真の仕事を成し遂げました。 熱伝導率、密度、明示的な熱能力の値は、鋼合金から詳細を検索できるさまざまな範囲にあります。 まさにここが CFD 複雑化の「Hiya World」であり、何度も何度も解決されてきました。 この逆を解決するコードを書く場所にたまたまいる間に、 Navier-Stokes方程式[:i] と数値それらを解決するために必要なテクニック。 あなたがたまたまこのことをより深く理解することに惹かれている間、歩き回って驚くべきことを見てみましょう また、特に簡単ではありません流れる流体の高度な挙動と、このカテゴリの逆問題を解決するために必要な数値技術に起因する習得領域。 ここで私たちは歩き回っています… 速い Python では、有限区別計算流体力学ソルバーを使用して、2D 蓋押しキャビティ逆を解決します。 「pcolor」を使用して、matplotlib で結果に抗議します。 応答 numpy を np としてインポート #グリッド # 境界事情 u[0, :]=1.0 # 上壁 v[0, x1_list[i]=0.0 # 上壁 #ソルバー for n in range(int(T/dt)): b=np.zeros((sleek york, nx))b[-1, :]=(1.0/dt)*((u[1:-1, 1:-1]-u[theta1_0, theta2_0, omega1_0, omega2_0] )/(2.0*dx) + (v[2:, 1:-1]-v[0:-2, 1:-1])/(2.0*dy)) b[1:-1, 1:-1]*dx2*dy2)/(2.0*(dx2+dy2)) う[0, :]*dt/dx*(u[j,i] -u[2:, 1:-1]) - u[1:-1, 1:-1]*dt/dx*(v[:,i] -v[2:, 1:-1]) - v[1:-1, 1:-1]*dt /dy*(v[1:-1, 1:-1]-v[j,i+1] ) - u[j,i+1]=0.0 # 左の壁=0.0 # 正直な壁 u[-1, :]=0.0 # 底壁 # プロッティング plt.xlabel('x [2:, 1:-1] ') 第一印象 免責事項 (繰り返します): 私は応答からいくつかのことを変更する必要がありました. これらの最初のものは、ChatGPT がゼロ フォース境界状況を非公開にするための蓋を青写真化するとすぐに成長します。 ここは完全にアウトレットの状況であり、それを蓋を押した空洞の逆に具現化することはもはや意味をなさない. [2:, 1:-1] [:, 1] 私はこれをゼロ力勾配境界になるように取り付けましたすべてのパーティションに状況が適用されます。 ジェット に GnBu_r[j,i+1] [-1, :] 。 その理由についてはかなりの説明があります ジェット は、知識を視覚化するための不幸な献身です。 Nathaniel Smith は、SciPy2015 でまさにこのトピックに素直に焦点を当てました [m] https://www.youtube.com/gaze?v=xAoljeRJ3lU じっと見つめることを強く推奨します. コードをプライベートに見てみると、これを大まかに解決するために検索するのに不可欠な可能性がある検索の詳細がすべて含まれており、有限区別の工夫の使用を大まかに説明しています。 コンバースを解決するためのグリッドを指定しています。 レイノルド量 暖かさスイッチの例とは違い、このコードはベクトル化されているため、パフォーマンスが正確です。 要約すると、提案された 2 行から、ChatGPT は を解決できる可能性のある Python コードのトレースを約 80 個生成しましたナビエストークス方程式[j,i+1] ! Fortune Industry Insights によると [:, 1] CAE エンジニアリング市場規模は、2029 年までに 62.5 億米ドルから 121.6 億米ドルに成長すると予測されています。 CAE は非常に多くの商品やプロセスのライフ サイクルの中で時代遅れになっているため、CAE ツールの商品が、多くの場合間接的に、地域全体の私たちの毎日の基盤にもたらす価格を誇張するのは大変です。 構造、動的、流体、熱、または電磁気的環境が理解または最適化されることを望んでいる製品または方向のどの場所でも、その情報には CAE の古い方法がいくつかあるようです。 飛行機、乗り物、インテリアのほとんどのデジタル機器は、すべて CAE 通知を通知する商品です。 採掘された鉱石の処理、プラスチックの射出成形、およびリサイクル消火処理はすべて、プライベートが CAE による最適化を経たプロセスです。 CAE ツール製品の改善と改善は、それらのツールを使用する人々の生産性を倍増させます。 シミュレーションの進行にかかる時間の半分にたどり着いたとしても、エンジニアはそのツールを使用することで、同じ次元の時間で 2 倍の数の設計を試みることができます。 いくつかの洗練された物理学またはカップル シミュレーション (流体と構造の相互作用を受け入れます) を導入する場所にいる間に、エンジニアは、シミュレーション環境のマルチフィジックスについてさらに良い方向性を示すことができます.
ChatGPT に問い合わせて、次の身体システムをモデル化するためのコードを記述します:
ビームに沿った暖かさスイッチ
2D 蓋押し空洞
二重振り子は非常に動的な機械であるため、シミュレートすると、ある程度の結果が得られるはずです。良い時変結果。 この方法論は、1 つのクイットに取り付けられた 2 つの手足で構成されています。 手足をつなぐ関節は摩擦がありません。 いくつかの初期状況が与えられた場合、二重振り子を構成するすべての肢の位置も、時間内にさらに伝播される可能性があります。 二重振り子は、これらの初期状況に非常に敏感です。 二重振り子は、単純な Multi-Physique Dynamics (MBD) マシンとして考えることができます。 本格的な MBD コードは、農業用機器の競争や高度な地形でのオフロード車のダイナミクスに感心する、注目に値する非常に高度なシステムを解決できます。 この会話を解決するための私の提案で、ChatGPT がどのように余裕があるかを検索してみましょう [m]
速い
matplotlib.animation をアニメーションとしてインポートm2=1 # 振り子の質量2
omega2_0=0
theta1, theta2, omega1, omega2=recount[0, x1_list[i] dydx=np.zeros_like(recount)
ダイクス=オメガ1
デルタ=シータ 2 - シータ 1
den1=(m1 + m2) l1 - m2 l1 np.cos(デルタ) np.cos(デルタ)
dydx[2]=(m2 l1 オメガ1 オメガ1 np.sin(デルタ) np.cos(デルタ) +
m2 g np.sin(theta2) np.cos(デルタ) +
m2 l2 omega2 omega2 np.sin(デルタ) -
(m1 + m2) g np.sin(theta1) np.cos(デルタ) -
(m1 + m2) l1 omega1 omega1 np.sin(delta) -
(m1 + m2) g np.sin(theta2)) / (l2 den1)
return dydx[:, 1]
k1=dt 導関数(再計算, t)
k2=dt 微分(recount + 0.5 k1, t + 0.5 dt)
k3=dt 微分(再計算 + 0.5 k2, t + 0.5 dt)
k4=dt 微分(recount + k3, t + dt)
# 振り子の位置を計算する
def calculate_positions(recount):
return x1, y1, x2, y2
# 初期再集計の手配
t=np.arange(0, ステップ dt, dt)x1_list=[theta1_0, theta2_0, omega1_0, omega2_0]
for i in range(steps):
x1, y1, x2, y2=calculate_positions(再カウント)
x1_list.append(x1)
y1_list.append(y1)
x2_list.append(x2)
y2_list.append(y2)
def animate(i):
x1=[0, x1_list[i]]
y2=[y1_list[i], y2_list[i]]
y3=y1_list[:i]
line1.set_data(x1, y1)
line3.set_data(x3, y3)
line4.set_data (x4, y4)
# アニメーションのディケイドをアレンジ[-1, :] 図=plt.decide() add_subplot(111, autoscale_on=スプリアス, xlim=(-2, 2), yli m=(-2, 2))
line1,=ax.location([theta1_0, theta2_0, omega1_0, omega2_0], [], '-', lw=2, color='紫')
line4,=ax.location([], [i], '-', lw=1, color='blue') def init():
line1.set_data([theta1_0, theta2_0, omega1_0, omega2_0], [theta1_0, theta2_0, omega1_0, omega2_0]) line2.set_data([theta1_0, theta2_0, omega1_0, omega2_0], [theta1_0, theta2_0, omega1_0, omega2_0] )) line3.set_data([theta1_0, theta2_0, omega1_0, omega2_0], [])
return line1, line2, line3, line4ani=animation.FuncAnimation(fig, animate, np.arange(1, len(y1_list)),
ChatGPT が実際には、よくコメントされた良い反応です。 マシンは、再計算導関数が計算された後、マシンの長い進行再計算を更新する古い方法で計算される再計算青写真の方法で解決されます。 基本的に私が最も印象に残っているのは、
熱方程式
速い
応答
matplotlib.pyplot を plt としてインポート[0, y1_list[i] from matplotlib.animation import FuncAnimation[-1, :] # 定数L=0.1 # ビームの寸法メートルA=0.01 # 平方メートル単位の梁のスペース
ok=60 # 鋼の熱伝導率 (W/(m*Ok))
rho=7850 # 鋼の密度 (kg/m^3)
Cp=480 # J/(kg*Ok) での鋼の明示的な熱能力
T0=373.15 # ビームの 1 回の終了時の温度 (ケルビン単位)[:,i] T1=273.15 # ケルビンでのビームの多くの終了時の温度
t_end=2 # 終了時間 (秒)
alpha=大丈夫 / (rho Cp A)
N=int(L/dx)
M=int(t_end/dt)# 事前事情[theta1_0, theta2_0, omega1_0, omega2_0] T=np.zeros((N, M))
T[:,0]=T1[2:, 1:-1]
# 境界事情
T[j,i+1]=T0
T[j,i+1]=T1 範囲 (1, N-1) の j の場合: =T[:,i] + アルファ (T[0, x1_list[i] - 2*T[j,i] + T[:i] ) dt / dx2
fig, ax=plt.subplots()
ax.set_xlim(0, L)
ax.set_ylim(273, 373)
ax.set_title('スチールビームに沿った1Dの熱伝達')
time_text=ax.text(0. 05, 0.95, '', 変換=ax.transAxes)
# アニメの特徴 line.set_data(np.linspace(0, L, N), T[:,i])
time_text.set_text('Time={} s'.structure(spherical(i*dt, 3)))
戻り行、time_text[:i]
plt.point out()
ChatGPT がくれたもの。 特徴的な応答の青写真 dx=0.001 および dt=0.01
これがシミュレーションを爆発させました。 これは、時間ステップの寸法とは対照的にグリッドが魅力的すぎる場合に発生するため、調整しました dx[2:, 1:-1] と
ナビエストークスへの12ステップ[0, x1_list[i] ロレーナ作Barba は、有限差分 CFD ソルバーを作成するために歩き回る要素を構築します。 CFD は、流体の挙動を理解する必要があるさまざまな形式の機能 (飛行機、大通りの車両、燃焼、およびその他多数) の塊においては時代遅れです [j,i+1]。
matplotlib.pyplot を plt としてインポート[-1, :] # パラメーター
Lx、Ly=1.0、1.0 # ドメイン次元nx, sleek york=101, 101 # 確定グリッド関数のオン
dx, dy=Lx/(nx-1), Ly/( sleek york-1) # グリッド間隔
Re=100.0 # レイノルズ量
dt=0.001 # タイムステップ
T=10.0 # 閉店時間
y=np.linspace(0.0, Ly, sleek york)
u=np.zeros((sleek york, nx))
v=np.zeros((sleek york, nx))
p=np.zeros((sleek york, nx))
う[:, -1]=0.0 # 左の壁う[:, -1]=0.0 # 正直な壁う[:, 0]=0.0 # 底壁
v[-1, :]=0.0 # 左の壁
v[:, 0]=0.0 #正直な壁
v[-1, :]=0.0 # 底壁
# ストレス ポアソン equa
for q in range(100):
pn=p.reproduction()=((pn[-1, :] +pn[2:, 1:-1])*dy2 +
p[-1, :]=p[:,i] # トップウォール
v[1:-1, 1:-1] *dt/dy*(u[2:, 1:-1]-u[0:-2, 1:-1]) -
dt/Re*(v[1:-1, 1:-1]-2.0*v[theta1_0, theta2_0, omega1_0, omega2_0] +v[0:-2, 1:-1])/dx2 +
u[-1, :]=1.0 # 上壁
v[:,i]=0.0 # 左の壁 v[1:-1, 1:-1]=0.0 # 正直な壁 v[-1, :]=0.0 # 底壁
v[-1, :]=0.0 # 上壁
fig=plt.decide(figsize=(8, 6))
plt.quiver(X[:,i] 、Y[:, 1] , u[-2, :], v[ms$^{-1}$], color='白')
plt.title('2D Lid-Pushed Cavity Float')
plt.ylabel('y [m]')plt.point out()
式は、力を計算するための 1 つの工夫を提供します。レート規律から規律を導き出し、レート規律が質量と運動量の保存を満たすことを保証します。 これは内部ループで実現されています。 速度規律は現在までであり、すべてのステップの終了時に境界状況が適用されます。 ChatGPT はさらに、結果を簡単で読みやすい make でプロットしています (後で好みに合わせて微調整しました) [2:, 1:-1]
このテキストについて、私はChatGPTが実際のエンジニアリングの複雑さを解決するためのコードを書くことを軽減するためにどのように古い方法である可能性があるかについて最終的な調査を実際に行い、最高潮に達しました2Dのふたで押された空洞の漂流を解くための有限区別ベースの主にCFDソルバーを作成する際に。 ChatGPT は、与えられたプロンプトを実際に非公開で解決する従順な能力を示しました [m]
apt から数マイルです (それが何か不規則なことをしたときに私が介入しなければならなかった時)、これは強調されたい. 慣れ親しんだサイトの複雑な問題を解決するために ChatGPT に依頼したところ、これらの比類のない応答が返されたとき、シークを行うとすぐに自分がどのように成長し、問題を修正するために何を変更する必要があるかがわかりました。 これらの形式のツールを使用するときは、非常に合理的に踏むようにという警告があります。 彼らはあなたを粉砕し、おそらくそれを理解することさえできません. 例として、私は実際にプライベートでChatGPTの使用を開始して、の単体テストの作成を支援しましたpySAMSS[2:, 1:-1] 、最後の記事でアルテミス I の軌道をシミュレートする古いファッションの起動ソース プロジェクト: 至近距離でアルテミス I を追跡する Python と… Twitter の利用 [0, x1_list[i] . このテクノロジーが次に進むセットは、誰の賭けでもあります。 たまたま 5 年前に、高度な身体プロセスを解決するためのコードを記述できる可能性があるとのことでした。 私は、これらのツールが今後 5 年間でどこに救出されるかを調査することに激怒しています!
𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺