delta-theory 8.1.1__py3-none-any.whl → 8.1.2__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 CHANGED
@@ -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
 
core/banners.py ADDED
@@ -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)
@@ -25,6 +25,7 @@ from typing import Dict, Literal, Optional, Tuple
25
25
  import random
26
26
 
27
27
  import numpy as np
28
+ from .banners import show_banner
28
29
 
29
30
  # ==============================================================================
30
31
  # Optional import: DBT/DBTT unified model (separate module)
@@ -861,74 +862,12 @@ def main() -> None:
861
862
  args = parser.parse_args()
862
863
  args.func(args)
863
864
 
864
- # ==============================================================================
865
- # Banners (Rotation List)
866
- # ==============================================================================
867
- BANNERS = [
868
- # Banner 1: Original Standard
869
- """
870
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
871
- ███╗ ███╗██║ ██████╗ ███████╗██╗ ██╗███╗ ██╗ ██████╗
872
- ████╗ ████║██║██╔═══██╗██╔════╝╚██╗ ██╔╝████╗ ██║██╔════╝
873
- ██╔████╔██║██║██║ ██║███████╗ ╚████╔╝ ██╔██╗ ██║██║
874
- ██║╚██╔╝██║██║██║ ██║╚════██║ ╚██╔╝ ██║╚██╗██║██║
875
- ██║ ╚═╝ ██║██║╚██████╔╝███████║ ██║ ██║ ╚████║╚██████╗
876
- ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝
877
- δ-theory Unified Model v6.9b
878
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
879
- v5.0 Yield × v6.8 Fatigue × τ/σ Class
880
-
881
- BCC: r_th=0.65 FCC: r_th=0.02 HCP: r_th=0.20
882
- Λ(D) = D/(1-D) → Λ=1 : failure
883
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
884
- """,
885
-
886
- # Banner 2: Eureka Mode (Minimal & Mathematical)
887
- """
888
- ███████╗██╗ ██╗██████╗ ███████╗██╗ ██╗ █████╗ ██╗
889
- ██╔════╝██║ ██║██╔══██╗██╔════╝██║ ██╔╝██╔══██╗██║
890
- █████╗ ██║ ██║██████╔╝█████╗ █████╔╝ ███████║██║
891
- ██╔══╝ ██║ ██║██╔══██╗██╔══╝ ██╔═██╗ ██╔══██║╚═╝
892
- ███████╗╚██████╔╝██║ ██║███████╗██║ ██╗██║ ██║██╗
893
- ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝
894
- δ-Theory v8.0.0
895
- "Nature is Geometry"
896
- """,
897
-
898
- # Banner 3: Particle/Network Style (Technical)
899
- """
900
- .·:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':·.
901
- : δ - U N I F I E D S I M U L A T I O N E N G I N E :
902
- : [ System: v6.9b ] [ Status: Yield Criterion Stable ] :
903
- '·...............................................................·'
904
- __ __ __ __ ___
905
- | |/ \ /| / \ | | |\ | | |__ | | \ |
906
- |/\| \__/ | \__/ |__| | \| | |___ |/|__/ |
907
-
908
- -- Dislocation Density ρ_0 Tracking Active --
909
- """,
910
-
911
- # Banner 4: Blueprint Style (Material Physics Focus)
912
- """
913
- ____________________________________________________________________
914
- | ________________________________________________________________ |
915
- | | | |
916
- | | CONSTITUTIVE EQUATION: | |
917
- | | σ_y = σ_base(δ) + Δσ_ss(c) + Δσ_ρ(ε) + Δσ_ppt(r,f) | |
918
- | | | |
919
- | | [ Miosyc-SYSTEM ] [ Unified Yield Theory v5.0 ] | |
920
- | |________________________________________________________________| |
921
- |____________________________________________________________________|
922
- """
923
- ]
924
-
925
865
  def main() -> None:
926
866
  # 起動時にランダムで表示
927
- print(random.choice(BANNERS))
867
+ show_banner() # ← これだけ!
928
868
  parser = build_parser()
929
869
  args = parser.parse_args()
930
870
  args.func(args)
931
871
 
932
-
933
872
  if __name__ == '__main__':
934
873
  main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: delta-theory
3
- Version: 8.1.1
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>
@@ -1,16 +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=zY73QeQDKXDWV4R2_20vGD6YHcI_RYg2jnjtrjfblKQ,7214
4
+ core/__init__.py,sha256=uj8rd8BoZoaypODFRpAKc8D_O_ZYk8aSVMftFeoABGQ,7543
5
5
  core/__main__.py,sha256=ucbqEFFOXC4I1hFTZ-NDr-gQazqL6lutcSkcUjz0HMU,18669
6
+ core/banners.py,sha256=HOHtue250kQJYLhSTJrRtruQ70zWQOKTQ_K1jRT5LSo,18609
6
7
  core/dbt_unified.py,sha256=m-tO6mDnEmpWfmuWKSAyX_0wLhPiXJ5VWQ0uUpNWuSY,23042
7
8
  core/fatigue_redis_api.py,sha256=4fXVhDuXPads_CjBkqQex2YUOjw2WxdTgZo2SxpbWvc,16274
8
9
  core/materials.py,sha256=FLVQWOrQ_CooDr-wi3S6GJnTGDV15RpHGCnbVIEy0q0,17051
9
10
  core/unified_flc_v7.py,sha256=0v6-_vXCbf6U50Z1UuOySG4_otlGFeFkHp2DXVGj-Tk,24034
10
- core/unified_yield_fatigue_v6_9.py,sha256=KZVXEYZ7Oh5xu59zrryvJ1Xtmxt4ibBMa2vR772WfPg,36174
11
- delta_theory-8.1.1.dist-info/licenses/LICENSE,sha256=8dVpjRFTkE7BbLXxN9C2jwYio3jR9mD3q-DRcnqsQQo,1211
12
- delta_theory-8.1.1.dist-info/METADATA,sha256=l2lKYlO0z3kcizgB8b4BRC_-bRLECqbVXsnnmfbG4e0,12873
13
- delta_theory-8.1.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
14
- delta_theory-8.1.1.dist-info/entry_points.txt,sha256=SbfW_U3JII-Ygfnfx1qRw7-zdXUf7f2h8ZAUxxKxWu0,103
15
- delta_theory-8.1.1.dist-info/top_level.txt,sha256=y2DGPXIOL_UZHy6CTjK7_CvOytT9zdBpsg7BW5R6mxQ,10
16
- delta_theory-8.1.1.dist-info/RECORD,,
11
+ core/unified_yield_fatigue_v6_9.py,sha256=DhvUa3DluJV_uHN0TDzIJ3rNeZakmwaDAZ8EXHCw3Ps,31766
12
+ delta_theory-8.1.2.dist-info/licenses/LICENSE,sha256=8dVpjRFTkE7BbLXxN9C2jwYio3jR9mD3q-DRcnqsQQo,1211
13
+ delta_theory-8.1.2.dist-info/METADATA,sha256=N9i_oRqid7Ib9v1BZDRtw8bKh2zF-y58CZXMQ4AtdzU,12873
14
+ delta_theory-8.1.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
15
+ delta_theory-8.1.2.dist-info/entry_points.txt,sha256=SbfW_U3JII-Ygfnfx1qRw7-zdXUf7f2h8ZAUxxKxWu0,103
16
+ delta_theory-8.1.2.dist-info/top_level.txt,sha256=y2DGPXIOL_UZHy6CTjK7_CvOytT9zdBpsg7BW5R6mxQ,10
17
+ delta_theory-8.1.2.dist-info/RECORD,,