From cf65b941517f658388b55d4fe6cb9bd26501093f Mon Sep 17 00:00:00 2001 From: WHamilt2 Date: Fri, 10 Nov 2023 17:23:40 -0700 Subject: [PATCH] updating TES calls to get total mass --- ssc/cmod_csp_tower_particle.cpp | 3 ++- ssc/cmod_fresnel_physical.cpp | 4 ++-- ssc/cmod_fresnel_physical_iph.cpp | 4 ++-- ssc/cmod_mspt_iph.cpp | 4 ++-- tcs/csp_solver_falling_particle_receiver.h | 4 ++-- tcs/csp_solver_two_tank_tes.cpp | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ssc/cmod_csp_tower_particle.cpp b/ssc/cmod_csp_tower_particle.cpp index ec54c266b..1aed9c533 100644 --- a/ssc/cmod_csp_tower_particle.cpp +++ b/ssc/cmod_csp_tower_particle.cpp @@ -1683,7 +1683,8 @@ class cm_csp_tower_particle : public compute_module assign("A_rec_curtain", A_rec_curtain); //[m2] double L_tower_piping = std::numeric_limits::quiet_NaN(); - receiver->get_design_geometry(L_tower_piping); + double od_tube_NA = std::numeric_limits::quiet_NaN(); + receiver->get_design_geometry(L_tower_piping, od_tube_NA); assign("L_tower_piping_calc", L_tower_piping); //[m] double eta_rec_thermal_des; //[-] diff --git a/ssc/cmod_fresnel_physical.cpp b/ssc/cmod_fresnel_physical.cpp index 6e722c57b..1db83da28 100644 --- a/ssc/cmod_fresnel_physical.cpp +++ b/ssc/cmod_fresnel_physical.cpp @@ -1463,10 +1463,10 @@ class cm_fresnel_physical : public compute_module // Storage double V_tes_htf_avail_calc /*m3*/, V_tes_htf_total_calc /*m3*/, d_tank_calc /*m*/, q_dot_loss_tes_des_calc /*MWt*/, dens_store_htf_at_T_ave_calc /*kg/m3*/, - Q_tes_des_calc /*MWt-hr*/; + Q_tes_des_calc /*MWt-hr*/, tes_total_mass/*kg*/; storage.get_design_parameters(V_tes_htf_avail_calc, V_tes_htf_total_calc, - d_tank_calc, q_dot_loss_tes_des_calc, dens_store_htf_at_T_ave_calc, Q_tes_des_calc); + d_tank_calc, q_dot_loss_tes_des_calc, dens_store_htf_at_T_ave_calc, Q_tes_des_calc, tes_total_mass); double vol_min = V_tes_htf_total_calc * (storage.m_h_tank_min / storage.m_h_tank); double tes_htf_min_temp = storage.get_min_storage_htf_temp() - 273.15; diff --git a/ssc/cmod_fresnel_physical_iph.cpp b/ssc/cmod_fresnel_physical_iph.cpp index adffc0d39..e21282fd7 100644 --- a/ssc/cmod_fresnel_physical_iph.cpp +++ b/ssc/cmod_fresnel_physical_iph.cpp @@ -1127,10 +1127,10 @@ class cm_fresnel_physical_iph : public compute_module // Storage double V_tes_htf_avail_calc /*m3*/, V_tes_htf_total_calc /*m3*/, d_tank_calc /*m*/, q_dot_loss_tes_des_calc /*MWt*/, dens_store_htf_at_T_ave_calc /*kg/m3*/, - Q_tes_des_calc /*MWt-hr*/; + Q_tes_des_calc /*MWt-hr*/, tes_total_mass/*kg*/; storage.get_design_parameters(V_tes_htf_avail_calc, V_tes_htf_total_calc, - d_tank_calc, q_dot_loss_tes_des_calc, dens_store_htf_at_T_ave_calc, Q_tes_des_calc); + d_tank_calc, q_dot_loss_tes_des_calc, dens_store_htf_at_T_ave_calc, Q_tes_des_calc, tes_total_mass); double vol_min = V_tes_htf_total_calc * (storage.m_h_tank_min / storage.m_h_tank); double tes_htf_min_temp = storage.get_min_storage_htf_temp() - 273.15; diff --git a/ssc/cmod_mspt_iph.cpp b/ssc/cmod_mspt_iph.cpp index 02500fec1..9a877cdee 100644 --- a/ssc/cmod_mspt_iph.cpp +++ b/ssc/cmod_mspt_iph.cpp @@ -1815,10 +1815,10 @@ class cm_mspt_iph : public compute_module // Thermal Energy Storage double V_tes_htf_avail_calc /*m3*/, V_tes_htf_total_calc /*m3*/, d_tank_calc /*m*/, q_dot_loss_tes_des_calc /*MWt*/, dens_store_htf_at_T_ave_calc /*kg/m3*/, - Q_tes_des_calc /*MWt-hr*/; + Q_tes_des_calc /*MWt-hr*/, tes_total_mass/*kg*/; storage.get_design_parameters(V_tes_htf_avail_calc, V_tes_htf_total_calc, - d_tank_calc, q_dot_loss_tes_des_calc, dens_store_htf_at_T_ave_calc, Q_tes_des_calc); + d_tank_calc, q_dot_loss_tes_des_calc, dens_store_htf_at_T_ave_calc, Q_tes_des_calc, tes_total_mass); assign("Q_tes_des", Q_tes_des_calc); //[MWt-hr] assign("V_tes_htf_avail_des", V_tes_htf_avail_calc); //[m3] diff --git a/tcs/csp_solver_falling_particle_receiver.h b/tcs/csp_solver_falling_particle_receiver.h index cb5334b7b..2c4c3b360 100644 --- a/tcs/csp_solver_falling_particle_receiver.h +++ b/tcs/csp_solver_falling_particle_receiver.h @@ -169,8 +169,8 @@ class C_falling_particle_receiver : public C_pt_receiver int m_n_y; // Particle curtain (and back wall) discretization in height direction int m_n_zone_control; // Number of particle flow control "zones" (not implemented yet, hard-coded to 1) - int m_n_x_rad; // Number of curtain and back-wall x-element groups for the radiation model (only used if m_model_type == 2 and m_rad_model_type == 2) - int m_n_y_rad; // Number of curtain and back-wall y-element groups for the radiation model (only used if m_model_type == 2 and m_rad_model_type == 2) + int m_n_x_rad; // Number of curtain and back-wall x-element groups for the radiation model (only used if m_model_type == 3 and m_rad_model_type == 1) + int m_n_y_rad; // Number of curtain and back-wall y-element groups for the radiation model (only used if m_model_type == 3 and m_rad_model_type == 1) diff --git a/tcs/csp_solver_two_tank_tes.cpp b/tcs/csp_solver_two_tank_tes.cpp index 71ff398cf..34efd4a8c 100644 --- a/tcs/csp_solver_two_tank_tes.cpp +++ b/tcs/csp_solver_two_tank_tes.cpp @@ -956,7 +956,7 @@ void C_csp_two_tank_tes::init(const C_csp_tes::S_csp_tes_init_inputs init_inputs } void C_csp_two_tank_tes::get_design_parameters(double& vol_one_temp_avail /*m3*/, double& vol_one_temp_total /*m3*/, double& d_tank /*m*/, - double& q_dot_loss_des /*MWt*/, double& dens_store_htf_at_T_ave /*kg/m3*/, double& Q_tes /*MWt-hr*/, double& total_mass) + double& q_dot_loss_des /*MWt*/, double& dens_store_htf_at_T_ave /*kg/m3*/, double& Q_tes /*MWt-hr*/, double& total_mass /*kg*/) { vol_one_temp_avail = m_V_tank_active; //[m3] vol_one_temp_total = m_vol_tank; //[m3]