Skip to content

Segfault in CoPylot when defining multiple receivers #86

@jlbraid

Description

@jlbraid

I am running SolarPILOT via CoPylot. My python kernel crashes when I run the following:

cp = CoPylot() 
r = cp.data_create()
cp.api_callback_create(r);
assert cp.data_set_string(
        r,
        "ambient.0.weather_file",
        "../climate_files/USA CA Daggett (TMY2).csv",
    )
cp.data_set_string(r, "ambient.0.sun_type", "Buie CSR")

#Try from luke
cp.data_set_number(r,'optimize.0.multirec_screen_mult',1.25)
cp.drop_receiver(r,'Receiver 1')
cp.add_receiver(r,'NE')
cp.data_set_string(r, "receiver.0.rec_type", "Flat plate")
cp.data_set_number(r, "receiver.0.therm_loss_base", 0)
cp.data_set_number(r, "receiver.0.piping_loss_coef", 0)
cp.data_set_number(r, "receiver.0.peak_flux", 100000)
cp.data_set_number(r, "receiver.0.rec_width", 4.6)
cp.data_set_number(r, "receiver.0.rec_height", 4.6)
cp.data_set_number(r, "receiver.0.absorptance", 1)
 
 
cp.add_receiver(r,'NW')
cp.data_set_string(r, "receiver.1.rec_type", "Flat plate")
cp.data_set_number(r, "receiver.1.therm_loss_base", 0)
cp.data_set_number(r, "receiver.1.piping_loss_coef", 0)
cp.data_set_number(r, "receiver.1.peak_flux", 100000)
cp.data_set_number(r, "receiver.1.rec_width", 4.6)
cp.data_set_number(r, "receiver.1.rec_height", 4.6)
cp.generate_layout(r);

It is not timing out, so I think this is a C++ segfault issue. I can run the equivalent case with a single receiver.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions