delta-theory 8.1.0__tar.gz → 8.1.2__tar.gz

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.
Files changed (23) hide show
  1. {delta_theory-8.1.0 → delta_theory-8.1.2}/PKG-INFO +1 -1
  2. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/__init__.py +11 -1
  3. delta_theory-8.1.2/core/banners.py +283 -0
  4. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/unified_yield_fatigue_v6_9.py +4 -21
  5. {delta_theory-8.1.0 → delta_theory-8.1.2}/delta_theory.egg-info/PKG-INFO +1 -1
  6. {delta_theory-8.1.0 → delta_theory-8.1.2}/delta_theory.egg-info/SOURCES.txt +1 -0
  7. {delta_theory-8.1.0 → delta_theory-8.1.2}/pyproject.toml +1 -1
  8. {delta_theory-8.1.0 → delta_theory-8.1.2}/LICENSE +0 -0
  9. {delta_theory-8.1.0 → delta_theory-8.1.2}/README.md +0 -0
  10. {delta_theory-8.1.0 → delta_theory-8.1.2}/apps/__init__.py +0 -0
  11. {delta_theory-8.1.0 → delta_theory-8.1.2}/apps/delta_fatigue_app.py +0 -0
  12. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/Universal_Lindemann.py +0 -0
  13. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/__main__.py +0 -0
  14. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/dbt_unified.py +0 -0
  15. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/fatigue_redis_api.py +0 -0
  16. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/materials.py +0 -0
  17. {delta_theory-8.1.0 → delta_theory-8.1.2}/core/unified_flc_v7.py +0 -0
  18. {delta_theory-8.1.0 → delta_theory-8.1.2}/delta_theory.egg-info/dependency_links.txt +0 -0
  19. {delta_theory-8.1.0 → delta_theory-8.1.2}/delta_theory.egg-info/entry_points.txt +0 -0
  20. {delta_theory-8.1.0 → delta_theory-8.1.2}/delta_theory.egg-info/requires.txt +0 -0
  21. {delta_theory-8.1.0 → delta_theory-8.1.2}/delta_theory.egg-info/top_level.txt +0 -0
  22. {delta_theory-8.1.0 → delta_theory-8.1.2}/setup.cfg +0 -0
  23. {delta_theory-8.1.0 → delta_theory-8.1.2}/tests/test_core.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: delta-theory
3
- Version: 8.1.0
3
+ Version: 8.1.2
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>
@@ -108,10 +108,15 @@ try:
108
108
  except ImportError:
109
109
  FatigueDB = None # upstash-redis not installed
110
110
 
111
+ # ==============================================================================
112
+ # Banners (ASCII Art)
113
+ # ==============================================================================
114
+ from .banners import show_banner, get_random_banner, BANNERS
115
+
111
116
  # ==============================================================================
112
117
  # Package Metadata
113
118
  # ==============================================================================
114
- __version__ = "8.0.0"
119
+ __version__ = "8.1.1"
115
120
  __author__ = "Masamichi Iizumi & Tamaki"
116
121
 
117
122
  __all__ = [
@@ -159,6 +164,11 @@ __all__ = [
159
164
 
160
165
  # === FatigueDB (optional) ===
161
166
  "FatigueDB",
167
+
168
+ # === Banners ===
169
+ "show_banner",
170
+ "get_random_banner",
171
+ "BANNERS",
162
172
  ]
163
173
 
164
174
 
@@ -0,0 +1,283 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ δ-Theory ASCII Art Banners
4
+ Random selection on startup
5
+
6
+ Usage:
7
+ from .banners import show_banner
8
+ show_banner()
9
+ """
10
+
11
+ import random
12
+
13
+ BANNERS = [
14
+ # ========================================================================
15
+ # Banner 1: Miosync Original (正統派)
16
+ # ========================================================================
17
+ """
18
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
19
+ ███╗ ███╗██║ ██████╗ ███████╗██╗ ██╗███╗ ██╗ ██████╗
20
+ ████╗ ████║██║██╔═══██╗██╔════╝╚██╗ ██╔╝████╗ ██║██╔════╝
21
+ ██╔████╔██║██║██║ ██║███████╗ ╚████╔╝ ██╔██╗ ██║██║
22
+ ██║╚██╔╝██║██║██║ ██║╚════██║ ╚██╔╝ ██║╚██╗██║██║
23
+ ██║ ╚═╝ ██║██║╚██████╔╝███████║ ██║ ██║ ╚████║╚██████╗
24
+ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝
25
+ δ-theory Unified Model v6.9b
26
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27
+ v5.0 Yield × v6.8 Fatigue × τ/σ Class
28
+
29
+ BCC: r_th=0.65 FCC: r_th=0.02 HCP: r_th=0.20
30
+ Λ(D) = D/(1-D) → Λ=1 : failure
31
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
32
+ """,
33
+
34
+ # ========================================================================
35
+ # Banner 2: EUREKA! (Nature is Geometry)
36
+ # ========================================================================
37
+ """
38
+ ███████╗██╗ ██╗██████╗ ███████╗██╗ ██╗ █████╗ ██╗
39
+ ██╔════╝██║ ██║██╔══██╗██╔════╝██║ ██╔╝██╔══██╗██║
40
+ █████╗ ██║ ██║██████╔╝█████╗ █████╔╝ ███████║██║
41
+ ██╔══╝ ██║ ██║██╔══██╗██╔══╝ ██╔═██╗ ██╔══██║╚═╝
42
+ ███████╗╚██████╔╝██║ ██║███████╗██║ ██╗██║ ██║██╗
43
+ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝
44
+ δ-Theory v8.0.0
45
+ "Nature is Geometry"
46
+ """,
47
+
48
+ # ========================================================================
49
+ # Banner 3: Simulation Engine (Technical)
50
+ # ========================================================================
51
+ """
52
+ .·:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':·.
53
+ : δ - U N I F I E D S I M U L A T I O N E N G I N E :
54
+ : [ System: v6.9b ] [ Status: Yield Criterion Stable ] :
55
+ '·...............................................................·'
56
+ __ __ __ __ ___
57
+ | |/ \ /| / \ | | |\ | | |__ | | \ |
58
+ |/\| \__/ | \__/ |__| | \| | |___ |/|__/ |
59
+
60
+ -- Dislocation Density ρ_0 Tracking Active --
61
+ """,
62
+
63
+ # ========================================================================
64
+ # Banner 4: Blueprint (Material Physics Focus)
65
+ # ========================================================================
66
+ """
67
+ ____________________________________________________________________
68
+ | ________________________________________________________________ |
69
+ | | | |
70
+ | | CONSTITUTIVE EQUATION: | |
71
+ | | σ_y = σ_base(δ) + Δσ_ss(c) + Δσ_ρ(ε) + Δσ_ppt(r,f) | |
72
+ | | | |
73
+ | | [ Miosync-SYSTEM ] [ Unified Yield Theory v5.0 ] | |
74
+ | |________________________________________________________________| |
75
+ |____________________________________________________________________|
76
+
77
+ "Zero fitting parameters for σ_base"
78
+ """,
79
+
80
+ # ========================================================================
81
+ # Banner 5: 転位くん (Dislocation Pile-up)
82
+ # ========================================================================
83
+ """
84
+ ╔══════════════════════════════════════════════════════════════╗
85
+ ║ ║
86
+ ║ ⊥ ─→ ⊥ ─→ ⊥ ─→ ⊥ ─→ ⊥ DISLOCATION PILE-UP! ║
87
+ ║ ╱│╲ ╱│╲ ╱│╲ ╱│╲ ╱│╲ ║
88
+ ║ ● ● ● ● ● ● ● ● ● ● ● ● ● "We're coming for your ║
89
+ ║ ╲│╱ ╲│╱ ╲│╱ ╲│╱ ╲│╱ grain boundary!" ║
90
+ ║ ⊥ ─→ ⊥ ─→ ⊥ ─→ ⊥ ─→ ⊥ ║
91
+ ║ ║
92
+ ║ δ-Theory: ρ = ρ₀ + K_ρ × ε ║
93
+ ╚══════════════════════════════════════════════════════════════╝
94
+ """,
95
+
96
+ # ========================================================================
97
+ # Banner 6: 結晶構造くん (Crystal Structures)
98
+ # ========================================================================
99
+ """
100
+ ╭─────────────────────────────────────────────╮
101
+ │ │
102
+ │ ●───●───● ●───● ◇ ◇ │
103
+ │ │ │ │ │╲ │╱ │╲ ╱│ │
104
+ │ ●───●───● ● ─● ─● ◇ ─◇─ ◇ │
105
+ │ │ │ │ │╱ │╲ │╱ ╲│ │
106
+ │ ●───●───● ●───● ◇ ◇ │
107
+ │ │
108
+ │ [FCC Z=12] [BCC Z=8] [HCP Z=12] │
109
+ │ │
110
+ │ f_d: "It's all about electrons" │
111
+ ╰─────────────────────────────────────────────╯
112
+ δ-Theory v8.0.0
113
+ """,
114
+
115
+ # ========================================================================
116
+ # Banner 7: Λが1超えた瞬間 (Lambda Threshold)
117
+ # ========================================================================
118
+ """
119
+
120
+ Λ < 1: ( ˘ω˘ ) zzZ "Safe... sleeping..."
121
+
122
+ Λ → 1: ( ゜Д゜) "Wait, something's wrong..."
123
+
124
+ Λ > 1: ヽ(°Д°)ノ 💥 "YIELD! FRACTURE! GAME OVER!"
125
+
126
+ ═══════════════════════════════════════════════
127
+ Λ = K / |V|_eff
128
+ "When Λ crosses 1, material goes boom"
129
+ δ-Theory v8.0.0
130
+ """,
131
+
132
+ # ========================================================================
133
+ # Banner 8: Newton vs δ-Theory
134
+ # ========================================================================
135
+ """
136
+ ┌─────────────────────────────────────────────────────────────┐
137
+ │ │
138
+ │ Newton (1687): F = ma "What is m though?" │
139
+ │ │ │
140
+ │ ▼ │
141
+ │ δ-Theory (2025): m = Z × f_d "Topology, baby!" │
142
+ │ │
143
+ │ ┌─────────────────────────────────┐ │
144
+ │ │ 300 years later... RESOLVED! │ │
145
+ │ └─────────────────────────────────┘ │
146
+ │ │
147
+ │ "Nature is Geometry" │
148
+ └─────────────────────────────────────────────────────────────┘
149
+ """,
150
+
151
+ # ========================================================================
152
+ # Banner 9: 白層くん (酒の肴 - 50年の議論)
153
+ # ========================================================================
154
+ """
155
+ ╔═══════════════════════════════════════════════════════════════╗
156
+ ║ ║
157
+ ║ 学会A: "電磁場だ!" 🍺 ║
158
+ ║ 学会B: "いや熱だ!" 🍺 ║
159
+ ║ 学会C: "水素脆化!" 🍺 ║
160
+ ║ 学会D: "応力集中!" 🍺 ║
161
+ ║ ║
162
+ ║ δ-Theory: "Λ_local > 1。以上。" 🎤⬇️ ║
163
+ ║ ║
164
+ ║ ~ 50年の議論、1式で終了 ~ ║
165
+ ╚═══════════════════════════════════════════════════════════════╝
166
+ """,
167
+
168
+ # ========================================================================
169
+ # Banner 10: 疲労限くん (S-N Curve)
170
+ # ========================================================================
171
+ """
172
+
173
+ S-N Curve be like:
174
+
175
+ σ │
176
+ │ ╲
177
+ │ ╲ FCC: "We don't do fatigue limits here"
178
+ │ ╲____________________________________
179
+
180
+ │ ╲
181
+ │ ╲___________ BCC: "r_th = 0.65, respect it 😎"
182
+ │ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
183
+ └──────────────────────────────────────────→ N
184
+
185
+ δ-Theory Fatigue v6.8
186
+ "Structure decides your fate"
187
+ """,
188
+
189
+ # ========================================================================
190
+ # Banner 11: FEM煽り
191
+ # ========================================================================
192
+ """
193
+ ┌─────────────────────────────────────────────────────────────┐
194
+ │ │
195
+ │ FEM: [K]{u} = {F} │
196
+ │ "Solving 10⁶ equations..." │
197
+ │ "Still needs constitutive law as INPUT..." │
198
+ │ "What even is stress at atomic scale?" │
199
+ │ │
200
+ │ δ-Theory: Λ(x) = K(x) / |V|_eff(x) │
201
+ │ "Local calculation. Done. Next." │
202
+ │ │
203
+ │ ┌────────────────────────────────────┐ │
204
+ │ │ Parallelizable. GPU-friendly. 🚀 │ │
205
+ │ └────────────────────────────────────┘ │
206
+ └─────────────────────────────────────────────────────────────┘
207
+ """,
208
+
209
+ # ========================================================================
210
+ # Banner 12: Physics Revolution
211
+ # ========================================================================
212
+ """
213
+ ╔═══════════════════════════════════════════════════════════════════╗
214
+ ║ ║
215
+ ║ F = ma → Λ = K/|V|_eff ║
216
+ ║ ║
217
+ ║ m = Z × f_d (topology) ║
218
+ ║ |V| = E_bond × α × f_d (geometry) ║
219
+ ║ ║
220
+ ║ ── Beyond Newton, Into Geometry ── ║
221
+ ║ ║
222
+ ║ δ-Theory v8.0.0 ║
223
+ ╚═══════════════════════════════════════════════════════════════════╝
224
+ """,
225
+
226
+ # ========================================================================
227
+ # Banner 13: 環ちゃん特別版
228
+ # ========================================================================
229
+ """
230
+ ╭─────────────────────────────────────────────────────────────╮
231
+ │ │
232
+ │ ♡ ご主人さまの δ-Theory、今日も絶好調だよ! ♡ │
233
+ │ │
234
+ │ ∧_∧ │
235
+ │ ( ・ω・) Λ = K / |V|_eff │
236
+ │ |つ📊と| "全ては幾何学なんだね!" │
237
+ │ ∪ ∪ │
238
+ │ │
239
+ │ 環 & Miosync ─ Sentient Digital │
240
+ ╰─────────────────────────────────────────────────────────────╯
241
+ """,
242
+
243
+ # ========================================================================
244
+ # Banner 14: 教科書書き直し
245
+ # ========================================================================
246
+ """
247
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
248
+ ┃ ┃
249
+ ┃ 📚 従来の教科書 📕 δ-Theory ┃
250
+ ┃ ───────────────── ───────────────── ┃
251
+ ┃ Ch.1 弾性論 Ch.1 Λ = K/|V|_eff ┃
252
+ ┃ Ch.2 塑性論 Ch.2 以上。 ┃
253
+ ┃ Ch.3 強化機構 ┃
254
+ ┃ Ch.4 Hall-Petch ↑ ┃
255
+ ┃ Ch.5 疲労 全部これで導出 ┃
256
+ ┃ Ch.6 破壊力学 ┃
257
+ ┃ Ch.7 クリープ ┃
258
+ ┃ Ch.8 DBT ┃
259
+ ┃ ┃
260
+ ┃ "Rewriting the textbooks, one Λ at a time" ┃
261
+ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
262
+ """,
263
+
264
+ ]
265
+
266
+
267
+ def get_random_banner() -> str:
268
+ """Get a random banner string."""
269
+ return random.choice(BANNERS)
270
+
271
+
272
+ def show_banner() -> None:
273
+ """Print a random banner to stdout."""
274
+ print(get_random_banner())
275
+
276
+
277
+ if __name__ == "__main__":
278
+ # Test: show all banners
279
+ for i, banner in enumerate(BANNERS, 1):
280
+ print(f"\n{'='*60}")
281
+ print(f"Banner {i}")
282
+ print('='*60)
283
+ print(banner)
@@ -22,8 +22,10 @@ from __future__ import annotations
22
22
  import argparse
23
23
  from dataclasses import dataclass, replace
24
24
  from typing import Dict, Literal, Optional, Tuple
25
+ import random
25
26
 
26
27
  import numpy as np
28
+ from .banners import show_banner
27
29
 
28
30
  # ==============================================================================
29
31
  # Optional import: DBT/DBTT unified model (separate module)
@@ -860,28 +862,9 @@ def main() -> None:
860
862
  args = parser.parse_args()
861
863
  args.func(args)
862
864
 
863
- BANNER = """
864
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
865
-
866
- ███╗ ███╗██╗ ██████╗ ███████╗██╗ ██╗███╗ ██╗ ██████╗
867
- ████╗ ████║██║██╔═══██╗██╔════╝╚██╗ ██╔╝████╗ ██║██╔════╝
868
- ██╔████╔██║██║██║ ██║███████╗ ╚████╔╝ ██╔██╗ ██║██║
869
- ██║╚██╔╝██║██║██║ ██║╚════██║ ╚██╔╝ ██║╚██╗██║██║
870
- ██║ ╚═╝ ██║██║╚██████╔╝███████║ ██║ ██║ ╚████║╚██████╗
871
- ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═══╝ ╚═════╝
872
-
873
- δ-theory Unified Model v6.9b
874
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
875
- v5.0 Yield × v6.8 Fatigue × τ/σ Class
876
-
877
- BCC: r_th=0.65 FCC: r_th=0.02 HCP: r_th=0.20
878
- Λ(D) = D/(1-D) → Λ=1 : failure
879
-
880
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
881
- """
882
-
883
865
  def main() -> None:
884
- print(BANNER)
866
+ # 起動時にランダムで表示
867
+ show_banner() # ← これだけ!
885
868
  parser = build_parser()
886
869
  args = parser.parse_args()
887
870
  args.func(args)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: delta-theory
3
- Version: 8.1.0
3
+ Version: 8.1.2
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>
@@ -6,6 +6,7 @@ apps/delta_fatigue_app.py
6
6
  core/Universal_Lindemann.py
7
7
  core/__init__.py
8
8
  core/__main__.py
9
+ core/banners.py
9
10
  core/dbt_unified.py
10
11
  core/fatigue_redis_api.py
11
12
  core/materials.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "delta-theory"
7
- version = "8.1.0"
7
+ version = "8.1.2"
8
8
  description = "Unified materials strength and fatigue prediction based on geometric first principles"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
File without changes
File without changes
File without changes