3

Duplicate name error E+ error

Hi all,

I've been getting an error when working on the 90.1 prototypical Outpatient building.

The Error:

I receive an error that reads:

Last severe error=Duplicate name found. name: "Basement Floor F: 1.26 Perim: 0.0 Area: 5.2". Overwriting existing object.

Context:

As you can see, I create a Construction:FfactorGroundFloor object that lays out the parameters in the name. I do this using Ruby code that ensures I don't create a Construction:FfactorGroundFloor that already exists in the model:

# Record combination of perimeter and area. Each unique combination requires a FFactorGroundFloorConstruction
  f_floor_const_name ="Basement Floor F: #{f_factor.round(2).to_s} Perim: #{perimeter.round(2).to_s} Area: #{area.round(2).to_s}"

  # Check if the floor construction has been constructed already. If so, look it up in the model
  if model.getFFactorGroundFloorConstructionByName(f_floor_const_name).is_initialized
    f_floor_construction = model.getFFactorGroundFloorConstructionByName(f_floor_const_name).get
  else
    f_floor_construction = OpenStudio::Model::FFactorGroundFloorConstruction.new(model)
    f_floor_construction.setName(f_floor_const_name)
    f_floor_construction.setFFactor(f_factor)
    f_floor_construction.setArea(area)
    f_floor_construction.setPerimeterExposed(perimeter) 
  end

I then go on to set the construction to the appropriate surfaces.

In this IDF I do in fact have a Construction:FfactorGroundFloor used by multiple surfaces, but as far as I know it's not unusual for multiple surfaces to use a common construction.

Here is what I've tried to fix the issue:

Did not fix this issue:

  • Forget it, allow the code to recreate identical constructions. The Construction:FfactorGroundFloor name instead gets a 1 appended to it, but I still get the same error. This is odd, as it is no longer duplicated.
  • Tried playing with the special characters (e.g. the colon, using underscores in place of spaces). I still got the same error but with the new name.

Did fix the issue, but I'm unhappy with the result:

  • This is the strangest one: if I go into the IDF generated by the ruby code and manually change the problematic name to something else, it works.

Any ideas what is going on? Why does that object name cause this error?

IDF and OSM files can be found here

jugonzal07's avatar
681
jugonzal07
asked 2020-01-29 10:26:17 -0500
Jeremy's avatar
1.6k
Jeremy
updated 2020-01-31 10:38:16 -0500
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

1 Answer

3

Current working working solution:

  • My colleague tried many combinations and had this work format work:

    "Foundation F #{f_factor.round(2).to_s} Perim #{perimeter.round(2).to_s} Area #{area.round(2).to_s}".gsub('.','')

The gsub removes the '.' to get you Foundation F 126 Perim 00 Area 52.

What makes this weird, is that we still received the same error if we replaced the dot with the letter 'p'. We're unsure if it's somehow related to this

UPDATE: This seems to be a known E+ bug. More information can be found here

jugonzal07's avatar
681
jugonzal07
answered 2020-01-30 10:43:56 -0500, updated 2020-01-31 08:23:54 -0500
edit flag offensive 0 remove flag delete link

Comments

add a comment see more comments