Class Structure

        ---
title: Elements
---
classDiagram
    class Element {
        +type1 attribute1
        +returntype1 method1()
    }

    class Technology {
        +store_input_data()
    }
    class Carrier {
        +store_input_data()
    }
    class ConversionTechnology {
        +store_input_data()
    }
    class StorageTechnology {
        +store_input_data()
    }
    class RetrofittingTechnology {
        +store_input_data()
    }
    class TransportTechnology {
        +store_input_data()
    }


    Element <|-- Technology
    Element <|-- Carrier
    Technology <|-- ConversionTechnology
    Technology <|-- StorageTechnology
    Technology <|-- TransportTechnology
    ConversionTechnology <|-- RetrofittingTechnology
    
        ---
title: Rules
---
classDiagram
    class GenericRule
    class CarrierRules
    class TechnologyRules
    class ConversionTechnologyRules
    class StorageTechnologyRules
    class RetrofittingTechnologyRules
    class TransportTechnologyRules

    GenericRule <|-- CarrierRules
    GenericRule <|-- TechnologyRules
    GenericRule <|-- ConversionTechnologyRules
    GenericRule <|-- StorageTechnologyRules
    GenericRule <|-- TransportTechnologyRules
    GenericRule <|-- RetrofittingTechnologyRules
    
        ---
title: Default Config
---
classDiagram

    class Subscriptable
    class Config
    class System
    class Solver
    class Analysis
    class Subsets
    class HeaderDataInputs
    class TimeSeriesAggregation

    Subscriptable <|-- Config
    Config *-- Analysis
    Config *-- Solver
    Config *-- System
    Subscriptable <|-- Analysis
    Subscriptable <|-- TimeSeriesAggregation
    Subscriptable <|-- Solver
    Subscriptable <|-- System
    Subscriptable <|-- HeaderDataInputs
    Subscriptable <|-- Subsets
    
        ---
title: Components
---
classDiagram
    class Component
    class ZenIndex
    class ZenSet
    class IndexSet
    class DictParameter
    class Parameter
    class Variable
    class Constraint

    Component <|-- IndexSet
    Component <|-- Parameter
    Component <|-- Variable
    Component <|-- Constraint