Migrated from GitHub
Go to file
Michael Zargham 12f88db31b updates
added degradation terms so the system incurs perpetual costs. Added new target vs budget functions in the spend controllers
2019-01-01 22:35:54 -08:00
SimCAD readme 2018-12-05 17:18:05 -05:00
demos updates 2019-01-01 22:35:54 -08:00
.gitignore gitignore 2018-12-05 17:20:55 -05:00
README.md readme 2018-12-05 17:18:05 -05:00
requirements.txt Execution Ctx pt.1 2018-11-19 22:19:57 -05:00
setup.py Reafactor Pt. 6: changed project structure / pip install 2018-11-17 11:37:29 -05:00

README.md

SimCad

Dependencies:

pip install -r requirements.txt

Project:

Example Runs: /simulations/sim_test.py

Example Configurations: /simulations/validation/

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 simulations.validation import config1, config2
from SimCAD import configs

# ToDo: pass ExecutionContext with execution method as ExecutionContext input

exec_mode = ExecutionMode()


print("Simulation Execution 1")
print()
first_config = [configs[0]] # from config1
single_proc_ctx = ExecutionContext(context=exec_mode.single_proc)
run1 = Executor(exec_context=single_proc_ctx, configs=first_config)
run1_raw_result, tensor_field  = run1.main()
result = pd.DataFrame(run1_raw_result)
# result.to_csv('~/Projects/DiffyQ-SimCAD/results/config4.csv', sep=',')
print()
print("Tensor Field:")
print(tabulate(tensor_field, headers='keys', tablefmt='psql'))
print("Output:")
print(tabulate(result, headers='keys', tablefmt='psql'))
print()

print("Simulation Execution 2: Pairwise Execution")
print()
multi_proc_ctx = ExecutionContext(context=exec_mode.multi_proc)
run2 = Executor(exec_context=multi_proc_ctx, configs=configs)
for raw_result, tensor_field in run2.main():
    result = pd.DataFrame(raw_result)
    print()
    print("Tensor Field:")
    print(tabulate(tensor_field, headers='keys', tablefmt='psql'))
    print("Output:")
    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