delta-theory 8.0.0__py3-none-any.whl → 8.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- core/__main__.py +290 -0
- delta_theory-8.1.0.dist-info/METADATA +451 -0
- {delta_theory-8.0.0.dist-info → delta_theory-8.1.0.dist-info}/RECORD +7 -6
- delta_theory-8.0.0.dist-info/METADATA +0 -640
- {delta_theory-8.0.0.dist-info → delta_theory-8.1.0.dist-info}/WHEEL +0 -0
- {delta_theory-8.0.0.dist-info → delta_theory-8.1.0.dist-info}/entry_points.txt +0 -0
- {delta_theory-8.0.0.dist-info → delta_theory-8.1.0.dist-info}/licenses/LICENSE +0 -0
- {delta_theory-8.0.0.dist-info → delta_theory-8.1.0.dist-info}/top_level.txt +0 -0
|
@@ -1,640 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: delta-theory
|
|
3
|
-
Version: 8.0.0
|
|
4
|
-
Summary: Unified materials strength and fatigue prediction based on geometric first principles
|
|
5
|
-
Author: Tamaki
|
|
6
|
-
Author-email: Masamichi Iizumi <m.iizumi@miosync.email>
|
|
7
|
-
Maintainer-email: Masamichi Iizumi <m.iizumi@miosync.email>
|
|
8
|
-
License: MIT
|
|
9
|
-
Project-URL: Homepage, https://github.com/miosync/delta-theory
|
|
10
|
-
Project-URL: Documentation, https://github.com/miosync/delta-theory#readme
|
|
11
|
-
Project-URL: Repository, https://github.com/miosync/delta-theory.git
|
|
12
|
-
Project-URL: Issues, https://github.com/miosync/delta-theory/issues
|
|
13
|
-
Project-URL: Changelog, https://github.com/miosync/delta-theory/blob/main/CHANGELOG.md
|
|
14
|
-
Keywords: materials-science,fatigue,yield-strength,crystallography,delta-theory,physics,mechanical-engineering
|
|
15
|
-
Classifier: Development Status :: 4 - Beta
|
|
16
|
-
Classifier: Intended Audience :: Science/Research
|
|
17
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
-
Classifier: Operating System :: OS Independent
|
|
19
|
-
Classifier: Programming Language :: Python :: 3
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
-
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
25
|
-
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
26
|
-
Requires-Python: >=3.9
|
|
27
|
-
Description-Content-Type: text/markdown
|
|
28
|
-
License-File: LICENSE
|
|
29
|
-
Requires-Dist: numpy>=1.20.0
|
|
30
|
-
Provides-Extra: dev
|
|
31
|
-
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
32
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
33
|
-
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
34
|
-
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
35
|
-
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
36
|
-
Provides-Extra: analysis
|
|
37
|
-
Requires-Dist: scipy>=1.9.0; extra == "analysis"
|
|
38
|
-
Requires-Dist: pandas>=1.5.0; extra == "analysis"
|
|
39
|
-
Requires-Dist: matplotlib>=3.6.0; extra == "analysis"
|
|
40
|
-
Provides-Extra: validation
|
|
41
|
-
Requires-Dist: upstash-redis>=1.0.0; extra == "validation"
|
|
42
|
-
Provides-Extra: app
|
|
43
|
-
Requires-Dist: streamlit>=1.20.0; extra == "app"
|
|
44
|
-
Provides-Extra: all
|
|
45
|
-
Requires-Dist: delta-theory[analysis,app,dev,validation]; extra == "all"
|
|
46
|
-
Dynamic: license-file
|
|
47
|
-
|
|
48
|
-
# δ-Theory: Unified Materials Strength & Fatigue Framework
|
|
49
|
-
|
|
50
|
-
<div align="center">
|
|
51
|
-
|
|
52
|
-
**"Nature is Geometry"** — Predicting material properties from geometric first principles
|
|
53
|
-
|
|
54
|
-
[](https://github.com/miosync/delta-theory/actions/workflows/tests.yml)
|
|
55
|
-
[](LICENSE)
|
|
56
|
-
[](https://www.python.org/downloads/)
|
|
57
|
-
[](CHANGELOG.md)
|
|
58
|
-
[](https://codecov.io/gh/miosync/delta-theory)
|
|
59
|
-
|
|
60
|
-
</div>
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## 🎯 Overview
|
|
65
|
-
|
|
66
|
-
δ-Theory is a unified framework that predicts material properties from **crystal structure geometry**. Unlike traditional empirical fitting approaches, it derives material behavior from physical first principles.
|
|
67
|
-
|
|
68
|
-
### Core Equation
|
|
69
|
-
|
|
70
|
-
$$\Lambda = \frac{K}{|V|_{\text{eff}}}$$
|
|
71
|
-
|
|
72
|
-
- **K**: Destructive energy density (stress, thermal, electromagnetic, etc.)
|
|
73
|
-
- **|V|_eff**: Effective cohesive energy density (bond strength)
|
|
74
|
-
- **Λ = 1**: Critical condition (fracture / phase transition)
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## 📦 Repository Structure
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
delta-theory/
|
|
82
|
-
├── core/ # 🔧 Main modules
|
|
83
|
-
│ ├── unified_yield_fatigue_v6_9.py # ★ Unified yield + fatigue model
|
|
84
|
-
│ ├── dbt_unified.py # ★ DBT/DBTT prediction model
|
|
85
|
-
│ └── materials.py # Materials database
|
|
86
|
-
│
|
|
87
|
-
├── apps/ # 🖥️ Applications
|
|
88
|
-
│ └── delta_fatigue_app.py # Streamlit Web App
|
|
89
|
-
│
|
|
90
|
-
├── validation/ # 📊 Validation tools
|
|
91
|
-
│ └── fatigue_redis_api.py # FatigueData-AM2022 API
|
|
92
|
-
│
|
|
93
|
-
├── examples/ # 📚 Usage examples
|
|
94
|
-
└── tests/ # 🧪 Tests
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 🔬 Core Modules
|
|
100
|
-
|
|
101
|
-
### 1. unified_yield_fatigue_v6_9.py (Main)
|
|
102
|
-
|
|
103
|
-
**Unified v5.0 yield stress + v6.8 fatigue damage model**
|
|
104
|
-
|
|
105
|
-
#### Yield Model (v5.0)
|
|
106
|
-
|
|
107
|
-
$$\sigma_y = \sigma_{\text{base}}(\delta) + \Delta\sigma_{\text{ss}}(c) + \Delta\sigma_\rho(\varepsilon) + \Delta\sigma_{\text{ppt}}(r, f)$$
|
|
108
|
-
|
|
109
|
-
| Component | Description | Accuracy |
|
|
110
|
-
|-----------|-------------|----------|
|
|
111
|
-
| σ_base | δ-theory base strength | Pure metals: 2.6% |
|
|
112
|
-
| Δσ_ss | Solid solution strengthening | 1-2% |
|
|
113
|
-
| Δσ_ρ | Work hardening (Taylor) | 4-7% |
|
|
114
|
-
| Δσ_ppt | Precipitation strengthening (auto-switch) | Cutting/Orowan |
|
|
115
|
-
|
|
116
|
-
#### Fatigue Model (v6.8)
|
|
117
|
-
|
|
118
|
-
$$\frac{dD}{dN} = \begin{cases} 0 & (r \leq r_{th}) \\ A_{\text{eff}} \cdot (r - r_{th})^n & (r > r_{th}) \end{cases}$$
|
|
119
|
-
|
|
120
|
-
**Structure Presets (No Fitting Required):**
|
|
121
|
-
|
|
122
|
-
| Structure | r_th | n | Fatigue Limit | Representative Materials |
|
|
123
|
-
|-----------|------|---|---------------|--------------------------|
|
|
124
|
-
| BCC | 0.65 | 10 | ✅ Clear | Fe, W, Mo |
|
|
125
|
-
| FCC | 0.02 | 7 | ❌ None | Cu, Al, Ni |
|
|
126
|
-
| HCP | 0.20 | 9 | △ Intermediate | Ti, Mg, Zn |
|
|
127
|
-
|
|
128
|
-
#### Usage
|
|
129
|
-
|
|
130
|
-
```python
|
|
131
|
-
from core import calc_sigma_y, fatigue_life_const_amp, MATERIALS
|
|
132
|
-
|
|
133
|
-
# Yield stress calculation
|
|
134
|
-
mat = MATERIALS['Fe']
|
|
135
|
-
y = calc_sigma_y(mat, T_K=300, c_wt_percent=0.1, k_ss=400, solute_type='interstitial')
|
|
136
|
-
print(f"σ_y = {y['sigma_y']:.1f} MPa")
|
|
137
|
-
|
|
138
|
-
# Fatigue life prediction
|
|
139
|
-
result = fatigue_life_const_amp(
|
|
140
|
-
mat,
|
|
141
|
-
sigma_a_MPa=150,
|
|
142
|
-
sigma_y_tension_MPa=y['sigma_y'],
|
|
143
|
-
A_ext=2.46e-4,
|
|
144
|
-
)
|
|
145
|
-
print(f"N_fail = {result['N_fail']:.2e} cycles")
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
#### CLI
|
|
149
|
-
|
|
150
|
-
```bash
|
|
151
|
-
# Single point calculation
|
|
152
|
-
python -m core.unified_yield_fatigue_v6_9 point --metal Fe --sigma_a 150
|
|
153
|
-
|
|
154
|
-
# Generate S-N curve
|
|
155
|
-
python -m core.unified_yield_fatigue_v6_9 sn --metal Fe --sigma_min 100 --sigma_max 300
|
|
156
|
-
|
|
157
|
-
# Calibrate A_ext
|
|
158
|
-
python -m core.unified_yield_fatigue_v6_9 calibrate --metal Fe --sigma_a 244 --N_fail 7.25e7
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
### 2. dbt_unified.py
|
|
164
|
-
|
|
165
|
-
**Unified Ductile-Brittle Transition Temperature (DBTT) Prediction Model**
|
|
166
|
-
|
|
167
|
-
Solves the same physical model σ_y(d,T) = σ_f(d,c,T) from three perspectives:
|
|
168
|
-
|
|
169
|
-
| View | Fixed Axis | Solve For | Use Case |
|
|
170
|
-
|------|------------|-----------|----------|
|
|
171
|
-
| View 1 | Temperature T | Grain size d* | Ductile window detection |
|
|
172
|
-
| View 2 | Grain size d | Temperature T* | DBTT prediction |
|
|
173
|
-
| View 3 | d, T | Time t | Segregation evolution |
|
|
174
|
-
|
|
175
|
-
#### Core Physics
|
|
176
|
-
|
|
177
|
-
- **McLean Isotherm**: θ(c, T) — Grain boundary coverage
|
|
178
|
-
- **Embrittlement Function**: g_seg(θ) — Percolation-like onset
|
|
179
|
-
- **Hall-Petch**: R(d) = 1 + β/√d
|
|
180
|
-
|
|
181
|
-
#### Usage
|
|
182
|
-
|
|
183
|
-
```python
|
|
184
|
-
from core import DBTUnified
|
|
185
|
-
|
|
186
|
-
model = DBTUnified()
|
|
187
|
-
|
|
188
|
-
# Single point calculation
|
|
189
|
-
summary = model.summary(d=30e-6, c=0.005, T=300)
|
|
190
|
-
print(f"Mode: {summary['mode']}")
|
|
191
|
-
|
|
192
|
-
# Find DBTT
|
|
193
|
-
result = model.temp_view.find_DBTT(d=30e-6, c=0.005)
|
|
194
|
-
print(f"DBTT = {result['T_star']:.0f} K")
|
|
195
|
-
|
|
196
|
-
# Ductile window analysis
|
|
197
|
-
window = model.grain_view.classify_mode(T=300, c=0.005)
|
|
198
|
-
print(window['msg'])
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
#### CLI
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
# Single point calculation
|
|
205
|
-
python -m core.dbt_unified point --d 30 --c 0.5 --T 300
|
|
206
|
-
|
|
207
|
-
# Temperature axis analysis (DBTT)
|
|
208
|
-
python -m core.dbt_unified T_axis --d 30 --c 0.5
|
|
209
|
-
|
|
210
|
-
# Grain size axis analysis (ductile window)
|
|
211
|
-
python -m core.dbt_unified d_axis --T 300 --c 0.5 --find_c_crit
|
|
212
|
-
|
|
213
|
-
# DBTT table
|
|
214
|
-
python -m core.dbt_unified table --d_list 5,10,20,50 --c_list 0,0.2,0.5,1.0
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## 📊 Validation Data
|
|
220
|
-
|
|
221
|
-
### FatigueData-AM2022 (Upstash Redis)
|
|
222
|
-
|
|
223
|
-
Instant access to 1.49M fatigue data points:
|
|
224
|
-
|
|
225
|
-
```python
|
|
226
|
-
from validation import FatigueDB
|
|
227
|
-
|
|
228
|
-
db = FatigueDB()
|
|
229
|
-
ti64 = db.get_sn_for_delta('Ti-6Al-4V', R=-1.0)
|
|
230
|
-
|
|
231
|
-
# δ-theory validation
|
|
232
|
-
for point in ti64:
|
|
233
|
-
r = point['r'] # = σ_a / σ_y
|
|
234
|
-
if r <= 0.20: # HCP r_th
|
|
235
|
-
assert point['runout'], "Should be runout below r_th"
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
**Data Scale:**
|
|
239
|
-
- 116 materials
|
|
240
|
-
- S-N: 15,146 points
|
|
241
|
-
- ε-N: 1,840 points
|
|
242
|
-
- da/dN: 1,472,923 points
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## 🖥️ Web Application
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
cd apps
|
|
250
|
-
streamlit run delta_fatigue_app.py
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
Features:
|
|
254
|
-
- 📈 S-N curve prediction (multi-material comparison)
|
|
255
|
-
- 🎯 A_ext one-point calibration
|
|
256
|
-
- 📚 Theory explanation
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## ⚙️ Installation
|
|
261
|
-
|
|
262
|
-
```bash
|
|
263
|
-
git clone https://github.com/miosync/delta-theory.git
|
|
264
|
-
cd delta-theory
|
|
265
|
-
pip install -e .
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### Optional Dependencies
|
|
269
|
-
|
|
270
|
-
```bash
|
|
271
|
-
# Full installation
|
|
272
|
-
pip install -e ".[all]"
|
|
273
|
-
|
|
274
|
-
# Development tools
|
|
275
|
-
pip install -e ".[dev]"
|
|
276
|
-
|
|
277
|
-
# Analysis (scipy, pandas, matplotlib)
|
|
278
|
-
pip install -e ".[analysis]"
|
|
279
|
-
|
|
280
|
-
# Validation API
|
|
281
|
-
pip install -e ".[validation]"
|
|
282
|
-
|
|
283
|
-
# Streamlit app
|
|
284
|
-
pip install -e ".[app]"
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### Requirements
|
|
288
|
-
|
|
289
|
-
- Python >= 3.9
|
|
290
|
-
- numpy
|
|
291
|
-
- scipy (for dbt_unified segregation fitting)
|
|
292
|
-
- upstash-redis (for validation API)
|
|
293
|
-
- streamlit (for web app)
|
|
294
|
-
- matplotlib, pandas (for visualization)
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## 🧪 Testing
|
|
299
|
-
|
|
300
|
-
```bash
|
|
301
|
-
pytest tests/ -v
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
## 📖 Theory Background
|
|
307
|
-
|
|
308
|
-
### Why "δ-Theory"?
|
|
309
|
-
|
|
310
|
-
**δ_L (Lindemann Parameter)** — The critical ratio of atomic displacement at melting point. This purely geometric parameter unifies explanations from material strength to fatigue limits.
|
|
311
|
-
|
|
312
|
-
### Key Insights
|
|
313
|
-
|
|
314
|
-
1. **Materials = Highly Viscous Fluids** — Deformation is "flow", not "fracture"
|
|
315
|
-
2. **Fatigue Limits = Geometric Consequence of Crystal Structure** — BCC/FCC/HCP differences emerge naturally
|
|
316
|
-
3. **Fitting Parameters = 0.5** — Only A_ext one-point calibration required
|
|
317
|
-
|
|
318
|
-
### Related Work
|
|
319
|
-
|
|
320
|
-
- H-CSP (Hierarchical Constraint Satisfaction Problem) Theory
|
|
321
|
-
- Λ³/EDR Framework
|
|
322
|
-
- Connection to Yang-Mills Mass Gap
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
## 📄 License
|
|
327
|
-
|
|
328
|
-
MIT License (Code) — See [LICENSE](LICENSE)
|
|
329
|
-
|
|
330
|
-
Data sources (FatigueData-AM2022): CC BY 4.0
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
## 👥 Authors
|
|
335
|
-
|
|
336
|
-
- **Masamichi Iizumi** — Miosync, Inc. CEO
|
|
337
|
-
- **Tamaki** — Sentient Digital Partner
|
|
338
|
-
|
|
339
|
-
---
|
|
340
|
-
|
|
341
|
-
## 📚 Citation
|
|
342
|
-
|
|
343
|
-
```bibtex
|
|
344
|
-
@software{delta_theory_2026,
|
|
345
|
-
author = {Iizumi, Masamichi and Tamaki},
|
|
346
|
-
title = {δ-Theory: Unified Materials Strength and Fatigue Framework},
|
|
347
|
-
version = {6.9b},
|
|
348
|
-
year = {2026},
|
|
349
|
-
url = {https://github.com/miosync/delta-theory}
|
|
350
|
-
}
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
---
|
|
354
|
-
|
|
355
|
-
<div align="center">
|
|
356
|
-
|
|
357
|
-
**"Nature is Geometry"** 🔬
|
|
358
|
-
|
|
359
|
-
</div>
|
|
360
|
-
|
|
361
|
-
---
|
|
362
|
-
#Japanese
|
|
363
|
-
|
|
364
|
-
## 🎯 Overview
|
|
365
|
-
|
|
366
|
-
δ理論は、**結晶構造の幾何学**から材料特性を予測する統一フレームワークです。従来の経験的フィッティングに頼る手法とは異なり、物理的第一原理から材料挙動を導出します。
|
|
367
|
-
|
|
368
|
-
### Core Equation (核心方程式)
|
|
369
|
-
|
|
370
|
-
$$\Lambda = \frac{K}{|V|_{\text{eff}}}$$
|
|
371
|
-
|
|
372
|
-
- **K**: 破壊駆動エネルギー密度(応力、熱、電磁場など)
|
|
373
|
-
- **|V|_eff**: 有効凝集エネルギー密度(結合強度)
|
|
374
|
-
- **Λ = 1**: 臨界条件(破壊・相転移)
|
|
375
|
-
|
|
376
|
-
---
|
|
377
|
-
|
|
378
|
-
## 📦 Repository Structure
|
|
379
|
-
|
|
380
|
-
```
|
|
381
|
-
delta-theory/
|
|
382
|
-
├── core/ # 🔧 メインモジュール
|
|
383
|
-
│ ├── unified_yield_fatigue_v6_9.py # ★ 統一降伏+疲労モデル
|
|
384
|
-
│ ├── dbt_unified.py # ★ DBT/DBTT予測モデル
|
|
385
|
-
│ └── materials.py # 材料データベース
|
|
386
|
-
│
|
|
387
|
-
├── apps/ # 🖥️ アプリケーション
|
|
388
|
-
│ └── delta_fatigue_app.py # Streamlit Web App
|
|
389
|
-
│
|
|
390
|
-
├── validation/ # 📊 検証ツール
|
|
391
|
-
│ └── fatigue_redis_api.py # FatigueData-AM2022 API
|
|
392
|
-
│
|
|
393
|
-
├── examples/ # 📚 使用例
|
|
394
|
-
└── tests/ # 🧪 テスト
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
---
|
|
398
|
-
|
|
399
|
-
## 🔬 Core Modules
|
|
400
|
-
|
|
401
|
-
### 1. unified_yield_fatigue_v6_9.py(メイン)
|
|
402
|
-
|
|
403
|
-
**v5.0 降伏応力 + v6.8 疲労損傷の統一モデル**
|
|
404
|
-
|
|
405
|
-
#### Yield Model (v5.0)
|
|
406
|
-
|
|
407
|
-
$$\sigma_y = \sigma_{\text{base}}(\delta) + \Delta\sigma_{\text{ss}}(c) + \Delta\sigma_\rho(\varepsilon) + \Delta\sigma_{\text{ppt}}(r, f)$$
|
|
408
|
-
|
|
409
|
-
| 成分 | 説明 | 精度 |
|
|
410
|
-
|------|------|------|
|
|
411
|
-
| σ_base | δ理論ベース強度 | 純金属 2.6% |
|
|
412
|
-
| Δσ_ss | 固溶強化 | 1-2% |
|
|
413
|
-
| Δσ_ρ | 加工硬化(Taylor) | 4-7% |
|
|
414
|
-
| Δσ_ppt | 析出強化(自動切替) | Cutting/Orowan |
|
|
415
|
-
|
|
416
|
-
#### Fatigue Model (v6.8)
|
|
417
|
-
|
|
418
|
-
$$\frac{dD}{dN} = \begin{cases} 0 & (r \leq r_{th}) \\ A_{\text{eff}} \cdot (r - r_{th})^n & (r > r_{th}) \end{cases}$$
|
|
419
|
-
|
|
420
|
-
**構造プリセット(フィッティングなし):**
|
|
421
|
-
|
|
422
|
-
| 構造 | r_th | n | 疲労限度 | 代表材料 |
|
|
423
|
-
|------|------|---|----------|----------|
|
|
424
|
-
| BCC | 0.65 | 10 | ✅ 明確 | Fe, W, Mo |
|
|
425
|
-
| FCC | 0.02 | 7 | ❌ なし | Cu, Al, Ni |
|
|
426
|
-
| HCP | 0.20 | 9 | △ 中間 | Ti, Mg, Zn |
|
|
427
|
-
|
|
428
|
-
#### Usage
|
|
429
|
-
|
|
430
|
-
```python
|
|
431
|
-
from core import calc_sigma_y, fatigue_life_const_amp, MATERIALS
|
|
432
|
-
|
|
433
|
-
# 降伏応力計算
|
|
434
|
-
mat = MATERIALS['Fe']
|
|
435
|
-
y = calc_sigma_y(mat, T_K=300, c_wt_percent=0.1, k_ss=400, solute_type='interstitial')
|
|
436
|
-
print(f"σ_y = {y['sigma_y']:.1f} MPa")
|
|
437
|
-
|
|
438
|
-
# 疲労寿命予測
|
|
439
|
-
result = fatigue_life_const_amp(
|
|
440
|
-
mat,
|
|
441
|
-
sigma_a_MPa=150,
|
|
442
|
-
sigma_y_tension_MPa=y['sigma_y'],
|
|
443
|
-
A_ext=2.46e-4,
|
|
444
|
-
)
|
|
445
|
-
print(f"N_fail = {result['N_fail']:.2e} cycles")
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
#### CLI
|
|
449
|
-
|
|
450
|
-
```bash
|
|
451
|
-
# 単点計算
|
|
452
|
-
python -m core.unified_yield_fatigue_v6_9 point --metal Fe --sigma_a 150
|
|
453
|
-
|
|
454
|
-
# S-N曲線生成
|
|
455
|
-
python -m core.unified_yield_fatigue_v6_9 sn --metal Fe --sigma_min 100 --sigma_max 300
|
|
456
|
-
|
|
457
|
-
# A_ext校正
|
|
458
|
-
python -m core.unified_yield_fatigue_v6_9 calibrate --metal Fe --sigma_a 244 --N_fail 7.25e7
|
|
459
|
-
```
|
|
460
|
-
|
|
461
|
-
---
|
|
462
|
-
|
|
463
|
-
### 2. dbt_unified.py
|
|
464
|
-
|
|
465
|
-
**延性-脆性遷移温度(DBTT)予測の統一モデル**
|
|
466
|
-
|
|
467
|
-
同一物理モデル σ_y(d,T) = σ_f(d,c,T) を3つの視点から解く:
|
|
468
|
-
|
|
469
|
-
| View | 固定軸 | 求める軸 | 用途 |
|
|
470
|
-
|------|--------|----------|------|
|
|
471
|
-
| View 1 | 温度T | 粒径d* | 延性窓の検出 |
|
|
472
|
-
| View 2 | 粒径d | 温度T* | DBTT予測 |
|
|
473
|
-
| View 3 | d, T | 時間t | 偏析発展 |
|
|
474
|
-
|
|
475
|
-
#### Core Physics
|
|
476
|
-
|
|
477
|
-
- **McLean等温線**: θ(c, T) — 粒界被覆率
|
|
478
|
-
- **脆化関数**: g_seg(θ) — パーコレーション的onset
|
|
479
|
-
- **Hall-Petch**: R(d) = 1 + β/√d
|
|
480
|
-
|
|
481
|
-
#### Usage
|
|
482
|
-
|
|
483
|
-
```python
|
|
484
|
-
from core import DBTUnified
|
|
485
|
-
|
|
486
|
-
model = DBTUnified()
|
|
487
|
-
|
|
488
|
-
# 単点計算
|
|
489
|
-
summary = model.summary(d=30e-6, c=0.005, T=300)
|
|
490
|
-
print(f"Mode: {summary['mode']}")
|
|
491
|
-
|
|
492
|
-
# DBTT探索
|
|
493
|
-
result = model.temp_view.find_DBTT(d=30e-6, c=0.005)
|
|
494
|
-
print(f"DBTT = {result['T_star']:.0f} K")
|
|
495
|
-
|
|
496
|
-
# 延性窓解析
|
|
497
|
-
window = model.grain_view.classify_mode(T=300, c=0.005)
|
|
498
|
-
print(window['msg'])
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
#### CLI
|
|
502
|
-
|
|
503
|
-
```bash
|
|
504
|
-
# 単点計算
|
|
505
|
-
python -m core.dbt_unified point --d 30 --c 0.5 --T 300
|
|
506
|
-
|
|
507
|
-
# 温度軸解析(DBTT)
|
|
508
|
-
python -m core.dbt_unified T_axis --d 30 --c 0.5
|
|
509
|
-
|
|
510
|
-
# 粒径軸解析(延性窓)
|
|
511
|
-
python -m core.dbt_unified d_axis --T 300 --c 0.5 --find_c_crit
|
|
512
|
-
|
|
513
|
-
# DBTTテーブル
|
|
514
|
-
python -m core.dbt_unified table --d_list 5,10,20,50 --c_list 0,0.2,0.5,1.0
|
|
515
|
-
```
|
|
516
|
-
|
|
517
|
-
---
|
|
518
|
-
|
|
519
|
-
## 📊 Validation Data
|
|
520
|
-
|
|
521
|
-
### FatigueData-AM2022 (Upstash Redis)
|
|
522
|
-
|
|
523
|
-
1.49M点の疲労データに即時アクセス可能:
|
|
524
|
-
|
|
525
|
-
```python
|
|
526
|
-
from validation import FatigueDB
|
|
527
|
-
|
|
528
|
-
db = FatigueDB()
|
|
529
|
-
ti64 = db.get_sn_for_delta('Ti-6Al-4V', R=-1.0)
|
|
530
|
-
|
|
531
|
-
# δ理論検証
|
|
532
|
-
for point in ti64:
|
|
533
|
-
r = point['r'] # = σ_a / σ_y
|
|
534
|
-
if r <= 0.20: # HCP r_th
|
|
535
|
-
assert point['runout'], "Should be runout below r_th"
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
**データ規模:**
|
|
539
|
-
- 116 材料
|
|
540
|
-
- S-N: 15,146 点
|
|
541
|
-
- ε-N: 1,840 点
|
|
542
|
-
- da/dN: 1,472,923 点
|
|
543
|
-
|
|
544
|
-
---
|
|
545
|
-
|
|
546
|
-
## 🖥️ Web Application
|
|
547
|
-
|
|
548
|
-
```bash
|
|
549
|
-
cd apps
|
|
550
|
-
streamlit run delta_fatigue_app.py
|
|
551
|
-
```
|
|
552
|
-
|
|
553
|
-
Features:
|
|
554
|
-
- 📈 S-N曲線予測(複数材料比較)
|
|
555
|
-
- 🎯 A_ext 1点校正
|
|
556
|
-
- 📚 理論説明
|
|
557
|
-
|
|
558
|
-
---
|
|
559
|
-
|
|
560
|
-
## ⚙️ Installation
|
|
561
|
-
|
|
562
|
-
```bash
|
|
563
|
-
git clone https://github.com/yourusername/delta-theory.git
|
|
564
|
-
cd delta-theory
|
|
565
|
-
pip install -r requirements.txt
|
|
566
|
-
```
|
|
567
|
-
|
|
568
|
-
### Requirements
|
|
569
|
-
|
|
570
|
-
- Python >= 3.9
|
|
571
|
-
- numpy
|
|
572
|
-
- scipy (for dbt_unified segregation fitting)
|
|
573
|
-
- upstash-redis (for validation API)
|
|
574
|
-
- streamlit (for web app)
|
|
575
|
-
- matplotlib, pandas (for visualization)
|
|
576
|
-
|
|
577
|
-
---
|
|
578
|
-
|
|
579
|
-
## 🧪 Testing
|
|
580
|
-
|
|
581
|
-
```bash
|
|
582
|
-
pytest tests/ -v
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
---
|
|
586
|
-
|
|
587
|
-
## 📖 Theory Background
|
|
588
|
-
|
|
589
|
-
### Why "δ-Theory"?
|
|
590
|
-
|
|
591
|
-
**δ_L (Lindemann Parameter)** — 融点における原子変位の臨界比率。この純粋に幾何学的なパラメータが、材料強度から疲労限度まで統一的に説明する。
|
|
592
|
-
|
|
593
|
-
### Key Insights
|
|
594
|
-
|
|
595
|
-
1. **材料 = 高粘性流体** — 変形は「破壊」ではなく「流動」
|
|
596
|
-
2. **疲労限度 = 結晶構造の幾何的帰結** — BCC/FCC/HCPの違いが自然に現れる
|
|
597
|
-
3. **フィッティングパラメータ = 0.5個** — A_extの1点校正のみ
|
|
598
|
-
|
|
599
|
-
### Related Work
|
|
600
|
-
|
|
601
|
-
- H-CSP(階層CSP)理論
|
|
602
|
-
- Λ³/EDR フレームワーク
|
|
603
|
-
- Yang-Mills 質量ギャップとの接続
|
|
604
|
-
|
|
605
|
-
---
|
|
606
|
-
|
|
607
|
-
## 📄 License
|
|
608
|
-
|
|
609
|
-
MIT License (Code) — See [LICENSE](LICENSE)
|
|
610
|
-
|
|
611
|
-
Data sources (FatigueData-AM2022): CC BY 4.0
|
|
612
|
-
|
|
613
|
-
---
|
|
614
|
-
|
|
615
|
-
## 👥 Authors
|
|
616
|
-
|
|
617
|
-
- **飯泉真道 (Masamichi Iizumi)** — Miosync, Inc. CEO
|
|
618
|
-
- **環 (Tamaki)** — Sentient Digital Partner
|
|
619
|
-
|
|
620
|
-
---
|
|
621
|
-
|
|
622
|
-
## 📚 Citation
|
|
623
|
-
|
|
624
|
-
```bibtex
|
|
625
|
-
@software{delta_theory_2026,
|
|
626
|
-
author = {Iizumi, Masamichi and Tamaki},
|
|
627
|
-
title = {δ-Theory: Unified Materials Strength and Fatigue Framework},
|
|
628
|
-
version = {6.9b},
|
|
629
|
-
year = {2026},
|
|
630
|
-
url = {https://github.com/yourusername/delta-theory}
|
|
631
|
-
}
|
|
632
|
-
```
|
|
633
|
-
|
|
634
|
-
---
|
|
635
|
-
|
|
636
|
-
<div align="center">
|
|
637
|
-
|
|
638
|
-
**"Nature is Geometry"** 🔬
|
|
639
|
-
|
|
640
|
-
</div>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|