// Configuring the required elements for a grid connected system public void Config() { SimShading.Config(); SimTransformer.Config(); SimSpectral.Config(); // Array of PVArray, Inverter and Wiring objects based on the number of Sub-Arrays SimPVA = new PVArray[ReadFarmSettings.SubArrayCount]; SimInv = new Inverter[ReadFarmSettings.SubArrayCount]; SimACWiring = new ACWiring[ReadFarmSettings.SubArrayCount]; // Initialize and Configure PVArray and Inverter Objects through their .CSYX file for (int SubArrayCount = 0; SubArrayCount < ReadFarmSettings.SubArrayCount; SubArrayCount++) { SimInv[SubArrayCount] = new Inverter(); SimInv[SubArrayCount].Config(SubArrayCount + 1); SimPVA[SubArrayCount] = new PVArray(); SimPVA[SubArrayCount].Config(SubArrayCount + 1); SimACWiring[SubArrayCount] = new ACWiring(); // If 'at Pnom' specified for AC Loss Fraction in version 1.2.0 if (string.Compare(ReadFarmSettings.CASSYSCSYXVersion, "1.2.0") >= 0 && ReadFarmSettings.GetInnerText("System", "ACWiringLossAtSTC", _Error: ErrLevel.WARNING) == "False") { SimACWiring[SubArrayCount].Config(SubArrayCount + 1, SimInv[SubArrayCount].itsOutputVoltage, SimInv[SubArrayCount].outputPhases, SimInv[SubArrayCount].itsPNomArrayAC); } else { SimACWiring[SubArrayCount].Config(SubArrayCount + 1, SimInv[SubArrayCount].itsOutputVoltage, SimInv[SubArrayCount].outputPhases, SimInv[SubArrayCount].itsMaxSubArrayACEff * SimPVA[SubArrayCount].itsPNomDCArray); } farmArea += SimPVA[SubArrayCount].itsRoughArea; } }
public void Calculate ( Inverter SimInverter ) { // AC wiring losses using the current caculated (three phase output assumed) ACWiringLoss = Math.Sqrt(SimInverter.outputPhases) * Math.Pow(SimInverter.IOut, 2) * itsACWiringRes; }