protected override void SolveInstance(IGH_DataAccess DA) { string input = null; if (!DA.GetData(0, ref input)) { return; } var thickness = 0d; if (!DA.GetData(1, ref thickness)) { return; } var RSP = 0; if (!DA.GetData(2, ref RSP)) { return; } var splitInput = input.Split('-').ToList(); var results = CompData.GetGenComponent(splitInput[0].Trim(), thickness, false); var RSL = int.Parse(splitInput[2].Trim()); decimal repNum = 0; decimal tmp = ((decimal)RSP / (decimal)RSL) - 1; if (RSL != 0 && RSP != 0) { repNum = Math.Ceiling(tmp); } if (repNum < 0) { repNum = 0; } if (repNum == 0) { repNum = 0; } var sumResults = from row in results group row by row.SortCode.Trim() into rowSum select new { SortCodeGrp = rowSum.Key, UBP13EmbodiedSum = rowSum.Sum(x => x.UBP13Embodied), UBP13RepSum = rowSum.Sum(x => (x.UBP13Embodied + x.UBP13EoL) * repNum), UBP13EoLSum = rowSum.Sum(x => x.UBP13EoL), TotalEmbodiedSum = rowSum.Sum(x => x.TotalEmbodied), TotalRepSum = rowSum.Sum(x => (x.TotalEmbodied + x.TotalEoL) * repNum), TotalEoLSum = rowSum.Sum(x => x.TotalEoL), RenewableEmbodiedSum = rowSum.Sum(x => x.RenewableEmbodied), RenewableRepSum = rowSum.Sum(x => (x.RenewableEmbodied + x.RenewableEoL) * repNum), RenewableEoLSum = rowSum.Sum(x => x.RenewableEoL), NonRenewableEmbodiedSum = rowSum.Sum(x => x.NonRenewableEmbodied), NonRenewableRepSum = rowSum.Sum(x => (x.NonRenewableEmbodied + x.NonRenewableEoL) * repNum), NonRenewableEoLSum = rowSum.Sum(x => x.NonRenewableEoL), GHGEmbodiedSum = rowSum.Sum(x => x.GHGEmbodied), GHGRepSum = rowSum.Sum(x => (x.GHGEmbodied + x.GHGEoL) * repNum), GHGEoLEoLSum = rowSum.Sum(x => x.GHGEoL), ResistanceSum = rowSum.Sum(x => x.Resistance) }; var result = new List <double>(); foreach (var item in sumResults) { result.Add(1); result.Add((double)item.UBP13EmbodiedSum); //UBP13Embodied 1 result.Add((double)item.UBP13RepSum); //UBP13Rep 2 result.Add((double)item.UBP13EoLSum); //UBP13EoL 3 result.Add((double)item.TotalEmbodiedSum); //TotalEmbodied 4 result.Add((double)item.TotalRepSum); //TotalRep 5 result.Add((double)item.TotalEoLSum); //TotalEoL 6 result.Add((double)item.RenewableEmbodiedSum); //RenewableEmbodied 7 result.Add((double)item.RenewableRepSum); //RenewableRep 8 result.Add((double)item.RenewableEoLSum); //RenewableRep 9 result.Add((double)item.NonRenewableEmbodiedSum); //NonRenewableEmbodied 10 result.Add((double)item.NonRenewableRepSum); //NonRenewableRep 11 result.Add((double)item.NonRenewableEoLSum); //NonRenewableEoL 12 result.Add((double)item.GHGEmbodiedSum); //GHGEmbodied 13 result.Add((double)item.GHGRepSum); //GHGRep 14 result.Add((double)item.GHGEoLEoLSum); //GHGEoL 15 result.Add((double)item.ResistanceSum); } DA.SetDataList(0, result); }
protected override void SolveInstance(IGH_DataAccess DA) { string input = null; if (!DA.GetData(0, ref input)) { return; } var RSP = 0; if (!DA.GetData(1, ref RSP)) { return; } var splitInput = input.Split('-').ToList(); var resultsDB = CompData.GetGenComponent(splitInput[0].Trim(), null, true); var RSL = int.Parse(splitInput.Last()); decimal repNum = 0; decimal tmp = ((decimal)RSP / (decimal)RSL) - 1; if (RSL != 0 && RSP != 0) { repNum = Math.Ceiling(tmp); } if (repNum < 0) { repNum = 0; } if (repNum == 0) { repNum = 0; } var sumResults = from row in resultsDB group row by row.SortCode.Trim() into rowSum select new { SortCodeGrp = rowSum.Key, UBP13EmbodiedSum = rowSum.Sum(x => x.UBP13Embodied), UBP13RepSum = rowSum.Sum(x => (x.UBP13Embodied + x.UBP13EoL) * repNum), UBP13EoLSum = rowSum.Sum(x => x.UBP13EoL), TotalEmbodiedSum = rowSum.Sum(x => x.TotalEmbodied), TotalRepSum = rowSum.Sum(x => (x.TotalEmbodied + x.TotalEoL) * repNum), TotalEoLSum = rowSum.Sum(x => x.TotalEoL), RenewableEmbodiedSum = rowSum.Sum(x => x.RenewableEmbodied), RenewableRepSum = rowSum.Sum(x => (x.RenewableEmbodied + x.RenewableEoL) * repNum), RenewableEoLSum = rowSum.Sum(x => x.RenewableEoL), NonRenewableEmbodiedSum = rowSum.Sum(x => x.NonRenewableEmbodied), NonRenewableRepSum = rowSum.Sum(x => (x.NonRenewableEmbodied + x.NonRenewableEoL) * repNum), NonRenewableEoLSum = rowSum.Sum(x => x.NonRenewableEoL), GHGEmbodiedSum = rowSum.Sum(x => x.GHGEmbodied), GHGRepSum = rowSum.Sum(x => (x.GHGEmbodied + x.GHGEoL) * repNum), GHGEoLEoLSum = rowSum.Sum(x => x.GHGEoL), ResistanceSum = rowSum.Sum(x => x.Resistance) }; var results = new Dictionary <string, double> { { "UBP13 Embodied (P/m\xB2 a)", 0 }, { "UBP13 Replacements (P/m\xB2 a)", 0 }, { "UBP13 End of Life (P/m\xB2 a)", 0 }, { "Total Embodied (kWh oil-eq)", 0 }, { "Total Replacements (kWh oil-eq)", 0 }, { "Total End of Life (kWh oil-eq)", 0 }, { "Renewable Embodied (kWh oil-eq)", 0 }, { "Renewable Replacements (kWh oil-eq)", 0 }, { "Renewable End of Life (kWh oil-eq)", 0 }, { "Non Renewable Embodied (kWh oil-eq)", 0 }, { "Non Renewable Replacements (kWh oil-eq)", 0 }, { "Non Renewable End of Life (kWh oil-eq)", 0 }, { "Green House Gasses Embodied (kg CO\x2082-eq/m\xB2 a)", 0 }, { "Green House Gasses Replacements (kg CO\x2082-eq/m\xB2 a)", 0 }, { "Green House Gasses End of Life (kg CO\x2082-eq/m\xB2 a)", 0 }, { "R value", 0 } }; foreach (var item in sumResults) { results["UBP13 Embodied (P/m\xB2 a)"] += (double)item.UBP13EmbodiedSum; results["UBP13 Replacements (P/m\xB2 a)"] += (double)item.UBP13RepSum; results["UBP13 End of Life (P/m\xB2 a)"] += (double)item.UBP13EoLSum; results["Total Embodied (kWh oil-eq)"] += (double)item.TotalEmbodiedSum; results["Total Replacements (kWh oil-eq)"] += (double)item.TotalRepSum; results["Total End of Life (kWh oil-eq)"] += (double)item.TotalEoLSum; results["Renewable Embodied (kWh oil-eq)"] += (double)item.RenewableEmbodiedSum; results["Renewable Replacements (kWh oil-eq)"] += (double)item.RenewableRepSum; results["Renewable End of Life (kWh oil-eq)"] += (double)item.RenewableEoLSum; results["Non Renewable Embodied (kWh oil-eq)"] += (double)item.NonRenewableEmbodiedSum; results["Non Renewable Replacements (kWh oil-eq)"] += (double)item.NonRenewableRepSum; results["Non Renewable End of Life (kWh oil-eq)"] += (double)item.NonRenewableEoLSum; results["Green House Gasses Embodied (kg CO\x2082-eq/m\xB2 a)"] += (double)item.GHGEmbodiedSum; results["Green House Gasses Replacements (kg CO\x2082-eq/m\xB2 a)"] += (double)item.GHGRepSum; results["Green House Gasses End of Life (kg CO\x2082-eq/m\xB2 a)"] += (double)item.GHGEoLEoLSum; results["R value"] += (double)item.ResistanceSum; } var resultValues = results.Values.ToList(); DA.SetDataList(0, results); DA.SetDataList(1, resultValues); }