diff --git a/ssc/csp_common.cpp b/ssc/csp_common.cpp index fc4197fd2..8a55d21c3 100644 --- a/ssc/csp_common.cpp +++ b/ssc/csp_common.cpp @@ -829,223 +829,228 @@ var_info vtab_sco2_design[] = { //{ SSC_OUTPUT, SSC_STRING, "debug_string", "output string used for debug", "C", "", "System Design", "cycle_config=3", "", "" }, // ** Design OUTPUTS ** + { SSC_OUTPUT, SSC_NUMBER, "cycle_success", "", "", "", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "error_int", "", "", "", "", "*", "", "" }, + { SSC_OUTPUT, SSC_STRING, "error_msg", "", "", "", "", "error_int>0", "", "" }, + + // System Design Solution - { SSC_OUTPUT, SSC_NUMBER, "T_htf_cold_des", "HTF design cold temperature (HTF outlet)", "C", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "T_htf_phx_out_des", "HTF design phx cold temperature (PHX outlet)", "C", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "m_dot_htf_des", "HTF mass flow rate", "kg/s", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "eta_thermal_calc", "Calculated cycle thermal efficiency", "-", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "m_dot_co2_full", "CO2 mass flow rate through HTR, PHX, turbine", "kg/s", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "recomp_frac", "Recompression fraction", "-", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "bypass_frac", "Bypass fraction", "-", "System Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "cycle_cost", "Cycle cost bare erected", "M$", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "cycle_spec_cost", "Cycle specific cost bare erected", "$/kWe", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "cycle_spec_cost_thermal", "Cycle specific (thermal) cost bare erected", "$/kWt", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "W_dot_net_less_cooling", "System power output subtracting cooling parastics", "MWe," "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "eta_thermal_net_less_cooling_des","Calculated cycle thermal efficiency using W_dot_net_less_cooling", "-", "System Design Solution","", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "T_htf_bp_out_des", "HTF design htr bypass cold temperature (BPX outlet)", "C", "System Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "dT_htf_des", "HTF temperature difference", "C", "System Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "q_dot_in_total", "Total heat from HTF into cycle", "MW", "System Design Solution", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_htf_cold_des", "HTF design cold temperature (HTF outlet)", "C", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_htf_phx_out_des", "HTF design phx cold temperature (PHX outlet)", "C", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "m_dot_htf_des", "HTF mass flow rate", "kg/s", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "eta_thermal_calc", "Calculated cycle thermal efficiency", "-", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "m_dot_co2_full", "CO2 mass flow rate through HTR, PHX, turbine", "kg/s", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "recomp_frac", "Recompression fraction", "-", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "bypass_frac", "Bypass fraction", "-", "System Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "cycle_cost", "Cycle cost bare erected", "M$", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "cycle_spec_cost", "Cycle specific cost bare erected", "$/kWe", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "cycle_spec_cost_thermal", "Cycle specific (thermal) cost bare erected", "$/kWt", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "W_dot_net_less_cooling", "System power output subtracting cooling parastics", "MWe," "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "eta_thermal_net_less_cooling_des","Calculated cycle thermal efficiency using W_dot_net_less_cooling", "-", "System Design Solution","", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_htf_bp_out_des", "HTF design htr bypass cold temperature (BPX outlet)", "C", "System Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "dT_htf_des", "HTF temperature difference", "C", "System Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "q_dot_in_total", "Total heat from HTF into cycle", "MW", "System Design Solution", "", "error_int=0", "", "" }, // Compressor - { SSC_OUTPUT, SSC_NUMBER, "T_comp_in", "Compressor inlet temperature", "C", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "P_comp_in", "Compressor inlet pressure", "MPa", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "P_comp_out", "Compressor outlet pressure", "MPa", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_T_out", "Compressor outlet temperature", "C", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_W_dot", "Compressor power", "MWe", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_m_dot_des", "Compressor mass flow rate", "kg/s", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_rho_in", "Compressor inlet density", "kg/m3", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_ideal_spec_work", "Compressor ideal spec work", "kJ/kg", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_phi_des", "Compressor design flow coefficient", "", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_psi_des", "Compressor design ideal head coefficient", "", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "mc_tip_ratio_des", "Compressor design stage tip speed ratio", "", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_n_stages", "Compressor stages", "", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_N_des", "Compressor design shaft speed", "rpm", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "mc_D", "Compressor stage diameters", "m", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_phi_surge", "Compressor flow coefficient where surge occurs", "", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_psi_max_at_N_des", "Compressor max ideal head coefficient at design shaft speed", "", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "mc_eta_stages_des", "Compressor design stage isentropic efficiencies", "", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cost_equipment", "Compressor cost equipment", "M$", "Compressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cost_bare_erected", "Compressor cost equipment plus install", "M$", "Compressor", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_comp_in", "Compressor inlet temperature", "C", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "P_comp_in", "Compressor inlet pressure", "MPa", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "P_comp_out", "Compressor outlet pressure", "MPa", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_T_out", "Compressor outlet temperature", "C", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_W_dot", "Compressor power", "MWe", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_m_dot_des", "Compressor mass flow rate", "kg/s", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_rho_in", "Compressor inlet density", "kg/m3", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_ideal_spec_work", "Compressor ideal spec work", "kJ/kg", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_phi_des", "Compressor design flow coefficient", "", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_psi_des", "Compressor design ideal head coefficient", "", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "mc_tip_ratio_des", "Compressor design stage tip speed ratio", "", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_n_stages", "Compressor stages", "", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_N_des", "Compressor design shaft speed", "rpm", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "mc_D", "Compressor stage diameters", "m", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_phi_surge", "Compressor flow coefficient where surge occurs", "", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_psi_max_at_N_des", "Compressor max ideal head coefficient at design shaft speed", "", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "mc_eta_stages_des", "Compressor design stage isentropic efficiencies", "", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cost_equipment", "Compressor cost equipment", "M$", "Compressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cost_bare_erected", "Compressor cost equipment plus install", "M$", "Compressor", "", "error_int=0", "", "" }, // Recompressor - { SSC_OUTPUT, SSC_NUMBER, "rc_T_in_des", "Recompressor inlet temperature", "C", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_P_in_des", "Recompressor inlet pressure", "MPa", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_T_out_des", "Recompressor inlet temperature", "C", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_P_out_des", "Recompressor inlet pressure", "MPa", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_W_dot", "Recompressor power", "MWe", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_m_dot_des", "Recompressor mass flow rate", "kg/s", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_phi_des", "Recompressor design flow coefficient", "", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_psi_des", "Recompressor design ideal head coefficient", "", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "rc_tip_ratio_des", "Recompressor design stage tip speed ratio", "", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_n_stages", "Recompressor stages", "", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_N_des", "Recompressor design shaft speed", "rpm", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "rc_D", "Recompressor stage diameters", "m", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_phi_surge", "Recompressor flow coefficient where surge occurs", "", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_psi_max_at_N_des", "Recompressor max ideal head coefficient at design shaft speed", "", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "rc_eta_stages_des", "Recompressor design stage isenstropic efficiencies", "", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_cost_equipment", "Recompressor cost equipment", "M$", "Recompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "rc_cost_bare_erected", "Recompressor cost equipment plus install", "M$", "Recompressor", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_T_in_des", "Recompressor inlet temperature", "C", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_P_in_des", "Recompressor inlet pressure", "MPa", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_T_out_des", "Recompressor inlet temperature", "C", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_P_out_des", "Recompressor inlet pressure", "MPa", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_W_dot", "Recompressor power", "MWe", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_m_dot_des", "Recompressor mass flow rate", "kg/s", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_phi_des", "Recompressor design flow coefficient", "", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_psi_des", "Recompressor design ideal head coefficient", "", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "rc_tip_ratio_des", "Recompressor design stage tip speed ratio", "", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_n_stages", "Recompressor stages", "", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_N_des", "Recompressor design shaft speed", "rpm", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "rc_D", "Recompressor stage diameters", "m", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_phi_surge", "Recompressor flow coefficient where surge occurs", "", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_psi_max_at_N_des", "Recompressor max ideal head coefficient at design shaft speed", "", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "rc_eta_stages_des", "Recompressor design stage isenstropic efficiencies", "", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_cost_equipment", "Recompressor cost equipment", "M$", "Recompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "rc_cost_bare_erected", "Recompressor cost equipment plus install", "M$", "Recompressor", "", "error_int=0", "", "" }, // Precompressor - { SSC_OUTPUT, SSC_NUMBER, "pc_T_in_des", "Precompressor inlet temperature", "C", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_P_in_des", "Precompressor inlet pressure", "MPa", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_W_dot", "Precompressor power", "MWe", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_m_dot_des", "Precompressor mass flow rate", "kg/s", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_rho_in_des", "Precompressor inlet density", "kg/m3", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_ideal_spec_work_des", "Precompressor ideal spec work", "kJ/kg", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_phi_des", "Precompressor design flow coefficient", "", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "pc_tip_ratio_des", "Precompressor design stage tip speed ratio", "", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_n_stages", "Precompressor stages", "", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_N_des", "Precompressor design shaft speed", "rpm", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "pc_D", "Precompressor stage diameters", "m", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_phi_surge", "Precompressor flow coefficient where surge occurs", "", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "pc_eta_stages_des", "Precompressor design stage isenstropic efficiencies", "", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cost_equipment", "Precompressor cost equipment", "M$", "Precompressor", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cost_bare_erected", "Precompressor cost equipment plus install", "M$", "Precompressor", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_T_in_des", "Precompressor inlet temperature", "C", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_P_in_des", "Precompressor inlet pressure", "MPa", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_W_dot", "Precompressor power", "MWe", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_m_dot_des", "Precompressor mass flow rate", "kg/s", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_rho_in_des", "Precompressor inlet density", "kg/m3", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_ideal_spec_work_des", "Precompressor ideal spec work", "kJ/kg", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_phi_des", "Precompressor design flow coefficient", "", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "pc_tip_ratio_des", "Precompressor design stage tip speed ratio", "", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_n_stages", "Precompressor stages", "", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_N_des", "Precompressor design shaft speed", "rpm", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "pc_D", "Precompressor stage diameters", "m", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_phi_surge", "Precompressor flow coefficient where surge occurs", "", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "pc_eta_stages_des", "Precompressor design stage isenstropic efficiencies", "", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cost_equipment", "Precompressor cost equipment", "M$", "Precompressor", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cost_bare_erected", "Precompressor cost equipment plus install", "M$", "Precompressor", "", "error_int=0", "", "" }, // Compressor Totals - { SSC_OUTPUT, SSC_NUMBER, "c_tot_cost_equip", "Compressor total cost", "M$", "Compressor Totals", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "c_tot_W_dot", "Compressor total summed power", "MWe", "Compressor Totals", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "c_tot_cost_equip", "Compressor total cost", "M$", "Compressor Totals", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "c_tot_W_dot", "Compressor total summed power", "MWe", "Compressor Totals", "", "error_int=0", "", "" }, // Turbine - { SSC_OUTPUT, SSC_NUMBER, "t_W_dot", "Turbine power", "MWe", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_m_dot_des", "Turbine mass flow rate", "kg/s", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "T_turb_in", "Turbine inlet temperature", "C", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_P_in_des", "Turbine design inlet pressure", "MPa", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_T_out_des", "Turbine outlet temperature", "C", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_P_out_des", "Turbine design outlet pressure", "MPa", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_delta_h_isen_des", "Turbine isentropic specific work", "kJ/kg", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_rho_in_des", "Turbine inlet density", "kg/m3", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_nu_des", "Turbine design velocity ratio", "", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_tip_ratio_des", "Turbine design tip speed ratio", "", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_N_des", "Turbine design shaft speed", "rpm", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_D", "Turbine diameter", "m", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_cost_equipment", "Tubine cost - equipment", "M$", "Turbine", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t_cost_bare_erected", "Tubine cost - equipment plus install", "M$", "Turbine", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_W_dot", "Turbine power", "MWe", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_m_dot_des", "Turbine mass flow rate", "kg/s", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_turb_in", "Turbine inlet temperature", "C", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_P_in_des", "Turbine design inlet pressure", "MPa", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_T_out_des", "Turbine outlet temperature", "C", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_P_out_des", "Turbine design outlet pressure", "MPa", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_delta_h_isen_des", "Turbine isentropic specific work", "kJ/kg", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_rho_in_des", "Turbine inlet density", "kg/m3", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_nu_des", "Turbine design velocity ratio", "", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_tip_ratio_des", "Turbine design tip speed ratio", "", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_N_des", "Turbine design shaft speed", "rpm", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_D", "Turbine diameter", "m", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_cost_equipment", "Tubine cost - equipment", "M$", "Turbine", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t_cost_bare_erected", "Tubine cost - equipment plus install", "M$", "Turbine", "", "error_int=0", "", "" }, // Secondary Turbine (TSF cycle only) - { SSC_OUTPUT, SSC_NUMBER, "t2_W_dot", "Secondary Turbine power", "MWe", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_m_dot_des", "Secondary Turbine mass flow rate", "kg/s", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "T_turb2_in", "Secondary Turbine inlet temperature", "C", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_P_in_des", "Secondary Turbine design inlet pressure", "MPa", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_T_out_des", "Secondary Turbine outlet temperature", "C", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_P_out_des", "Secondary Turbine design outlet pressure", "MPa", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_delta_h_isen_des", "Secondary Turbine isentropic specific work", "kJ/kg", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_rho_in_des", "Secondary Turbine inlet density", "kg/m3", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_nu_des", "Secondary Turbine design velocity ratio", "", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_tip_ratio_des", "Secondary Turbine design tip speed ratio", "", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_N_des", "Secondary Turbine design shaft speed", "rpm", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_D", "Secondary Turbine diameter", "m", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_cost_equipment", "Secondary Tubine cost - equipment", "M$", "Turbine 2", "", "cycle_config=4", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "t2_cost_bare_erected", "Secondary Tubine cost - equipment plus install", "M$", "Turbine 2", "", "cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_W_dot", "Secondary Turbine power", "MWe", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_m_dot_des", "Secondary Turbine mass flow rate", "kg/s", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_turb2_in", "Secondary Turbine inlet temperature", "C", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_P_in_des", "Secondary Turbine design inlet pressure", "MPa", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_T_out_des", "Secondary Turbine outlet temperature", "C", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_P_out_des", "Secondary Turbine design outlet pressure", "MPa", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_delta_h_isen_des", "Secondary Turbine isentropic specific work", "kJ/kg", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_rho_in_des", "Secondary Turbine inlet density", "kg/m3", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_nu_des", "Secondary Turbine design velocity ratio", "", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_tip_ratio_des", "Secondary Turbine design tip speed ratio", "", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_N_des", "Secondary Turbine design shaft speed", "rpm", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_D", "Secondary Turbine diameter", "m", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_cost_equipment", "Secondary Tubine cost - equipment", "M$", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "t2_cost_bare_erected", "Secondary Tubine cost - equipment plus install", "M$", "Turbine 2", "", "error_int=0&cycle_config=4", "", "" }, // Recuperators - { SSC_OUTPUT, SSC_NUMBER, "recup_total_UA_assigned", "Total recuperator UA assigned to design routine", "MW/K", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "recup_total_UA_calculated", "Total recuperator UA calculated considering max eff and/or min temp diff parameter", "MW/K", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "recup_total_cost_equipment","Total recuperator cost equipment", "M$", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "recup_total_cost_bare_erected","Total recuperator cost bare erected", "M$", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "recup_LTR_UA_frac", "Fraction of total conductance to LTR", "", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_HP_T_out_des", "Low temp recuperator HP outlet temperature", "C", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_UA_assigned", "Low temp recuperator UA assigned from total", "MW/K", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_UA_calculated", "Low temp recuperator UA calculated considering max eff and/or min temp diff parameter", "MW/K", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "eff_LTR", "Low temp recuperator effectiveness", "", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "NTU_LTR", "Low temp recuperator NTU", "", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "q_dot_LTR", "Low temp recuperator heat transfer", "MWt", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_LP_deltaP_des", "Low temp recuperator low pressure design pressure drop", "-", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_HP_deltaP_des", "Low temp recuperator high pressure design pressure drop","-", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_min_dT", "Low temp recuperator min temperature difference", "C", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_cost_equipment", "Low temp recuperator cost equipment", "M$", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "LTR_cost_bare_erected","Low temp recuperator cost equipment and install", "M$", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_LP_T_out_des", "High temp recuperator LP outlet temperature", "C", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_HP_T_in_des", "High temp recuperator HP inlet temperature", "C", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_UA_assigned", "High temp recuperator UA assigned from total", "MW/K", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_UA_calculated", "High temp recuperator UA calculated considering max eff and/or min temp diff parameter", "MW/K", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "eff_HTR", "High temp recuperator effectiveness", "", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "NTU_HTR", "High temp recuperator NTRU", "", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "q_dot_HTR", "High temp recuperator heat transfer", "MWt", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_LP_deltaP_des", "High temp recuperator low pressure design pressure drop","-", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_HP_deltaP_des", "High temp recuperator high pressure design pressure drop","-", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_min_dT", "High temp recuperator min temperature difference", "C", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_cost_equipment", "High temp recuperator cost equipment", "M$", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_cost_bare_erected","High temp recuperator cost equipment and install", "M$", "Recuperators", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "HTR_HP_m_dot", "High temp recuperator high pressure mass flow rate", "kg/s", "Recuperators", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "recup_total_UA_assigned", "Total recuperator UA assigned to design routine", "MW/K", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "recup_total_UA_calculated", "Total recuperator UA calculated considering max eff and/or min temp diff parameter", "MW/K", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "recup_total_cost_equipment","Total recuperator cost equipment", "M$", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "recup_total_cost_bare_erected","Total recuperator cost bare erected", "M$", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "recup_LTR_UA_frac", "Fraction of total conductance to LTR", "", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_HP_T_out_des", "Low temp recuperator HP outlet temperature", "C", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_UA_assigned", "Low temp recuperator UA assigned from total", "MW/K", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_UA_calculated", "Low temp recuperator UA calculated considering max eff and/or min temp diff parameter", "MW/K", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "eff_LTR", "Low temp recuperator effectiveness", "", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "NTU_LTR", "Low temp recuperator NTU", "", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "q_dot_LTR", "Low temp recuperator heat transfer", "MWt", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_LP_deltaP_des", "Low temp recuperator low pressure design pressure drop", "-", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_HP_deltaP_des", "Low temp recuperator high pressure design pressure drop","-", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_min_dT", "Low temp recuperator min temperature difference", "C", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_cost_equipment", "Low temp recuperator cost equipment", "M$", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "LTR_cost_bare_erected","Low temp recuperator cost equipment and install", "M$", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_LP_T_out_des", "High temp recuperator LP outlet temperature", "C", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_HP_T_in_des", "High temp recuperator HP inlet temperature", "C", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_UA_assigned", "High temp recuperator UA assigned from total", "MW/K", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_UA_calculated", "High temp recuperator UA calculated considering max eff and/or min temp diff parameter", "MW/K", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "eff_HTR", "High temp recuperator effectiveness", "", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "NTU_HTR", "High temp recuperator NTRU", "", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "q_dot_HTR", "High temp recuperator heat transfer", "MWt", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_LP_deltaP_des", "High temp recuperator low pressure design pressure drop","-", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_HP_deltaP_des", "High temp recuperator high pressure design pressure drop","-", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_min_dT", "High temp recuperator min temperature difference", "C", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_cost_equipment", "High temp recuperator cost equipment", "M$", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_cost_bare_erected","High temp recuperator cost equipment and install", "M$", "Recuperators", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "HTR_HP_m_dot", "High temp recuperator high pressure mass flow rate", "kg/s", "Recuperators", "", "error_int=0", "", "" }, // PHX Design Solution - { SSC_OUTPUT, SSC_NUMBER, "UA_PHX", "PHX Conductance", "MW/K", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "eff_PHX", "PHX effectiveness", "", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "NTU_PHX", "PHX NTU", "", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "T_co2_PHX_in", "CO2 temperature at PHX inlet", "C", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "P_co2_PHX_in", "CO2 pressure at PHX inlet", "MPa", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "deltaT_HTF_PHX", "HTF temp difference across PHX", "C", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "q_dot_PHX", "PHX heat transfer", "MWt", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "PHX_co2_deltaP_des", "PHX co2 side design pressure drop", "-", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "PHX_cost_equipment", "PHX cost equipment", "M$", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "PHX_cost_bare_erected","PHX cost equipment and install", "M$", "PHX Design Solution", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "PHX_min_dT", "PHX min temperature difference", "C", "PHX Design Solution", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "UA_PHX", "PHX Conductance", "MW/K", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "eff_PHX", "PHX effectiveness", "", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "NTU_PHX", "PHX NTU", "", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_co2_PHX_in", "CO2 temperature at PHX inlet", "C", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "P_co2_PHX_in", "CO2 pressure at PHX inlet", "MPa", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "deltaT_HTF_PHX", "HTF temp difference across PHX", "C", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "q_dot_PHX", "PHX heat transfer", "MWt", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "PHX_co2_deltaP_des", "PHX co2 side design pressure drop", "-", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "PHX_cost_equipment", "PHX cost equipment", "M$", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "PHX_cost_bare_erected","PHX cost equipment and install", "M$", "PHX Design Solution", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "PHX_min_dT", "PHX min temperature difference", "C", "PHX Design Solution", "", "error_int=0", "", "" }, // BPX Design Solution - { SSC_OUTPUT, SSC_NUMBER, "UA_BPX", "BPX Conductance", "MW/K", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "eff_BPX", "BPX effectiveness", "", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "NTU_BPX", "BPX NTU", "", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "T_co2_BPX_in", "CO2 temperature at BPX inlet", "C", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "P_co2_BPX_in", "CO2 pressure at BPX inlet", "MPa", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "deltaT_HTF_BPX", "HTF temp difference across BPX", "C", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "q_dot_BPX", "BPX heat transfer", "MWt", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "BPX_co2_deltaP_des", "BPX co2 side design pressure drop", "-", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "BPX_cost_equipment", "BPX cost equipment", "M$", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "BPX_cost_bare_erected","BPX cost equipment and install", "M$", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "BPX_min_dT", "BPX min temperature difference", "C", "BPX Design Solution", "", "cycle_config=3", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "BPX_m_dot", "BPX sco2 mass flow rate", "kg/s", "BPX Design Solution", "", "cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "UA_BPX", "BPX Conductance", "MW/K", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "eff_BPX", "BPX effectiveness", "", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "NTU_BPX", "BPX NTU", "", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "T_co2_BPX_in", "CO2 temperature at BPX inlet", "C", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "P_co2_BPX_in", "CO2 pressure at BPX inlet", "MPa", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "deltaT_HTF_BPX", "HTF temp difference across BPX", "C", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "q_dot_BPX", "BPX heat transfer", "MWt", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "BPX_co2_deltaP_des", "BPX co2 side design pressure drop", "-", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "BPX_cost_equipment", "BPX cost equipment", "M$", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "BPX_cost_bare_erected","BPX cost equipment and install", "M$", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "BPX_min_dT", "BPX min temperature difference", "C", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "BPX_m_dot", "BPX sco2 mass flow rate", "kg/s", "BPX Design Solution", "", "error_int=0&cycle_config=3", "", "" }, // main compressor cooler - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_T_in", "Low pressure cross flow cooler inlet temperature", "C", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_P_in", "Low pressure cross flow cooler inlet pressure", "MPa", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_rho_in", "Low pressure cross flow cooler inlet density", "kg/m3", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_in_isen_deltah_to_P_mc_out", "Low pressure cross flow cooler inlet isen enthalpy rise to mc outlet pressure", "kJ/kg", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_m_dot_co2", "Low pressure cross flow cooler CO2 mass flow rate", "kg/s", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_UA", "Low pressure cross flow cooler conductance", "MW/K", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_q_dot", "Low pressure cooler heat transfer", "MWt", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_co2_deltaP_des","Low pressure cooler co2 side design pressure drop", "-", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_W_dot_fan", "Low pressure cooler fan power", "MWe", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_cost_equipment","Low pressure cooler cost equipment", "M$", "Low Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_cost_bare_erected","Low pressure cooler cost equipment and install", "M$", "Low Pressure Cooler", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_T_in", "Low pressure cross flow cooler inlet temperature", "C", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_P_in", "Low pressure cross flow cooler inlet pressure", "MPa", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_rho_in", "Low pressure cross flow cooler inlet density", "kg/m3", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_in_isen_deltah_to_P_mc_out", "Low pressure cross flow cooler inlet isen enthalpy rise to mc outlet pressure", "kJ/kg", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_m_dot_co2", "Low pressure cross flow cooler CO2 mass flow rate", "kg/s", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_UA", "Low pressure cross flow cooler conductance", "MW/K", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_q_dot", "Low pressure cooler heat transfer", "MWt", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_co2_deltaP_des","Low pressure cooler co2 side design pressure drop", "-", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_W_dot_fan", "Low pressure cooler fan power", "MWe", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_cost_equipment","Low pressure cooler cost equipment", "M$", "Low Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "mc_cooler_cost_bare_erected","Low pressure cooler cost equipment and install", "M$", "Low Pressure Cooler", "", "error_int=0", "", "" }, // pre compressor cooler - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_T_in", "Intermediate pressure cross flow cooler inlet temperature", "C", "Intermediate Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_P_in", "Intermediate pressure cross flow cooler inlet pressure", "MPa", "Intermediate Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_m_dot_co2", "Intermediate pressure cross flow cooler CO2 mass flow rate", "kg/s", "Intermediate Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_UA", "Intermediate pressure cross flow cooler conductance", "MW/K", "Intermediate Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_q_dot", "Intermediate pressure cooler heat transfer", "MWt", "Intermediate Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_W_dot_fan", "Intermediate pressure cooler fan power", "MWe", "Intermediate Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_cost_equipment","Intermediate pressure cooler cost equipment", "M$", "Intermediate Pressure Cooler", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_cost_bare_erected","Intermediate pressure cooler cost equipment and install", "M$", "Intermediate Pressure Cooler", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_T_in", "Intermediate pressure cross flow cooler inlet temperature", "C", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_P_in", "Intermediate pressure cross flow cooler inlet pressure", "MPa", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_m_dot_co2", "Intermediate pressure cross flow cooler CO2 mass flow rate", "kg/s", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_UA", "Intermediate pressure cross flow cooler conductance", "MW/K", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_q_dot", "Intermediate pressure cooler heat transfer", "MWt", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_W_dot_fan", "Intermediate pressure cooler fan power", "MWe", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_cost_equipment","Intermediate pressure cooler cost equipment", "M$", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "pc_cooler_cost_bare_erected","Intermediate pressure cooler cost equipment and install", "M$", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, // piping_inventory_etc_cost - { SSC_OUTPUT, SSC_NUMBER, "piping_inventory_etc_cost","Cost of remaining cycle equipment on BEC basis", "M$", "Intermediate Pressure Cooler", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "piping_inventory_etc_cost","Cost of remaining cycle equipment on BEC basis", "M$", "Intermediate Pressure Cooler", "", "error_int=0", "", "" }, // Cooler Totals - { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_cost_equipment", "Total cooler cost equipment", "M$", "Cooler Totals", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_cost_bare_erected","Total cooler cost equipment and install", "M$", "Cooler Totals", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_UA", "Total cooler conductance", "MW/K", "Cooler Totals", "", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_W_dot_fan", "Total cooler fan power", "MWe", "Cooler Totals", "", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_cost_equipment", "Total cooler cost equipment", "M$", "Cooler Totals", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_cost_bare_erected","Total cooler cost equipment and install", "M$", "Cooler Totals", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_UA", "Total cooler conductance", "MW/K", "Cooler Totals", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "cooler_tot_W_dot_fan", "Total cooler fan power", "MWe", "Cooler Totals", "", "error_int=0", "", "" }, // State Points - { SSC_OUTPUT, SSC_ARRAY, "T_state_points", "Cycle temperature state points", "C", "State Points", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "P_state_points", "Cycle pressure state points", "MPa", "State Points", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_state_points", "Cycle entropy state points", "kJ/kg-K", "State Points", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "h_state_points", "Cycle enthalpy state points", "kJ/kg", "State Points", "", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_state_points", "Cycle temperature state points", "C", "State Points", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "P_state_points", "Cycle pressure state points", "MPa", "State Points", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_state_points", "Cycle entropy state points", "kJ/kg-K", "State Points", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "h_state_points", "Cycle enthalpy state points", "kJ/kg", "State Points", "", "error_int=0", "", "" }, // T-s plot data - { SSC_OUTPUT, SSC_ARRAY, "T_LTR_HP_data", "Temperature points along LTR HP stream", "C", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_LTR_HP_data", "Entropy points along LTR HP stream", "kJ/kg-K", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "T_HTR_HP_data", "Temperature points along HTR HP stream", "C", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_HTR_HP_data", "Entropy points along HTR HP stream", "kJ/kg-K", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "T_PHX_data", "Temperature points along PHX stream", "C", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_PHX_data", "Entropy points along PHX stream", "kJ/kg-K", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "T_HTR_LP_data", "Temperature points along HTR LP stream", "C", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_HTR_LP_data", "Entropy points along HTR LP stream", "kJ/kg-K", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "T_LTR_LP_data", "Temperature points along LTR LP stream", "C", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_LTR_LP_data", "Entropy points along LTR LP stream", "kJ/kg-K", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "T_main_cooler_data", "Temperature points along main cooler stream", "C", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_main_cooler_data", "Entropy points along main cooler stream", "kJ/kg-K", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "T_pre_cooler_data", "Temperature points along pre cooler stream", "C", "T-s plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "s_pre_cooler_data", "Entropy points along pre cooler stream", "kJ/kg-K", "T-s plot data", "", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_LTR_HP_data", "Temperature points along LTR HP stream", "C", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_LTR_HP_data", "Entropy points along LTR HP stream", "kJ/kg-K", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_HTR_HP_data", "Temperature points along HTR HP stream", "C", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_HTR_HP_data", "Entropy points along HTR HP stream", "kJ/kg-K", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_PHX_data", "Temperature points along PHX stream", "C", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_PHX_data", "Entropy points along PHX stream", "kJ/kg-K", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_HTR_LP_data", "Temperature points along HTR LP stream", "C", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_HTR_LP_data", "Entropy points along HTR LP stream", "kJ/kg-K", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_LTR_LP_data", "Temperature points along LTR LP stream", "C", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_LTR_LP_data", "Entropy points along LTR LP stream", "kJ/kg-K", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_main_cooler_data", "Temperature points along main cooler stream", "C", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_main_cooler_data", "Entropy points along main cooler stream", "kJ/kg-K", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "T_pre_cooler_data", "Temperature points along pre cooler stream", "C", "T-s plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "s_pre_cooler_data", "Entropy points along pre cooler stream", "kJ/kg-K", "T-s plot data", "", "error_int=0", "", "" }, // P-h plot data - { SSC_OUTPUT, SSC_ARRAY, "P_t_data", "Pressure points along turbine expansion", "MPa", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "h_t_data", "Enthalpy points along turbine expansion", "kJ/kg", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "P_mc_data", "Pressure points along main compression", "MPa", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "h_mc_data", "Enthalpy points along main compression", "kJ/kg", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "P_rc_data", "Pressure points along re compression", "MPa", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "h_rc_data", "Enthalpy points along re compression", "kJ/kg", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "P_pc_data", "Pressure points along pre compression", "MPa", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "h_pc_data", "Enthalpy points along pre compression", "kJ/kg", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "P_t2_data", "Pressure points along secondary turbine expansion", "MPa", "P-h plot data", "", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "h_t2_data", "Enthalpy points along secondary turbine expansion", "kJ/kg", "P-h plot data", "", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "P_t_data", "Pressure points along turbine expansion", "MPa", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "h_t_data", "Enthalpy points along turbine expansion", "kJ/kg", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "P_mc_data", "Pressure points along main compression", "MPa", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "h_mc_data", "Enthalpy points along main compression", "kJ/kg", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "P_rc_data", "Pressure points along re compression", "MPa", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "h_rc_data", "Enthalpy points along re compression", "kJ/kg", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "P_pc_data", "Pressure points along pre compression", "MPa", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "h_pc_data", "Enthalpy points along pre compression", "kJ/kg", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "P_t2_data", "Pressure points along secondary turbine expansion", "MPa", "P-h plot data", "", "error_int=0", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "h_t2_data", "Enthalpy points along secondary turbine expansion", "kJ/kg", "P-h plot data", "", "error_int=0", "", "" }, var_info_invalid }; @@ -1308,9 +1313,11 @@ int sco2_design_cmod_common(compute_module *cm, C_sco2_phx_air_cooler & c_sco2_c c_sco2_cycle.mf_callback_update = ssc_cmod_update; c_sco2_cycle.mp_mf_update = (void*)(cm); + int cycle_error_enum; + try { - c_sco2_cycle.design(s_sco2_des_par); + cycle_error_enum = c_sco2_cycle.design(s_sco2_des_par); } catch (C_csp_exception &csp_exception) { @@ -1324,12 +1331,22 @@ int sco2_design_cmod_common(compute_module *cm, C_sco2_phx_air_cooler & c_sco2_c throw exec_error("sco2_csp_system", csp_exception.m_error_message); } - //// DEBUG - //{ - // cm->assign("debug_string", var_data("test")); - //} + // Handle cycle errors + cm->assign("error_int", cycle_error_enum); - + // Cycle failed, exit now + if (cycle_error_enum >= (int)C_sco2_cycle_core::E_cycle_error_msg::E_CANNOT_PRODUCE_POWER + && cycle_error_enum < (int)C_sco2_cycle_core::E_cycle_error_msg::E_NO_ERROR) + { + std::string error_text = C_sco2_cycle_core::E_cycle_error_msg::get_error_string(cycle_error_enum); + cm->assign("error_msg", error_text); + cm->assign("cycle_success", 0); + return 0; + } + + std::string error_text = ""; + cm->assign("error_msg", error_text); + cm->assign("cycle_success", 1); // If all calls were successful, log to SSC any messages from sco2_recomp_csp while (c_sco2_cycle.mc_messages.get_message(&out_type, &out_msg)) diff --git a/tcs/sco2_cycle_templates.h b/tcs/sco2_cycle_templates.h index d0001ffc2..ce2c60067 100644 --- a/tcs/sco2_cycle_templates.h +++ b/tcs/sco2_cycle_templates.h @@ -38,6 +38,49 @@ class C_sco2_cycle_core E_SET_T_T_IN // Model sets turbine inlet temperature to HTF inlet temperature }; + class E_cycle_error_msg + { + public: + + // Error Types + enum E_cycle_error_types + { + E_CANNOT_PRODUCE_POWER = 200, + E_CO2_PROPS_ERROR, + E_ETA_THRESHOLD, + E_HTR_LTR_CONVERGENCE, + E_AIR_COOLER_CONVERGENCE, + E_NO_ERROR + }; + + // Get error message corresponding to error type + // NO COMMAS in message + static std::string get_error_string(int error_enum) + { + switch (error_enum) + { + case((int)E_CANNOT_PRODUCE_POWER): + return "Cycle cannot produce power"; + break; + case((int)E_CO2_PROPS_ERROR): + return "Error calculating sCO2 properties"; + case((int)E_ETA_THRESHOLD): + return "Eta below threshold"; + case((int)E_NO_ERROR): + return "No error"; + break; + case((int)E_HTR_LTR_CONVERGENCE): + return "HTR LTR convergence issue"; + case((int)E_AIR_COOLER_CONVERGENCE): + return "Air cooler did not converge"; + default: + return "Error code not recognized"; + break; + } + } + + }; + enum class E_turbo_gen_motor_config { // Options to apply motor and generator losses diff --git a/tcs/sco2_htrbypass_cycle.cpp b/tcs/sco2_htrbypass_cycle.cpp index 0735efd8c..5314780f3 100644 --- a/tcs/sco2_htrbypass_cycle.cpp +++ b/tcs/sco2_htrbypass_cycle.cpp @@ -252,7 +252,7 @@ int C_sco2_htrbp_core::solve() if (m_outputs.m_w_mc + m_outputs.m_w_rc + m_outputs.m_w_t <= 0.0) // positive net power is impossible; return an error { - m_outputs.m_error_code = 25; + m_outputs.m_error_code = (int)C_sco2_cycle_core::E_cycle_error_msg::E_CANNOT_PRODUCE_POWER; return m_outputs.m_error_code; } } @@ -280,7 +280,7 @@ int C_sco2_htrbp_core::solve() if (T_HTR_LP_out_code != C_monotonic_eq_solver::CONVERGED) { - m_outputs.m_error_code = 35; + m_outputs.m_error_code = (int)C_sco2_cycle_core::E_cycle_error_msg::E_HTR_LTR_CONVERGENCE; return m_outputs.m_error_code; } @@ -933,6 +933,13 @@ void C_HTRBypass_Cycle::auto_opt_design_core(int& error_code) if (error_code != 0) return; + // don't size system if eta is terrible + //if (m_optimal_htrbp_core.m_outputs.m_eta_thermal < 0.15) + //{ + // error_code = (int)C_sco2_cycle_core::E_cycle_error_msg::E_ETA_THRESHOLD; + // return; + //} + // Finalize Design (pass in reference to solved parameters) error_code = m_optimal_htrbp_core.finalize_design(ms_des_solved); } diff --git a/tcs/sco2_pc_csp_int.cpp b/tcs/sco2_pc_csp_int.cpp index 6bc47b147..70acd9234 100644 --- a/tcs/sco2_pc_csp_int.cpp +++ b/tcs/sco2_pc_csp_int.cpp @@ -62,11 +62,11 @@ C_sco2_phx_air_cooler::C_sco2_phx_air_cooler() mp_mf_update = 0; // NULL } -void C_sco2_phx_air_cooler::design(S_des_par des_par) +int C_sco2_phx_air_cooler::design(S_des_par des_par) { ms_des_par = des_par; - design_core(); + return design_core(); } void C_sco2_phx_air_cooler::C_P_LP_in_iter_tracker::reset_vectors() @@ -88,7 +88,7 @@ void C_sco2_phx_air_cooler::C_P_LP_in_iter_tracker::push_back_vectors(double P_L mv_is_converged.push_back(is_converged); //[-] } -void C_sco2_phx_air_cooler::design_core() +int C_sco2_phx_air_cooler::design_core() { // using -> C_RecompCycle::S_auto_opt_design_hit_eta_parameters std::string error_msg; @@ -375,7 +375,16 @@ void C_sco2_phx_air_cooler::design_core() if (auto_err_code != 0) { - throw(C_csp_exception(error_msg.c_str())); + // Check if error code is handled (need to report out) + if (auto_err_code >= (int)C_sco2_cycle_core::E_cycle_error_msg::E_CANNOT_PRODUCE_POWER + && auto_err_code < (int)C_sco2_cycle_core::E_cycle_error_msg::E_NO_ERROR) + { + return auto_err_code; + } + + // Unhandled exception + else + throw(C_csp_exception(error_msg.c_str())); } if (error_msg.empty()) @@ -536,7 +545,7 @@ void C_sco2_phx_air_cooler::design_core() - return; + return auto_err_code; } diff --git a/tcs/sco2_pc_csp_int.h b/tcs/sco2_pc_csp_int.h index 4dc529e5c..b4978f533 100644 --- a/tcs/sco2_pc_csp_int.h +++ b/tcs/sco2_pc_csp_int.h @@ -404,7 +404,7 @@ class C_sco2_phx_air_cooler double m_T_co2_crit; //[K] double m_P_co2_crit; //[kPa] - void design_core(); + int design_core(); double adjust_P_mc_in_away_2phase(double T_co2 /*K*/, double P_mc_in /*kPa*/); @@ -629,7 +629,7 @@ class C_sco2_phx_air_cooler util::matrix_t & T_htf_ind, util::matrix_t & T_amb_ind, util::matrix_t & m_dot_htf_ND_ind, double od_opt_tol /*-*/, double od_tol /*-*/); - void design(S_des_par des_par); + int design(S_des_par des_par); int off_design__constant_N__calc_max_htf_massflow__T_mc_in_P_LP_in__objective(C_sco2_phx_air_cooler::S_od_par od_par, bool is_rc_N_od_at_design, double rc_N_od_f_des /*-*/, diff --git a/tcs/sco2_turbinesplitflow_cycle.cpp b/tcs/sco2_turbinesplitflow_cycle.cpp index ef2c215d9..fac542865 100644 --- a/tcs/sco2_turbinesplitflow_cycle.cpp +++ b/tcs/sco2_turbinesplitflow_cycle.cpp @@ -477,11 +477,20 @@ int C_sco2_tsf_core::finalize_design(C_sco2_cycle_core::S_design_solved& design_ s_air_cooler_des_par_ind.m_elev = m_inputs.m_elevation; // [m] s_air_cooler_des_par_ind.m_eta_fan = m_inputs.m_eta_fan; // [-] s_air_cooler_des_par_ind.m_N_nodes_pass = m_inputs.m_N_nodes_pass; // [-] - + if (m_inputs.m_is_des_air_cooler && std::isfinite(m_inputs.m_deltaP_cooler_frac) && std::isfinite(m_inputs.m_frac_fan_power) && std::isfinite(m_inputs.m_T_amb_des) && std::isfinite(m_inputs.m_elevation) && std::isfinite(m_inputs.m_eta_fan) && m_inputs.m_N_nodes_pass > 0) { - m_outputs.mc_air_cooler.design_hx(s_air_cooler_des_par_ind, s_air_cooler_des_par_dep, m_inputs.m_des_tol); + try + { + m_outputs.mc_air_cooler.design_hx(s_air_cooler_des_par_ind, s_air_cooler_des_par_dep, m_inputs.m_des_tol); + } + catch (...) + { + m_outputs.m_error_code = C_sco2_cycle_core::E_cycle_error_msg::E_AIR_COOLER_CONVERGENCE; + return m_outputs.m_error_code; + } + } }