Skip to content

Commit dd8a5fc

Browse files
committed
chore: updating notebooks and tutorial documentation for clarity and consistency
1 parent 895f70f commit dd8a5fc

4 files changed

Lines changed: 90 additions & 81 deletions

File tree

docs/source/_static/examples/notebooks/PyDASA-Online-Custom.ipynb

Lines changed: 28 additions & 22 deletions
Large diffs are not rendered by default.

docs/source/index.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,9 @@ Acknowledgements
8383
The theoretical foundation of dimensional analysis in **PyDASA** draws upon the classical work:
8484

8585
.. card::
86-
8786
**Dimensionsanalyse: Theorie der physikalischen Dimensionen mit Anwendungen**
8887
^^^
89-
:Author: H. Görtler
88+
:Author: Henry Görtler
9089
:Series: Ingenieurwissenschaftliche Bibliothek (Engineering Science Library)
9190
:Publisher: Springer-Verlag
9291
:Year: 1975
@@ -98,7 +97,6 @@ This comprehensive treatise provides the rigorous mathematical foundation for th
9897
Also, **PyDASA** was inspired by the work of Mokbel Karam and Tony Saad in **BuckinghamPy** presented in:
9998

10099
.. card::
101-
102100
**BuckinghamPy: A Python software for dimensional analysis**
103101
^^^
104102
:Authors: Mokbel Karam, Tony Saad

docs/source/public/examples/customization.rst

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ We'll analyze a queueing system with:
3434

3535
This will generate three key dimensionless coefficients:
3636

37-
- **Occupancy (δ = L/K)** - Queue capacity utilization
37+
- **Occupancy (θ = L/K)** - Queue capacity utilization
3838
- **Stall (σ = W·λ/L)** - Service blocking indicator
39-
- **Efective-Utility (η = K·λ/(c·μ))** - Resource utilization effectiveness
39+
- **Effective-Yield (η = K·λ/(c·μ))** - Resource utilization effectiveness
4040

4141
----
4242

