architecture-building-systems / hive

Rhino Grasshopper plug-in for quick & dirty building simulation
https://www.food4rhino.com/en/app/hive
GNU General Public License v3.0
31 stars 4 forks source link

Pie chart for supply/conversion technologies #215

Open daren-thomas opened 4 years ago

daren-thomas commented 4 years ago

("capacity_hp", "capacity_chp", "capacity_boiler")

christophwaibel commented 4 years ago

note that I'm trying to follow a flexible approach in the Results class:

        /// <summary>
        /// Names for each supply technology, e.g. "Boiler", "CHP", ...
        /// </summary>
        public string[] SupplyNames { get; private set; }
        /// <summary>
        /// Matrix defining the suitability of each technology per carrier type.
        /// Rows: Technologies
        /// Columns: [0]: Electricity, [1]: Heating, [2]: Cooling
        /// </summary>
        public bool[,] SupplyTypes { get; private set; }
        /// <summary>
        /// Capacity per technology. Unit is defined in 'SupplyCapUnits
        /// </summary>
        public double[] SupplyCapacities { get; private set; }
amraladdin commented 4 years ago

Group w/ systems that provide electricity, cogeneration, heat only... etc.

@amraladdin Be creative... Doesnt' have to be a Pie chart

amraladdin commented 4 years ago

Hey @christophwaibel do you have a list of the technologies we have? I remember there was an issue about that. I have:

christophwaibel commented 4 years ago

@amraladdin so, I would aim for a flexible approach, where it reads any technology from string [] SupplyNames:

image

Let's say, SupplyNames = {"boiler", "ASHP", "PV", "battery", "chiller"}, then it plots these technologies. the units would come from string [] SupplyCapUnits and the capacity from double [] SupplyCapacities and the suitability (heating, cooling, elec, co-gen) from the matrix bool[,] SupplyTypes

does that make sense?

amraladdin commented 4 years ago

Refer to issue #123

Exactly what I had in mind, but then thought that Daren would want to know the RGB of the different systems. If that's not needed, that's perfect. I started making a larger pallette for many different systems, see below: image

daren-thomas commented 4 years ago

@ChrisZenhub why multiple lists of strings etc? what about a SupplySystemDefinition object? to group the stuff together that belongs together?

christophwaibel commented 4 years ago

SupplySystemDefinition

@daren-thomas good point, that would make a lot of sense to feed in all the objects that I'm moving around and processing within the core also into the Visualizer.

I already have a class Hive.IO.EnergySystem.Generation. I am currently extending it such that it contains timeseries as well (which are populated within Hive.Core).

Ok, so I would need a bit more time until I restructured the dataflow and data structure from Hive Input into Hive.Core into Hive Visualizer.

If you already want to work on this graph ,for now you could consider that you read following class:

public class EnergySystems.Conversion
{
    /// <summary>
    /// Technology name
    /// </summary>
    public string Name { get; protected set; }
    /// <summary>
    /// Indicating whether this technology produces electricity
    /// </summary>
    public bool IsElectric { get; protected set; }
    /// <summary>
    /// Indicating whether this technology produces heat
    /// </summary>
    public bool IsHeating { get; protected set; }
    /// <summary>
    /// Indicating whether this technology produces cooling
    /// </summary>
    public bool IsCooling { get; protected set; }
    /// <summary>
    /// Capacity of technology. Unit is defined in 'CapacityUnit'
    /// </summary>
    public double Capacity { get; protected set; }
    /// <summary>
    /// Unit of technology capacity (e.g. "kW", or "sqm", etc.)
    /// </summary>
    public string CapacityUnit { get; protected set; }

    public Conversion(){ }
}
amraladdin commented 4 years ago

Update: I'm removing myself as Assignee from this issue since there's no more work to be done from my side.

amraladdin commented 4 years ago

Update: We still need to decide how this plot should look like.

christophwaibel commented 4 years ago

just decide it then ;-) you're the designer

amraladdin commented 4 years ago

That was a reminder for me that this issue was not finished yet, but thanks for the comment :D

Here we go: image

image

daren-thomas commented 4 years ago

@christophwaibel how do I find this data?