I am creating a model in PySAM using SolarPILOT from an existing CSP model, as shown in the code below. First I create a default tcs model and then enter it into the optimizer. This model can change the number of heliostats, but it does not give me the total reflective area of heliostats correctly.
According to me:
Total_reflective_heliostat_area = helio_width * helio_height * dens_mirror * number_heliostats
This is the formula used by desktop SAM (I already checked), but when I run my code, and I want to get "area_sf", the formula described above does not match "area_sf".
Perhaps there is something that I am not taking into account, because the results are similar, but not the same.
I would appreciate any ideas you can give me, please.
area_sf<Total_reflective_heliostat_area
import PySAM.Solarpilot as sp
import PySAM.TcsmoltenSalt as tcs
Cycle_th_eff=0.412
S_M=2.8
Cycle_th_P=P_ref/Cycle_th_eff
tshours=17.5
system_csp = tcs.default('MSPTSingleOwner')
system_csp.SolarResource.solar_resource_file="xxxx.csv"
system_csp.SystemDesign.P_ref=111 #[MW]
system_csp.SystemDesign.solarm=S_M
model_opt=sp.from_existing(system_model_csp)
model_opt.SolarPILOT.helio_optical_error=0.00153
model_opt.SolarPILOT.q_design=round(S_M*Cycle_th_P)
model_opt.SolarPILOT.rec_aspect=21.6029/17.65
model_opt.SolarPILOT.helio_width=12.2
model_opt.SolarPILOT.dens_mirror=0.97
model_opt.SolarPILOT.helio_height=12.2
model_opt.execute()