cadCAD/README.md

1.8 KiB

SimCad

Dependencies:

pip install -r requirements.txt

Project:

Example Runs: /DiffyQ-SimCAD/sandboxUX/sim_test.py

Example Configurations: /DiffyQ-SimCAD/sandboxUX/connfig#.py

User Interface: Simulation Configuration

Configurations:

/DiffyQ-SimCAD/ui/config.py

Build Tool & Package Import:

Step 1. Build & Install Package locally:

pip install .
pip install -e .

Step 2. Import Package & Run:

import pandas as pd
from tabulate import tabulate

# The following imports NEED to be in the exact same order
from SimCAD.engine import ExecutionMode, ExecutionContext, Executor
from sandbox.validation import config1, config2
from SimCAD import configs

# ToDo: pass ExecutionContext with execution method as ExecutionContext input

exec_mode = ExecutionMode()


print("Simulation Run 1")
print()
single_config = [configs[0]]
single_proc_ctx = ExecutionContext(exec_mode.single_proc)
run1 = Executor(single_proc_ctx, single_config)
run1_raw_result = run1.main()
result = pd.DataFrame(run1_raw_result)
print(tabulate(result, headers='keys', tablefmt='psql'))
print()

print("Simulation Run 2: Pairwise Execution")
print()
multi_proc_ctx = ExecutionContext(exec_mode.multi_proc)
run2 = Executor(multi_proc_ctx, configs)
run2_raw_results = run2.main()
for raw_result in run2_raw_results:
    result = pd.DataFrame(raw_result)
    print(tabulate(result, headers='keys', tablefmt='psql'))
print()

Same can be run in Jupyter .

jupyter notebook

Notebooks Directory:
/DiffyQ-SimCAD/notebooks/

Warning: Do Not publish this package / software to Any software repository except DiffyQ-SimCAD's staging branch or its Fork