sogno-platform / dpsim

Real-time power system simulator including powerflow, (dynamic) phasors and EMT
https://sogno.energy/dpsim/
Mozilla Public License 2.0
67 stars 49 forks source link

Restructure integration of powerflow and dynamic simulation #57

Open m-mirz opened 2 years ago

m-mirz commented 2 years ago

The integration of powerflow and dynamic simulation (SP,DP,EMT) should be improved. The idea is to

The picture below shows the proposed class structure.

dpsim-top-sim-comp

m-mirz commented 2 years ago

The first goal is to decouple the CIM import and the creation of simulation components. The class structure could look like this:

ParserInterface {
    SystemTopology createTopolgicalComponents()
}

CIMParser (CIM::Reader) : ParserInterface { 
    // uses libcimpp
    createTopolgicalComponents() override;
}

ComponentFactoryInterface {
    SystemTopology createSimComponents(SystemTopology, SolverParameters)
}

EMTComponentFactory : ComponentFactoryInterface { 
    SystemTopology createSimComponents(SystemTopology, SolverParameters) override;
}

DPComponentFactory : ComponentFactoryInterface { ... }

SPComponentFactory : ComponentFactoryInterface { ... }