@@ -94,8 +94,7 @@ Create a schema with only **two** fundamental dimensional units (FDUs):
9494
]
9595
9696
# Create schema
97-
schema = Schema(_fwk="CUSTOM", _fdu_lt=fdu_list, _idx=0)
98-
schema._setup_fdus()
97+
schema = Schema(_fwk="CUSTOM", _fdu_lt=fdu_list)
9998
10099
print("=== Simplified Custom Framework Created ===")
101100
print(f"Framework: {schema.fwk}")
@@ -311,7 +310,7 @@ Transform the Pi groups into operationally meaningful coefficients:
311310
# Derive Stall Coefficient: σ = Π₁ = W·λ/L
312311
sigma_coeff = engine.derive_coefficient(
313312
expr=f"{pi_keys[1]}",
314-
symbol="\\psi",
313+
symbol="\\sigma",
315314
name="Stall Coefficient",
316315
description="σ = W·λ/L - Service stall/blocking indicator",
317316
idx=-1
@@ -332,22 +331,22 @@ Transform the Pi groups into operationally meaningful coefficients:
332331
eta_val = eta_coeff.calculate_setpoint()
333332
334333
# Occupancy Coefficient: L/K
335-
print(f"Occupancy: δ=(L/K) = {delta_val:.4f}")
334+
print(f"Occupancy: θ = L/K = {delta_val:.4f}")
336335
337336
# Stall Coefficient: σ = W·λ/L
338337
print(f"Stall: σ = W·λ/L = {sigma_val:.4f}")
339338
340-
# Efective-Utility Coefficient: η = K·λ/(c·μ)
341-
print(f"Efective-Utility: η = K·λ/(c·μ) = {eta_val:.4f}")
339+
# Effective-Yield Coefficient: η = K·λ/(c·μ)
340+
print(f"Effective-Yield: η = K·λ/(c·μ) = {eta_val:.4f}")
342341
343342
**Expected Output:**
344343

345344
.. code-block:: text
346345
347346
=== Deriving Operational Coefficients ===
348-
Occupancy: δ=(L/K) = 0.0995
347+
Occupancy: θ = L/K = 0.0995
349348
Stall: σ = W·λ/L = 0.5027
350-
Efective-Utility: η = K·λ/(c·μ) = 2.5000
349+
Effective-Yield: η = K·λ/(c·μ) = 2.5000
351350
352351
----
353352

@@ -380,7 +379,7 @@ Create a systematic grid of configurations:
380379
print("=== Generating Grid Data ===")
381380
382381
# Grid parameters
383-
K_values = [5, 10, 20] # Capacity values
382+
K_values = [4, 8, 16] # Capacity values
384383
c_values = [1.0, 2.0, 4.0] # Server counts
385384
mu_values = [200.0, 500.0, 1000.0] # Service rates
386385
@@ -413,7 +412,7 @@ For each configuration, sweep arrival rate until utilization threshold:
413412
414413
# Generate data
415414
for idx, (K, c, mu) in enumerate(cfg_lt, 1):
416-
print(f"\t-*- Config {idx}/{len(cfg_lt)}: K={K}, c={c}, μ={mu} -*-")
415+
print(f"\t-- Config {idx}/{len(cfg_lt)}: K={K}, c={c}, μ={mu} --")
417416
lambda_t = lambda_zero
418417
rho_t = 0.0
419418
@@ -446,10 +445,10 @@ For each configuration, sweep arrival rate until utilization threshold:
446445
447446
=== Generating Grid Data ===
448447
Total configurations: 27
449-
-*- Config 1/27: K=5, c=1.0, μ=200.0 -*-
450-
-*- Config 2/27: K=5, c=1.0, μ=500.0 -*-
448+
-- Config 1/27: K=4, c=1.0, μ=200.0 --
449+
-- Config 2/27: K=4, c=1.0, μ=500.0 --
451450
...
452-
-*- Config 27/27: K=20, c=4.0, μ=1000.0 -*-
451+
-- Config 27/27: K=16, c=4.0, μ=1000.0 --
453452
Generated 3150 data points
454453
Data injected into PyDASA engine!
455454
@@ -504,7 +503,7 @@ Step 3.1: Create Simulation Handler
504503
505504
=== Running Monte Carlo Simulation ===
506505
Simulation complete: 3150 experiments
507-
Results for: ['\\Pi_{0}', '\\Pi_{1}', '\\Pi_{2}', '\\Pi_{3}', '\\delta', '\\psi', '\\eta']
506+
Results for: ['\\Pi_{0}', '\\Pi_{1}', '\\Pi_{2}', '\\Pi_{3}', '\\delta', '\\sigma', '\\eta']
508507
509508
Step 3.2: Extract Simulation Results
510509
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -528,15 +527,15 @@ Step 3.2: Extract Simulation Results
528527
# Get data arrays
529528
print("\n=== Simulation Results Details ===")
530529
if len(derived_keys) > 0:
531-
delta_sim = pi_data[derived_keys[0]]
530+
theta_sim = pi_data[derived_keys[0]]
532531
sigma_sim = pi_data[derived_keys[1]]
533532
eta_sim = pi_data[derived_keys[2]]
534533
lambda_data = np.array(pi_data["\\lambda"])
535534
mu_data = np.array(pi_data["\\mu"])
536535
c_data = np.array(pi_data["c"])
537536
K_data = np.array(pi_data["K"])
538537
539-
print(f"Occupancy (δ): Mean = {np.mean(delta_sim):.4e}, Range = [{np.min(delta_sim):.4e}, {np.max(delta_sim):.4e}]")
538+
print(f"Occupancy (θ): Mean = {np.mean(theta_sim):.4e}, Range = [{np.min(theta_sim):.4e}, {np.max(theta_sim):.4e}]")
540539
print(f"Stall (σ): Mean = {np.mean(sigma_sim):.4e}, Range = [{np.min(sigma_sim):.4e}, {np.max(sigma_sim):.4e}]")
541540
print(f"Effective-Yield (η): Mean = {np.mean(eta_sim):.4e}, Range = [{np.min(eta_sim):.4e}, {np.max(eta_sim):.4e}]")
542541
@@ -545,12 +544,12 @@ Step 3.2: Extract Simulation Results
545544
.. code-block:: text
546545
547546
=== Extracting Simulation Results ===
548-
Processing simulation: \delta
549-
Processing simulation: \psi
547+
Processing simulation: \theta
548+
Processing simulation: \sigma
550549
Processing simulation: \eta
551550
552551
=== Simulation Results Details ===
553-
Occupancy (δ): Mean = 4.2156e-01, Range = [9.9463e-02, 9.5238e-01]
552+
Occupancy (θ): Mean = 4.2156e-01, Range = [9.9463e-02, 9.5238e-01]
554553
Stall (σ): Mean = 1.4532e+00, Range = [5.0271e-01, 7.1250e+00]
555554
Effective-Yield (η): Mean = 7.5463e-01, Range = [6.2500e-02, 2.5000e+00]
556555
@@ -586,22 +585,22 @@ Create a 2×2 grid showing 3D space and three 2D projections:
586585
# Auxiliary lists for plot configuration
587586
plot_types = ["3D", "2D", "2D", "2D"]
588587
plot_titles = [
589-
r"3D Space: $\boldsymbol{\delta}$ vs $\boldsymbol{\psi}$ vs $\boldsymbol{\eta}$",
590-
r"2D Plane: $\boldsymbol{\delta}$ vs $\boldsymbol{\psi}$",
591-
r"2D Plane: $\boldsymbol{\delta}$ vs $\boldsymbol{\eta}$",
592-
r"2D Plane: $\boldsymbol{\psi}$ vs $\boldsymbol{\eta}$"
588+
r"3D Space: $\boldsymbol{\theta}$ vs $\boldsymbol{\sigma}$ vs $\boldsymbol{\eta}$",
589+
r"2D Plane: $\boldsymbol{\theta}$ vs $\boldsymbol{\sigma}$",
590+
r"2D Plane: $\boldsymbol{\theta}$ vs $\boldsymbol{\eta}$",
591+
r"2D Plane: $\boldsymbol{\sigma}$ vs $\boldsymbol{\eta}$"
593592
]
594593
595594
x_labels = [
596-
r"Occupancy ($\boldsymbol{\delta}$)",
597-
r"Occupancy ($\boldsymbol{\delta}$)",
598-
r"Occupancy ($\boldsymbol{\delta}$)",
599-
r"Stall ($\boldsymbol{\psi}$)"
595+
r"Occupancy ($\boldsymbol{\theta}$)",
596+
r"Occupancy ($\boldsymbol{\theta}$)",
597+
r"Occupancy ($\boldsymbol{\theta}$)",
598+
r"Stall ($\boldsymbol{\sigma}$)"
600599
]
601600
602601
y_labels = [
603-
r"Stall ($\boldsymbol{\psi}$)",
604-
r"Stall ($\boldsymbol{\psi}$)",
602+
r"Stall ($\boldsymbol{\sigma}$)",
603+
r"Stall ($\boldsymbol{\sigma}$)",
605604
r"Effective-Yield ($\boldsymbol{\eta}$)",
606605
r"Effective-Yield ($\boldsymbol{\eta}$)"
607606
]
@@ -610,9 +609,9 @@ Create a 2×2 grid showing 3D space and three 2D projections:
610609
611610
# Data pairs for each subplot
612611
data_pairs = [
613-
(delta_sim, sigma_sim, eta_sim), # 3D plot
614-
(delta_sim, sigma_sim, None), # delta vs sigma
615-
(delta_sim, eta_sim, None), # delta vs eta
612+
(theta_sim, sigma_sim, eta_sim), # 3D plot
613+
(theta_sim, sigma_sim, None), # theta vs sigma
614+
(theta_sim, eta_sim, None), # theta vs eta
616615
(sigma_sim, eta_sim, None) # sigma vs eta
617616
]
618617

tests/notebooks/PyDASA-Online-Custom.ipynb

Lines changed: 28 additions & 22 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)