Requirements#

Here we outline the key requirements and specifications that guided the design and development of the PyDASA as follows:

Manage Dimensional Domain#

  1. Manage Fundamental Dimensions beyond traditional physical units (L, M, T) to include computational (T, S, N) and software architecture domains (T, D, E, C, A).

  2. Switch between frameworks for different problem domains.

Manage Symbolic and Numerical Variables#

  1. Define dimensional parameters with complete specifications:
    • Specify symbolic representation (name, LaTeX symbol).

    • Define dimensional formula (e.g., “L*T^-1” for velocity).

    • Establish numerical ranges (min, max, mean, step)

    • Assign classification (input, output, control).

    • Configure statistical distributions and dependencies.

  2. Support progressive enhancement of variable definitions from symbolic to numerical to probabilistic within a unified class structure.

  3. Compose variables from modular perspectives addressing conceptual, symbolic, numerical, and probabilistic aspects.

Integrate System of Units of Measurement#

  1. Handle measurements across unit systems (imperial, metric, custom).

  2. Convert between units while maintaining dimensional consistency.

  3. Relate measurements to dimensional parameters.

Discover Dimensionless Coefficients#

  1. Generate dimensionless numbers using the Buckingham Pi theorem:
    • Build relevance list by identifying mutually independent parameters influencing the phenomenon.

    • Construct dimensional matrix by arranging FDUs (rows) and variables (columns) into core and residual matrices.

    • Transform to identity matrix by applying linear transformations to the core matrix.

    • Generate Pi coefficients by combining residual and unity matrices to produce dimensionless groups.

  2. Classify coefficients by repeating vs. non-repeating parameters.

  3. Manage metadata: names, symbols, formulas, and parameter relationships.

Analyze and Simulate Coefficient Behavior#

  1. Verify similitude principles for model scaling and validation.

  2. Calculate coefficient ranges and parameter influence.

  3. Run Monte Carlo simulations to quantify uncertainty propagation.

  4. Perform sensitivity analysis to identify dominant parameters.

  5. Generate behavioral data for dimensionless relationships.

Export, Integrate, and Visualize Data#

  1. Export data formats compatible with pandas, matplotlib, seaborn.

  2. Structure results for integration with visualization libraries.

  3. Provide standardized outputs for dimensionless charts and parameter influence plots.