Skip to main content

A Python package for building stock simulations

Project description

SimStock

Tests PyPI version Documentation Status

SimStock is a python package for taking geographical and contextual data, processing it into a form compatible with EnergyPlus, and running thermal simulations. This provides an intermediate layer between various data types and EnergyPlus, allowing urban building energy models (UBEMs) to be run straightforwardly from QGIS etc. The software performs the following setps:

  1. Geometrical pre-processing. This ensures the input data is compatible with EnergyPlus.
  2. The creation of thermal zone object data for EnergyPlus.
  3. Running the simulation and handling the results.

Full docs are available at ReadtheDocs.


Installation

NOTE: SimStock requires Python 3.11 to 3.13, as well as an EnergyPlus installation.

After ensuring you have EnergyPlus installed, and Python 3.11-3.13, simply run

    pip install simstock

in the command line.

Usage

SimStock is structured around two objects: the SimstockDataframe and the IDFmanager. The SimstockDataframe is an extension of a Pandas Dataframe. It allows data to be read in from a variety of formats. It also performs geometric simplification on the data to ensure it conforms to EnergyPlus input standards. The SimstockDataframe also contains the EnergyPlus settings, allowing easy manipulation of materials etc. Once these settings have been set, and any geometrical simplification perfomed, the IDFmanager then creates the necessary thermal zones from the SimstockDataframe. The IDFmanager can also be used to run an EnergyPlus simulation.

Below is an example of a typical Simstock work flow.

    # Import the simstock package
    import simstock as sim

    # Let's say we have some test data stored in a file called test.csv. 
    # We can read it in as a SimstockDataframe:
    sdf = sim.read_csv("test.csv")

    # We now perform geometrical pre-processing:
    sdf.preprocessing()

    # Now create an new instance of an IDFmanager object that takes the
    # processed SimstockDataframe as an argument:
    simulation = sim.IDFmanager(sdf)

    # Create the thermal zones necessary for EnergyPlus
    simulation.create_model_idf()

    # Run the energy plus simulation
    simulation.run()

Community and Support

Contributions to SimStock are welcome. Please read CONTRIBUTING.md for guidance on testing, bug reporting and constributing code.

Contribution to SimStock is covered by CODE_OF_CONDUCT.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simstock-0.3.0.tar.gz (368.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simstock-0.3.0-py3-none-any.whl (351.4 kB view details)

Uploaded Python 3

File details

Details for the file simstock-0.3.0.tar.gz.

File metadata

  • Download URL: simstock-0.3.0.tar.gz
  • Upload date:
  • Size: 368.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.12.3 Linux/6.14.0-1017-azure

File hashes

Hashes for simstock-0.3.0.tar.gz
Algorithm Hash digest
SHA256 94a06ba2a9a4801c6120e48ec5f9c7ca0893395ff937dfb3b912cf964afa7784
MD5 b04f8f31c3f1a54f70c67f762d8a6bd6
BLAKE2b-256 efdf6ea689d5645481ef5fe7cfd8b31f872c18a07d25eb865360a57d4d804b23

See more details on using hashes here.

File details

Details for the file simstock-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: simstock-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 351.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.12.3 Linux/6.14.0-1017-azure

File hashes

Hashes for simstock-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be851343e16260c5ef65ee5a5aa17d7cae8fa99e78ace1b4d8aa9f776e9ed78f
MD5 a0f187f7895f8c2ffa86e7c4c89b632e
BLAKE2b-256 e95248114dd781e162383d808c16cebdc51db510c78fb9c78c1e4f61286ff055

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page