delta-theory 8.1.2__py3-none-any.whl → 8.2.1__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/__init__.py +111 -57
- core/__main__.py +194 -129
- core/unified_flc_v8_1.py +768 -0
- {delta_theory-8.1.2.dist-info → delta_theory-8.2.1.dist-info}/METADATA +150 -124
- {delta_theory-8.1.2.dist-info → delta_theory-8.2.1.dist-info}/RECORD +9 -9
- core/unified_flc_v7.py +0 -727
- {delta_theory-8.1.2.dist-info → delta_theory-8.2.1.dist-info}/WHEEL +0 -0
- {delta_theory-8.1.2.dist-info → delta_theory-8.2.1.dist-info}/entry_points.txt +0 -0
- {delta_theory-8.1.2.dist-info → delta_theory-8.2.1.dist-info}/licenses/LICENSE +0 -0
- {delta_theory-8.1.2.dist-info → delta_theory-8.2.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: delta-theory
|
|
3
|
-
Version: 8.1
|
|
3
|
+
Version: 8.2.1
|
|
4
4
|
Summary: Unified materials strength and fatigue prediction based on geometric first principles
|
|
5
5
|
Author: Tamaki
|
|
6
6
|
Author-email: Masamichi Iizumi <m.iizumi@miosync.email>
|
|
@@ -54,7 +54,7 @@ Dynamic: license-file
|
|
|
54
54
|
[](https://pypi.org/project/delta-theory/)
|
|
55
55
|
[](LICENSE)
|
|
56
56
|
[](https://www.python.org/downloads/)
|
|
57
|
-
[](CHANGELOG.md)
|
|
58
58
|
[](https://codecov.io/gh/miosync/delta-theory)
|
|
59
59
|
|
|
60
60
|
</div>
|
|
@@ -77,24 +77,21 @@ $$\Lambda = \frac{K}{|V|_{\text{eff}}}$$
|
|
|
77
77
|
|
|
78
78
|
| Module | Predicts | Key Parameters | Accuracy |
|
|
79
79
|
|--------|----------|----------------|----------|
|
|
80
|
-
| **
|
|
80
|
+
| **v6.9b** | Yield stress σ_y | f_d, E_bond, crystal geometry | 2.6% |
|
|
81
81
|
| **v6.10** | Fatigue life N | r_th (BCC=0.65, FCC=0.02, HCP=0.20) | 4-7% |
|
|
82
|
-
| **
|
|
83
|
-
| **v8.0** | Post-forming fatigue life | η_forming → r_th_eff | — |
|
|
82
|
+
| **v8.1** | Forming Limit Curve FLC | 7-mode discrete, 1-point calibration | 4.7% |
|
|
84
83
|
| **DBT** | Ductile-Brittle Transition | Grain size, segregation | — |
|
|
85
84
|
|
|
86
85
|
---
|
|
87
86
|
|
|
88
87
|
## 📦 Installation
|
|
89
|
-
|
|
90
88
|
```bash
|
|
91
89
|
pip install delta-theory
|
|
92
90
|
```
|
|
93
91
|
|
|
94
92
|
### From Source
|
|
95
|
-
|
|
96
93
|
```bash
|
|
97
|
-
git clone https://github.com/miosync/delta-theory.git
|
|
94
|
+
git clone https://github.com/miosync-inc/delta-theory.git
|
|
98
95
|
cd delta-theory
|
|
99
96
|
pip install -e .
|
|
100
97
|
```
|
|
@@ -104,9 +101,8 @@ pip install -e .
|
|
|
104
101
|
## 🚀 Quick Start
|
|
105
102
|
|
|
106
103
|
### Yield Stress
|
|
107
|
-
|
|
108
104
|
```python
|
|
109
|
-
from
|
|
105
|
+
from delta_theory import calc_sigma_y, MATERIALS
|
|
110
106
|
|
|
111
107
|
mat = MATERIALS['Fe']
|
|
112
108
|
result = calc_sigma_y(mat, T_K=300)
|
|
@@ -114,52 +110,46 @@ print(f"σ_y = {result['sigma_y']:.1f} MPa")
|
|
|
114
110
|
```
|
|
115
111
|
|
|
116
112
|
### Fatigue Life
|
|
117
|
-
|
|
118
113
|
```python
|
|
119
|
-
from
|
|
114
|
+
from delta_theory import fatigue_life_const_amp, MATERIALS
|
|
120
115
|
|
|
121
116
|
result = fatigue_life_const_amp(
|
|
122
117
|
MATERIALS['Fe'],
|
|
123
118
|
sigma_a_MPa=150,
|
|
124
119
|
sigma_y_tension_MPa=200,
|
|
120
|
+
A_ext=2.5e-4,
|
|
125
121
|
)
|
|
126
122
|
print(f"N_fail = {result['N_fail']:.2e} cycles")
|
|
127
123
|
```
|
|
128
124
|
|
|
129
|
-
### FLC Prediction (
|
|
130
|
-
|
|
125
|
+
### FLC Prediction (v8.1 — 7-Mode Discrete!)
|
|
131
126
|
```python
|
|
132
|
-
from
|
|
133
|
-
|
|
134
|
-
flc = FLCPredictor()
|
|
135
|
-
for beta in [-0.5, 0.0, 1.0]:
|
|
136
|
-
Em = flc.predict(beta, 'SPCC')
|
|
137
|
-
print(f"β={beta:+.1f}: FLC = {Em:.3f}")
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Forming-Fatigue Integration (NEW in v8.0!)
|
|
127
|
+
from delta_theory import FLCPredictor, predict_flc
|
|
141
128
|
|
|
142
|
-
|
|
143
|
-
|
|
129
|
+
# Quick prediction
|
|
130
|
+
eps1 = predict_flc('Cu', 'Plane Strain') # → 0.346
|
|
144
131
|
|
|
145
|
-
|
|
132
|
+
# Full usage
|
|
133
|
+
flc = FLCPredictor()
|
|
134
|
+
for mode in ['Uniaxial', 'Plane Strain', 'Equi-biaxial']:
|
|
135
|
+
print(f"{mode}: {flc.predict('Cu', mode):.3f}")
|
|
146
136
|
|
|
147
|
-
#
|
|
148
|
-
|
|
149
|
-
|
|
137
|
+
# Add new material from v6.9 parameters
|
|
138
|
+
flc.add_from_v69('MySteel', flc0=0.28, base_element='Fe')
|
|
139
|
+
betas, eps1s = flc.predict_curve('MySteel') # All 7 modes!
|
|
150
140
|
```
|
|
151
141
|
|
|
152
142
|
---
|
|
153
143
|
|
|
154
144
|
## 📦 Repository Structure
|
|
155
|
-
|
|
156
145
|
```
|
|
157
146
|
delta-theory/
|
|
158
|
-
├──
|
|
147
|
+
├── delta_theory/ # 🔧 Main package
|
|
159
148
|
│ ├── unified_yield_fatigue_v6_9.py # Unified yield + fatigue model
|
|
160
|
-
│ ├──
|
|
149
|
+
│ ├── unified_flc_v8_1.py # ★ FLC 7-mode discrete (NEW!)
|
|
161
150
|
│ ├── dbt_unified.py # DBT/DBTT prediction model
|
|
162
151
|
│ ├── materials.py # Materials database
|
|
152
|
+
│ ├── banners.py # ASCII art banners
|
|
163
153
|
│ └── fatigue_redis_api.py # FatigueData-AM2022 API
|
|
164
154
|
│
|
|
165
155
|
├── apps/ # 🖥️ Applications
|
|
@@ -194,66 +184,93 @@ $$\frac{dD}{dN} = \begin{cases} 0 & (r \leq r_{th}) \\ A_{\text{eff}} \cdot (r -
|
|
|
194
184
|
|
|
195
185
|
**Structure Presets (No Fitting Required):**
|
|
196
186
|
|
|
197
|
-
| Structure | r_th | n |
|
|
198
|
-
|
|
199
|
-
| BCC | 0.65 | 10 |
|
|
200
|
-
| FCC | 0.02 | 7 |
|
|
201
|
-
| HCP | 0.20 | 9 |
|
|
187
|
+
| Structure | r_th | n | τ/σ | R_comp | Fatigue Limit |
|
|
188
|
+
|-----------|------|---|-----|--------|---------------|
|
|
189
|
+
| BCC | 0.65 | 10 | 0.565 | 1.0 | ✅ Clear |
|
|
190
|
+
| FCC | 0.02 | 7 | 0.565 | 1.0 | ❌ None |
|
|
191
|
+
| HCP | 0.20 | 9 | 0.327* | 0.6* | △ Intermediate |
|
|
192
|
+
|
|
193
|
+
*HCP values depend on T_twin (twinning factor)
|
|
202
194
|
|
|
203
195
|
---
|
|
204
196
|
|
|
205
|
-
### 2.
|
|
197
|
+
### 2. unified_flc_v8_1.py (NEW in v8.2!)
|
|
206
198
|
|
|
207
|
-
**FLC Prediction
|
|
199
|
+
**FLC Prediction — 7-Mode Discrete Formulation**
|
|
208
200
|
|
|
209
|
-
####
|
|
201
|
+
#### Core Equation
|
|
210
202
|
|
|
211
|
-
$$\
|
|
203
|
+
$$\varepsilon_{1,j} = |V|_{\text{eff}} \times \frac{C_j}{R_j}$$
|
|
212
204
|
|
|
213
|
-
|
|
|
214
|
-
|
|
215
|
-
| FLC₀
|
|
216
|
-
|
|
|
217
|
-
|
|
|
218
|
-
| R | Compression/tension ratio (twin effect for HCP) |
|
|
219
|
-
| τ/σ | Shear/tension ratio |
|
|
205
|
+
| Component | Formula | Description |
|
|
206
|
+
|-----------|---------|-------------|
|
|
207
|
+
| \|V\|_eff | Calibrated from FLC₀ | Material forming capacity |
|
|
208
|
+
| C_j | 1 + 0.75β + 0.48β² | Localization correction (frozen) |
|
|
209
|
+
| R_j | w_σ + w_τ/(τ/σ) + w_c/R_comp | Mixed resistance |
|
|
220
210
|
|
|
221
|
-
|
|
211
|
+
#### 7 Standard Forming Modes
|
|
222
212
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
**
|
|
213
|
+
| Mode | β | C_j | Physical Meaning |
|
|
214
|
+
|------|---|-----|------------------|
|
|
215
|
+
| Uniaxial | -0.370 | 0.788 | Deep drawing (tension + compression) |
|
|
216
|
+
| Deep Draw | -0.306 | 0.815 | Drawing dominant |
|
|
217
|
+
| Draw-Plane | -0.169 | 0.887 | Transition region |
|
|
218
|
+
| **Plane Strain** | **0.000** | **1.000** | **FLC₀ reference** |
|
|
219
|
+
| Plane-Stretch | +0.133 | 1.108 | Transition to biaxial |
|
|
220
|
+
| Stretch | +0.247 | 1.214 | Stretching dominant |
|
|
221
|
+
| Equi-biaxial | +0.430 | 1.411 | Balanced biaxial tension |
|
|
229
222
|
|
|
230
|
-
|
|
231
|
-
|----------|----------------------|------|
|
|
232
|
-
| SPCC | 90.6% | 0.25 |
|
|
233
|
-
| DP590 | 71.4% | 0.20 |
|
|
223
|
+
#### 1-Point Calibration
|
|
234
224
|
|
|
235
|
-
|
|
225
|
+
Measure only **FLC₀** (Plane Strain) → Predict **all 7 modes** automatically!
|
|
226
|
+
```python
|
|
227
|
+
from delta_theory import FLCPredictor
|
|
236
228
|
|
|
237
|
-
|
|
229
|
+
flc = FLCPredictor()
|
|
238
230
|
|
|
239
|
-
|
|
231
|
+
# Add material with just FLC₀ + base element
|
|
232
|
+
flc.add_from_v69('MySteel', flc0=0.28, base_element='Fe')
|
|
240
233
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
| 60% | 0.26 | Severe forming |
|
|
234
|
+
# Get full FLC curve
|
|
235
|
+
results = flc.predict_all_modes('MySteel')
|
|
236
|
+
for mode, eps1 in results.items():
|
|
237
|
+
print(f"{mode}: {eps1:.3f}")
|
|
238
|
+
```
|
|
247
239
|
|
|
248
|
-
|
|
240
|
+
#### v6.9 Integration
|
|
249
241
|
|
|
242
|
+
τ/σ and R_comp are automatically retrieved from δ-theory based on crystal structure:
|
|
250
243
|
```python
|
|
251
|
-
|
|
244
|
+
# BCC steel — uses τ/σ = 0.565, R_comp = 1.0
|
|
245
|
+
flc.add_from_v69('SPCC', flc0=0.225, base_element='Fe')
|
|
246
|
+
|
|
247
|
+
# HCP magnesium (twin-dominated) — uses τ/σ = 0.327, R_comp = 0.6
|
|
248
|
+
flc.add_from_v69('AZ31', flc0=0.265, base_element='Mg', T_twin=0.0)
|
|
252
249
|
|
|
253
|
-
|
|
254
|
-
|
|
250
|
+
# HCP titanium (slip-dominated) — uses τ/σ = 0.546, R_comp = 1.0
|
|
251
|
+
flc.add_from_v69('Ti64', flc0=0.30, base_element='Ti', T_twin=1.0)
|
|
255
252
|
```
|
|
256
253
|
|
|
254
|
+
#### HCP T_twin Interpolation
|
|
255
|
+
|
|
256
|
+
| T_twin | τ/σ | R_comp | Behavior |
|
|
257
|
+
|--------|-----|--------|----------|
|
|
258
|
+
| 0.0 | 0.327 | 0.60 | Twin-dominated (Mg-like) |
|
|
259
|
+
| 0.5 | 0.446 | 0.80 | Mixed |
|
|
260
|
+
| 1.0 | 0.565 | 1.00 | Slip-dominated |
|
|
261
|
+
|
|
262
|
+
#### Built-in Materials
|
|
263
|
+
|
|
264
|
+
| Material | Structure | τ/σ | R_comp | \|V\|_eff | FLC₀ |
|
|
265
|
+
|----------|-----------|-----|--------|-----------|------|
|
|
266
|
+
| Cu | FCC | 0.565 | 1.00 | 1.224 | 0.346 |
|
|
267
|
+
| Ti | HCP | 0.546 | 1.00 | 1.039 | 0.293 |
|
|
268
|
+
| SPCC | BCC | 0.565 | 1.00 | 0.802 | 0.225 |
|
|
269
|
+
| DP590 | BCC | 0.565 | 1.00 | 0.691 | 0.194 |
|
|
270
|
+
| Al5052 | FCC | 0.565 | 1.00 | 0.619 | 0.165 |
|
|
271
|
+
| SUS304 | FCC | 0.565 | 1.00 | 1.423 | 0.400 |
|
|
272
|
+
| Mg_AZ31 | HCP | 0.327 | 0.60 | 1.180 | 0.265 |
|
|
273
|
+
|
|
257
274
|
---
|
|
258
275
|
|
|
259
276
|
### 3. dbt_unified.py
|
|
@@ -265,9 +282,8 @@ print(f"η_critical = {eta_crit*100:.1f}%") # → 23.1%
|
|
|
265
282
|
| View 1 | Temperature T | Grain size d* | Ductile window detection |
|
|
266
283
|
| View 2 | Grain size d | Temperature T* | DBTT prediction |
|
|
267
284
|
| View 3 | d, T | Time t | Segregation evolution |
|
|
268
|
-
|
|
269
285
|
```python
|
|
270
|
-
from
|
|
286
|
+
from delta_theory import DBTUnified
|
|
271
287
|
|
|
272
288
|
model = DBTUnified()
|
|
273
289
|
result = model.temp_view.find_DBTT(d=30e-6, c=0.005)
|
|
@@ -278,74 +294,70 @@ print(f"DBTT = {result['T_star']:.0f} K")
|
|
|
278
294
|
|
|
279
295
|
## ⌨️ CLI Reference
|
|
280
296
|
|
|
281
|
-
###
|
|
297
|
+
### FLC Commands (NEW!)
|
|
298
|
+
```bash
|
|
299
|
+
# Quick FLC₀ prediction
|
|
300
|
+
python -m delta_theory flc Cu
|
|
282
301
|
|
|
302
|
+
# All 7 modes
|
|
303
|
+
python -m delta_theory flc SPCC all
|
|
304
|
+
|
|
305
|
+
# Specific mode
|
|
306
|
+
python -m delta_theory flc Cu Uniaxial
|
|
307
|
+
|
|
308
|
+
# List available materials
|
|
309
|
+
python -m delta_theory flc --list
|
|
310
|
+
|
|
311
|
+
# Detailed info
|
|
312
|
+
python -m delta_theory info
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Yield & Fatigue
|
|
283
316
|
```bash
|
|
284
317
|
# Single point calculation
|
|
285
|
-
python -m
|
|
318
|
+
python -m delta_theory.unified_yield_fatigue_v6_9 point --metal Fe --sigma_a 150
|
|
286
319
|
|
|
287
320
|
# Generate S-N curve
|
|
288
|
-
python -m
|
|
321
|
+
python -m delta_theory.unified_yield_fatigue_v6_9 sn --metal Fe --sigma_min 100 --sigma_max 300
|
|
289
322
|
|
|
290
323
|
# Calibrate A_ext
|
|
291
|
-
python -m
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### FLC (NEW!)
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
# Single material FLC
|
|
298
|
-
python3 -c "
|
|
299
|
-
from core import FLCPredictor
|
|
300
|
-
flc = FLCPredictor()
|
|
301
|
-
for b in [-0.5, -0.25, 0, 0.25, 0.5, 1.0]:
|
|
302
|
-
print(f'β={b:+.2f}: {flc.predict(b, \"SPCC\"):.3f}')
|
|
303
|
-
"
|
|
304
|
-
|
|
305
|
-
# Quick FLC value
|
|
306
|
-
python3 -c "from core import predict_flc; print(predict_flc('SPCC', 0.0))"
|
|
307
|
-
|
|
308
|
-
# Forming-fatigue analysis
|
|
309
|
-
python3 -c "
|
|
310
|
-
from core import FormingFatigueIntegrator
|
|
311
|
-
integrator = FormingFatigueIntegrator()
|
|
312
|
-
for eta in [0.0, 0.2, 0.4, 0.6]:
|
|
313
|
-
r_th = integrator.effective_r_th(eta, 'BCC')
|
|
314
|
-
print(f'η={eta:.0%}: r_th_eff = {r_th:.3f}')
|
|
315
|
-
"
|
|
316
|
-
|
|
317
|
-
# Critical η calculation
|
|
318
|
-
python3 -c "
|
|
319
|
-
from core import critical_forming_consumption
|
|
320
|
-
for r in [0.3, 0.4, 0.5, 0.6]:
|
|
321
|
-
eta = critical_forming_consumption(r, 'BCC')
|
|
322
|
-
print(f'r={r:.1f}: η_critical = {eta*100:.1f}%')
|
|
323
|
-
"
|
|
324
|
+
python -m delta_theory.unified_yield_fatigue_v6_9 calibrate --metal Fe --sigma_a 244 --N_fail 7.25e7
|
|
324
325
|
```
|
|
325
326
|
|
|
326
327
|
### DBT
|
|
327
|
-
|
|
328
328
|
```bash
|
|
329
329
|
# Single point calculation
|
|
330
|
-
python -m
|
|
330
|
+
python -m delta_theory.dbt_unified point --d 30 --c 0.5 --T 300
|
|
331
331
|
|
|
332
332
|
# Temperature axis analysis (DBTT)
|
|
333
|
-
python -m
|
|
333
|
+
python -m delta_theory.dbt_unified T_axis --d 30 --c 0.5
|
|
334
334
|
|
|
335
335
|
# Grain size axis analysis (ductile window)
|
|
336
|
-
python -m
|
|
336
|
+
python -m delta_theory.dbt_unified d_axis --T 300 --c 0.5 --find_c_crit
|
|
337
337
|
```
|
|
338
338
|
|
|
339
339
|
---
|
|
340
340
|
|
|
341
341
|
## 📊 Validation Data
|
|
342
342
|
|
|
343
|
+
### FLC v8.1 Validation
|
|
344
|
+
|
|
345
|
+
| Material | Structure | MAE | Data Points |
|
|
346
|
+
|----------|-----------|-----|-------------|
|
|
347
|
+
| Cu | FCC | 3.4% | 7 |
|
|
348
|
+
| Ti | HCP | 4.8% | 7 |
|
|
349
|
+
| SPCC | BCC | 4.2% | 7 |
|
|
350
|
+
| Al5052 | FCC | 6.8% | 7 |
|
|
351
|
+
| SUS304 | FCC | 3.9% | 7 |
|
|
352
|
+
| DP590 | BCC | 4.2% | 7 |
|
|
353
|
+
| Mg_AZ31 | HCP | 5.6% | 7 |
|
|
354
|
+
| **Overall** | — | **4.7%** | **49** |
|
|
355
|
+
|
|
343
356
|
### FatigueData-AM2022 (Upstash Redis)
|
|
344
357
|
|
|
345
358
|
Instant access to 1.49M fatigue data points:
|
|
346
|
-
|
|
347
359
|
```python
|
|
348
|
-
from
|
|
360
|
+
from delta_theory import FatigueDB
|
|
349
361
|
|
|
350
362
|
db = FatigueDB()
|
|
351
363
|
ti64 = db.get_sn_for_delta('Ti-6Al-4V', R=-1.0)
|
|
@@ -366,7 +378,6 @@ for point in ti64:
|
|
|
366
378
|
---
|
|
367
379
|
|
|
368
380
|
## 🖥️ Web Application
|
|
369
|
-
|
|
370
381
|
```bash
|
|
371
382
|
cd apps
|
|
372
383
|
streamlit run delta_fatigue_app.py
|
|
@@ -380,7 +391,6 @@ Features:
|
|
|
380
391
|
---
|
|
381
392
|
|
|
382
393
|
## 🧪 Testing
|
|
383
|
-
|
|
384
394
|
```bash
|
|
385
395
|
pytest tests/ -v
|
|
386
396
|
```
|
|
@@ -397,7 +407,7 @@ pytest tests/ -v
|
|
|
397
407
|
|
|
398
408
|
1. **Materials = Highly Viscous Fluids** — Deformation is "flow", not "fracture"
|
|
399
409
|
2. **Fatigue Limits = Geometric Consequence of Crystal Structure** — BCC/FCC/HCP differences emerge naturally
|
|
400
|
-
3. **
|
|
410
|
+
3. **Forming Limit = Geometry + Localization** — C_j captures strain path, R_j captures crystal resistance
|
|
401
411
|
4. **Fitting Parameters ≈ 0** — Derived from crystal geometry, not curve fitting
|
|
402
412
|
|
|
403
413
|
### Version History
|
|
@@ -405,10 +415,27 @@ pytest tests/ -v
|
|
|
405
415
|
| Version | Feature |
|
|
406
416
|
|---------|---------|
|
|
407
417
|
| v5.0 | Yield stress from δ-theory |
|
|
408
|
-
| v6.9b | Unified yield + fatigue with multiaxial |
|
|
418
|
+
| v6.9b | Unified yield + fatigue with multiaxial (τ/σ, R_comp) |
|
|
409
419
|
| v6.10 | Universal fatigue validation (2472 points) |
|
|
410
420
|
| v7.2 | FLC from free volume consumption |
|
|
411
|
-
| **v8.
|
|
421
|
+
| **v8.1** | **FLC 7-mode discrete formulation** |
|
|
422
|
+
| **v8.2** | **v6.9 integration + CLI commands** |
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
## 💡 Forming-Fatigue (Simple Rule)
|
|
427
|
+
|
|
428
|
+
> **"Forming makes it weak"** — Stretched lattice = Nearly broken bonds
|
|
429
|
+
```
|
|
430
|
+
Before: ●──●──●──● (r₀)
|
|
431
|
+
After: ●───●───●───● (r > r₀, about to break!)
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
Simple formula:
|
|
435
|
+
```python
|
|
436
|
+
eta = eps_formed / eps_FLC # How much capacity used
|
|
437
|
+
r_th_eff = r_th * (1 - eta) # Remaining fatigue threshold
|
|
438
|
+
```
|
|
412
439
|
|
|
413
440
|
---
|
|
414
441
|
|
|
@@ -428,14 +455,13 @@ Data sources (FatigueData-AM2022): CC BY 4.0
|
|
|
428
455
|
---
|
|
429
456
|
|
|
430
457
|
## 📚 Citation
|
|
431
|
-
|
|
432
458
|
```bibtex
|
|
433
459
|
@software{delta_theory_2025,
|
|
434
460
|
author = {Iizumi, Masamichi and Tamaki},
|
|
435
461
|
title = {δ-Theory: Unified Materials Strength, Fatigue, and Forming Framework},
|
|
436
|
-
version = {8.
|
|
462
|
+
version = {8.2.0},
|
|
437
463
|
year = {2025},
|
|
438
|
-
url = {https://github.com/miosync/delta-theory},
|
|
464
|
+
url = {https://github.com/miosync-inc/delta-theory},
|
|
439
465
|
doi = {10.5281/zenodo.18457897}
|
|
440
466
|
}
|
|
441
467
|
```
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
apps/__init__.py,sha256=Jjt0FwRjaPFkffK1I4OUp2M0IR2oeh9yaeLPRhyPCxw,95
|
|
2
2
|
apps/delta_fatigue_app.py,sha256=2lDdKF9NeyzQB7VyH0-vSZF7IveSrNAIwtRpYPekFNM,12448
|
|
3
3
|
core/Universal_Lindemann.py,sha256=lEDhhSzE3sVhwSqaG1EeNCr1PuCRLaYj0C6faISGaO0,14227
|
|
4
|
-
core/__init__.py,sha256=
|
|
5
|
-
core/__main__.py,sha256=
|
|
4
|
+
core/__init__.py,sha256=Ly6qhzXcJeLeV36XNMI_Y5oT-To1Y5Gtt2HRFzCDSeE,9592
|
|
5
|
+
core/__main__.py,sha256=brjs30TnOXUiYJkIu2Ott8V_qCfV3FudjuV6kh8xwxg,20452
|
|
6
6
|
core/banners.py,sha256=HOHtue250kQJYLhSTJrRtruQ70zWQOKTQ_K1jRT5LSo,18609
|
|
7
7
|
core/dbt_unified.py,sha256=m-tO6mDnEmpWfmuWKSAyX_0wLhPiXJ5VWQ0uUpNWuSY,23042
|
|
8
8
|
core/fatigue_redis_api.py,sha256=4fXVhDuXPads_CjBkqQex2YUOjw2WxdTgZo2SxpbWvc,16274
|
|
9
9
|
core/materials.py,sha256=FLVQWOrQ_CooDr-wi3S6GJnTGDV15RpHGCnbVIEy0q0,17051
|
|
10
|
-
core/
|
|
10
|
+
core/unified_flc_v8_1.py,sha256=3ht_biYoKy3epM5burnag8Nb1sQ9JqTue7VhbhyGiUY,26843
|
|
11
11
|
core/unified_yield_fatigue_v6_9.py,sha256=DhvUa3DluJV_uHN0TDzIJ3rNeZakmwaDAZ8EXHCw3Ps,31766
|
|
12
|
-
delta_theory-8.1.
|
|
13
|
-
delta_theory-8.1.
|
|
14
|
-
delta_theory-8.1.
|
|
15
|
-
delta_theory-8.1.
|
|
16
|
-
delta_theory-8.1.
|
|
17
|
-
delta_theory-8.1.
|
|
12
|
+
delta_theory-8.2.1.dist-info/licenses/LICENSE,sha256=8dVpjRFTkE7BbLXxN9C2jwYio3jR9mD3q-DRcnqsQQo,1211
|
|
13
|
+
delta_theory-8.2.1.dist-info/METADATA,sha256=atud6G-VIgnYolWgB96xtjfIhpb8u4krbUkGbdbPfDk,14284
|
|
14
|
+
delta_theory-8.2.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
15
|
+
delta_theory-8.2.1.dist-info/entry_points.txt,sha256=SbfW_U3JII-Ygfnfx1qRw7-zdXUf7f2h8ZAUxxKxWu0,103
|
|
16
|
+
delta_theory-8.2.1.dist-info/top_level.txt,sha256=y2DGPXIOL_UZHy6CTjK7_CvOytT9zdBpsg7BW5R6mxQ,10
|
|
17
|
+
delta_theory-8.2.1.dist-info/RECORD,,
|