ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
壁・操作・過程・第一法則・示量/示強を、粒子の運動(ミクロ)と状態量(マクロ)を対応させながら操作できる熱力学の教育用シミュレーション。
Translation pending
EducationHTML · JavaScriptGitHub @env-colloid-eng-labOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Lecture materials for thermodynamics in agro-biological resource sciences
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗熱力学の講義(物理学:熱力学パート)で扱う 設定・壁・操作・過程・第一法則・示量/示強・熱容量・エントロピー・熱機関・浸透圧・自由エネルギー・沈降平衡・平衡条件・エントロピー弾性・平衡と定常状態・膜電位・結合の平衡・平衡と到達時間 と、その応用(大気の安定性・放射収支と温室効果・相平衡と水蒸気・放射対流平衡) を、 容器の中の粒子の運動(ミクロ)と状態量 T, P, V, U, W, Q(マクロ)を対応させながら ブラウザ上で操作できるシミュレーション集です。
インストール不要・ビルド不要の静的サイト(HTML + JavaScript)なので、 GitHub Pages でそのまま公開できます。
| # | ページ | 内容 | 講義との対応 |
|---|---|---|---|
| 01 | sims/01-operations.html | 断熱壁/透熱壁、操作1(ピストン)・操作2(撹拌)・操作3(熱源)で粒子の運動と T, P, U がどう変わるか。速さの分布とマクスウェル分布 | 設定・平衡状態・操作 |
| 02 | sims/02-equilibrium.html | 温度の違う二つの流体を透熱壁で接触 → 平衡へ緩和。全体のエントロピー S(U₁) = S₁ + S₂ の曲線を点がのぼり、頂上(1/T₁ = 1/T₂)で止まる。仕切りを取り除くと混合 | 平衡状態への遷移・部分系/複合系・エントロピー最大と温度 |
| 03 | sims/03-processes.html | ピストンを準静的/速く往復、自由膨張。P–V 図で「ピストンが受けた圧力」と状態方程式を比較。温位 θ = T(P₀/P)1/2 は準静的な断熱変化で一定 | 過程・準静的過程・可逆性・不可逆な断熱過程・温位 |
| 04 | sims/04-isothermal.html | 等温圧縮で W をしても ΔU ≈ 0、エネルギーは熱として環境へ。エネルギーの流れ図 | 第一法則・仕事と熱・熱の本性 |
| 05 | sims/05-extensive.html | 系を壁で分割/同じ系をくっつける。N, V, U は相加的・示量的、T, P は示強的 | 状態変数・相加性・示量性・示強性 |
| 06 | sims/06-heat-capacity.html | 熱源に触れさせて Q と ΔT を測り C = Q/ΔT。定積(ピストン固定)と定圧(おもりを載せたピストン)で CV = Nk, CP = 2Nk | 熱容量・マイヤーの関係・自由度 |
| 07 | sims/07-entropy.html | 自由膨張・混合・熱の移動の不可逆性。場合の数から S = k ln W、速度の反転(時間の逆回し)、同じ気体の「混合」 | エントロピー・第二法則・ボルツマンの式 |
| 08 | sims/08-heat-engines.html | カルノー/スターリングサイクルを自動で回し、P–V 図・熱の流れ・各過程の収支から効率 η と成績係数 COP を測る。逆回しでヒートポンプ、再生器の有無。T–S 図と、1サイクルでの熱源のエントロピー変化 −Qh/Th − Qc/Tc ≥ 0 | 熱機関・カルノーの定理・ヒートポンプ・クラウジウスの不等式 |
| 09 | sims/09-osmosis.html | 溶媒だけを通す半透膜で純粋な溶媒と溶液を仕切る。溶媒が溶液側へ移り圧力差 Π が生まれる(浸透)。Π をファントホッフの式 nkT/V と比べ、ピストンで押して逆浸透 | 浸透圧・ファントホッフの式・化学ポテンシャル |
| 10 | sims/10-max-work.html | 同じ始状態・終状態(体積2倍)を、可逆な等温膨張と自由膨張で結んで並べる。Q, W は経路で違い、気体の ΔS は同じ。全体の ΔS、取り出した仕事 Wout と失われた仕事 TΔS全体、上限 −ΔF | 状態量と経路・エントロピー生成・最大仕事の原理 |
| 11 | sims/11-sedimentation.html | 高さでエネルギーが違う二領域(段差)に粒子を分ける。熱源に接触なら自由エネルギー F(x) 最小、孤立系なら全体の S(x) 最大で x/(1−x) = e−ΔE/kT。層を細かくすると沈降平衡 c(z) ∝ e−z/ℓ。配置・速さ・熱源のエントロピーの収支。「二状態」では広さの違う二領域で Δg = ΔE − TΔs、x = 1/2 になる温度 Tm | 自由エネルギー・ボルツマン分布・沈降平衡・重力長・二状態モデル |
| 12 | sims/12-partitions.html | 孤立した二室の仕切りを透熱・固定/透熱・可動/粒子を通す(/断熱・可動)に替え、dS の3つの係数 1/T、P/T、μ/T の差のうち、許されたものだけが 0 になることを見る | 熱平衡・力学的平衡・化学平衡・拘束 |
| 13 | sims/13-chain.html | 2次元の理想鎖をたくさんつくり、末端の位置の分布 P(x) から配置のエントロピー、F(x) = kTx²/2σ²、力 f = kTx/σ² を求める | エントロピー弾性・ゴム・高分子 |
| 18 | sims/18-steady-state.html | 下を熱い熱源、上を冷たい熱源にはさんだ気体。温度の高さ分布は変わらなくなるが熱は流れ続け(Q̇h = −Q̇c)、熱源のエントロピーは σ = Q̇(1/Tc − 1/Th) の速さで増え続ける。同じ温度なら平衡、熱源を外すと平衡へ戻る | 非平衡定常状態・熱伝導・エントロピー生成・平衡との違い(8.7・4.10 節) |
| 19 | sims/19-membrane.html | 膜で仕切った細胞の内外に K⁺・Cl⁻・膜を通らない A⁻。膜電位 Δψ を与えると、通れるイオンは cin/cout = e−zeΔψ/kT(ネルンストの式)に分かれる。電気化学ポテンシャルの差 μ̃in − μ̃out の符号と正味の移動の向き、K⁺ のネルンスト電位 | 電気化学ポテンシャル・ネルンストの式・膜電位(4.9 節) |
| 20 | sims/20-binding.html | 動かない受容体(1つに1個まで)とリガンド。結合した割合 f = c/(Kd + c)(c は自由なリガンドの濃度)、Kd = e−ε/kT/πa²、飽和、温度で外れる。結合曲線に記録を重ね、全量の保存から求めた値と比べる | 結合平衡・解離定数・化学平衡(4.8 節) |
| 21 | sims/21-transport.html | 水の中のコロイド粒子(ブラウン運動の模型)。粘度 η と kη の容器を並べ、行き先(沈降平衡)は同じで着く速さだけが k 倍違うことを見る。式 (4.8) の解(教科書の付属プログラムと同じ解き方)、自由エネルギーの減少、拡散と重力の流れのつり合い、D ≠ bkT だと行き先がずれること。例題4の粒子で実際の時間に換算 | 拡散・移動度・アインシュタインの関係・到達時間(4.5 節) |
応用:マクロなモデル(粒子ではなく収支の式を解く。実際の空気・水の値、3次元・SI 単位)
| # | ページ | 内容 | 講義との対応 |
|---|---|---|---|
| 14 | sims/14-stability.html | 空気塊を乾燥断熱線に沿って持ち上げ、周囲の気温減率との比べ方で振動(安定)か上昇し続ける(不安定)かを見る。温位の高さ分布、等温大気と乾燥断熱大気の圧力 | 乾燥断熱減率・温位・静水圧平衡・対流安定性(第5章) |
| 15 | sims/15-greenhouse.html | 1層大気モデルの放射の図と、CA dTs/dt = Jabs − Jout の時間発展。CO₂ の強制力 5.35 ln(C/C₀) とフィードバックの線形応答 | 放射収支・温室効果・温度応答(第6・7章) |
| 16 | sims/16-phase.html | 水面から飛び出す・飛び込む分子の確率モデルと、es(T) の曲線・化学ポテンシャルの比較。蒸発か凝結かを Δμ = RT ln(e/es) の符号で判定 | 相平衡・クラウジウス=クラペイロン・相対湿度(第7章) |
| 17 | sims/17-rce.html | 20 層の灰色大気の放射と、エネルギーを保存する対流調整で気温の高さ分布を求める。放射だけの場合と比較し、加熱率のつり合いを見る | 放射対流平衡・眞鍋モデルの考え方(第8章) |
英語版は en/(en/index.html, en/sims/01〜21-*.html)にあり、各ページ右上の「English」「日本語」で行き来できます。ページの動き(JavaScript)は日英で1つのファイル assets/js/pages/01〜21-*.js を共有し、その中の表示(グラフの軸・状態の説明など)は tr('日本語', 'English')(assets/js/i18n.js)がページの lang を見て切り替えます。日英の HTML に書くのは本文(説明・問い・操作パネルの文字)だけです。
各ページに「やってみよう」と「問い」があり、授業中の投影(右上の 投影モード で文字拡大、スペースキーで再生/停止)にも、学生の自習・レポートにも使えます。
<organization>/thermo-sim)の main ブランチ直下に置くmain / /(root) にして Savehttps://<organization>.github.io/thermo-sim/ で公開されるWeb 画面だけでアップロードする場合:新しいリポジトリを作成 → 「uploading an existing file」→ このフォルダの中身(
index.html,assets/,sims/など)をまとめてドラッグ&ドロップ → Commit。.nojekyllと.github/は隠しファイルなので、Finder 等で表示されない場合はなくても公開には支障ありません。
ES Modules を使っているので、index.html をダブルクリックではなく簡易サーバ経由で開いてください。
python3 -m http.server 8000
# → http://localhost:8000/ をブラウザで開く
U = NkT、PV = NkT(V は面積、P は単位長さあたりの力)、γ = 2。表示される値は2次元の結果で、3次元の気体(単原子なら自由度 3)とは違う(03・06・08 では結果の近くに注記)gas.Tside)v' = 2u − v(人が決めた速さで動かす)Tbath の環境と熱をやりとりする点として働くので、壁も同じ温度の熱源につないで使う剛体円板には大きさがあるため、強く圧縮すると圧力が理想気体より数%大きくなります(各ページの解説に記載)。
物理的なふるまい(エネルギー保存、状態方程式、マクスウェル分布、断熱線 TV = 一定、等温圧縮の仕事 NkT ln(V₀/V₁)、透熱壁による温度の一致、自由膨張で T 不変、段差のある容器での分布 x/(1−x) = e−ΔE/kT と層ごとのボルツマン分布 など)を Node.js で検証します。
npm test # = node tests/physics-test.mjs
GitHub に push すると .github/workflows/test.yml で自動実行されます(物理テストとブラウザテストの両方)。
ブラウザでの操作テスト(全ページの全ボタン・スライダーを操作し、JS エラー・NaN 表示・スマホ幅での横スクロールを検出。スクリーンショットを tests/screenshots/ に保存):
npm install && npx playwright install chromium # 初回のみ(テスト専用。公開ページは npm パッケージを使いません)
npm run test:browser
改良するときの約束(物理モデル・符号の約束・確認手順・ブランチ運用)は CONTRIBUTING.md にまとめてあります。人が作業するときも、Claude Code などの AI ツールで作業するときも共通です(CLAUDE.md・AGENTS.md はそこを参照しています)。
index.html 目次
sims/01〜21-*.html 各シミュレーション(14〜17 は応用:マクロなモデル)(en/ に英語版)
assets/js/pages/01〜21-*.js 各ページの動き(日英共通。表示する文字は tr() で書く)
assets/js/engine.js 分子動力学エンジン(DOM 非依存・Node でも動く)
assets/js/render.js 容器・壁・粒子の描画(スライドの図の約束に準拠)
assets/js/plot.js 時系列・P–V 図・ヒストグラム(外部ライブラリなし)
assets/js/ui.js スライダー等の UI ヘルパー
assets/js/i18n.js 日本語/英語の切り替え(tr())
assets/css/style.css 共通スタイル
assets/js/experiments.js 熱容量の測定手順(06)
assets/js/entropy.js 場合の数・エントロピーの計算(07)
assets/js/cycles.js 熱機関・ヒートポンプのサイクル(08)
assets/js/levels.js エネルギーの段差がある気体の理論:F(x)・S(x)・ボルツマン分布・二状態(11)
assets/js/chain.js 理想鎖のサンプリングと理論(13)
assets/js/transport.js 沈降と拡散の輸送:式 (4.8) の解・ブラウン運動・例題4の換算(21)
assets/js/climate.js 応用のマクロなモデル:静水圧・温位・1層/多層の灰色大気・対流調整・飽和水蒸気圧(14〜17)
tests/physics-test.mjs 物理テスト
tests/smoke-browser.mjs ブラウザ操作テスト(Playwright)
engine.js の Gas クラスで容器・壁・操作を組み立てられます。
import { Gas, ADIABATIC, DIATHERMAL } from '../engine.js'; // assets/js/pages/ に置いたページのスクリプトから
const gas = new Gas({ H: 60, X: 100, Xmin: 30, Xmax: 110 });
gas.addParticles(200, 1.0, { x0: 0, x1: 100, y0: 0, y1: 60 }); // N, T, 領域
gas.walls.left = DIATHERMAL; gas.bath.left = true; gas.Tbath = 2; // 左壁を熱源に接触
gas.piston.target = 50; gas.piston.speed = 0.05; // ピストンを動かす
gas.setVPartition(50, ADIABATIC); // 仕切り壁
gas.step(10); gas.measure();
console.log(gas.stats()); // { N, V, U, T, Pwall, Pkin, W, Q, dU, ... }
MIT License(教育目的での利用・改変・再配布を歓迎します)