Market Types
POMATWO supports different market types, defined as subtypes of the abstract type MarketType. The market type specifies whether a zonal or nodal market design is used. Choosing the appropriate type is essential for model construction and simulation behavior.
POMATWO.MarketType — Type
MarketTypeAbstract supertype for market setup descriptors. Subtypes specify the market structure (zonal or nodal) and whether redispatch is considered.
Subtypes
ZonalMarket: Zonal market with specified exchange formulation.NodalMarket: Nodal market with specified load flow formulation.
These types are used to parameterize simulations or models, allowing code to dispatch on market design and redispatch handling.
sourceZonal Markets
Zonal markets are coarse representations of the power system, where nodes are aggregated into zones, and cross-border flows are modeled via exchange formulations.
POMATWO.ZonalMarket — Type
ZonalMarket{XF<:ExchangeFormulation} <: ZonalMarketTypeZonal market definition parameterized by an exchange formulation.
Fields
XF: Type of the exchange formulation, e.g.,NTCorFlowBased.
Constructors
ZonalMarket(): UsesNTCas default.ZonalMarket(XF::Type{<:ExchangeFormulation}): Specify exchange formulation type.
Nodal Markets
Nodal markets use detailed grid representations with nodal-level price formation and physical power flows.
POMATWO.NodalMarket — Type
NodalMarket{LF<:LFFormulation} <: NodalMarketTypeNodal market definition parameterized by a load flow formulation.
Fields
LF: Type of the load flow formulation, e.g.,PhaseAngleorPTDF.
Constructors
NodalMarket(): UsesPhaseAngleas default.NodalMarket(LF::Type{<:LFFormulation}): Specify load flow formulation type.
Exchange Formulations
Exchange formulations define how power exchanges between zones are handled in zonal market settings.
POMATWO.NTC — Type
NTC <: ExchangeFormulationNet Transfer Capacity formulation. Represents fixed interzonal capacity limits.
sourceLoad Flow Formulations
Load flow formulations are used in nodal market and redispatch settings to model physical power flows under DC approximations.
POMATWO.PhaseAngle — Type
PhaseAngle <: DCLFFormulationDC load flow formulation based on phase angle differences between nodes.
sourceRedispatch Setup
POMATWO supports optional redispatch modeling. Redispatch is activated via types derived from RedispatchSetup.
POMATWO.DCLF — Type
DCLF{DCF<:DCLFFormulation} <: RedispatchTypeRedispatch setup using a DC load flow formulation.
Fields
DCF: DC load flow formulation type (e.g.,PhaseAngle,PTDF).
Constructors
DCLF(): UsesPhaseAngleas default.DCLF(DCF::Type{<:DCLFFormulation}): User-defined formulation type.
POMATWO.NoRedispatch — Type
Prosumer Setup
Due to the increasing penetration of decentralized generation, especially rooftop PV, POMATWO includes the ability to model prosumers—entities that both consume and produce electricity. Prosumers can be passive or actively optimize their market behavior depending on price signals and tariff schemes.
POMATWO.ProsumerSetup — Type
ProsumerSetupAbstract supertype for prosumer market participation models. Subtypes specify whether and how prosumers are represented in the simulation.
Subtypes
NoProsumer: No prosumers are modeled.ProsumerOptimization: Prosumers are modeled with explicit optimization (variable sell/buy prices and retail tariff types).
POMATWO.NoProsumer — Type
POMATWO.ProsumerOptimization — Type
ProsumerOptimization(; sell_price, buy_price=0, retail_type=:buy_price)Represents a prosumer setup where prosumer actions are explicitly optimized with respect to market conditions.
Keyword Arguments
sell_price::Float64: Price at which the prosumer can sell electricity to the market or grid.buy_price::Float64: Price at which the prosumer buys electricity from the market/grid. Defaults to0.retail_type::Symbol: Retail tariff structure. Must be one of:buy_price,:flat, or:realtime. Default is:buy_price.
An error is thrown if retail_type is not valid.
Example
ProsumerOptimization(sell_price=0.12, buy_price=0.22)source