-
Notifications
You must be signed in to change notification settings - Fork 110
Closed
Labels
Description
See below:
when adding a code that doesn't have an epsilon_squared parameter, Bridge will raise a CoreException when querying for this.
Replacing the if...else statement with a try...except clause would probably fix this.
---> 53 system.add_system(
54 hydro,
55 partners=to_hydro_kickers,
56 do_sync=True,
57 h_smooth_is_eps=True,
58 zero_smoothing=True
59 )
File ~/Code/ghostwind/env/lib/python3.10/site-packages/amuse/couple/bridge.py:527, in Bridge.add_system(self, interface, partners, do_sync, radius_is_eps, h_smooth_is_eps, zero_smoothing)
522 """
523 add a system to bridge integrator
524 """
526 if hasattr(interface, "particles"):
--> 527 code = GravityCodeInField(interface, partners, do_sync, self.verbose,
528 radius_is_eps, h_smooth_is_eps, zero_smoothing)
529 self.add_code(code)
530 else:
File ~/Code/ghostwind/env/lib/python3.10/site-packages/amuse/couple/bridge.py:325, in GravityCodeInField.__init__(self, code, field_codes, do_sync, verbose, radius_is_eps, h_smooth_is_eps, zero_smoothing)
323 if not hasattr(self.code,"parameters"):
324 self.zero_smoothing=True
--> 325 elif not hasattr(self.code.parameters,"epsilon_squared"):
326 self.zero_smoothing=True
327 else:
File ~/Code/ghostwind/env/lib/python3.10/site-packages/amuse/datamodel/parameters.py:310, in ParametersWithUnitsConverted.__getattr__(self, name)
309 def __getattr__(self, name):
--> 310 return self.convert_from_target_to_source_if_needed(getattr(self._original, name))
File ~/Code/ghostwind/env/lib/python3.10/site-packages/amuse/datamodel/parameters.py:35, in Parameters.__getattr__(self, name)
31 def __getattr__(self, name):
32 #if name.startswith('__'):
33 # return object.__getattribute__(self, name)
34 if not name in self._mapping_from_name_to_definition:
---> 35 raise exceptions.CoreException("tried to get unknown parameter '{0}' for a '{1}' object".format(name, type(self._instance()).__name__))
37 self._instance().before_get_parameter()
39 return self.get_parameter(name).get_value()
CoreException: tried to get unknown parameter 'epsilon_squared' for a 'Phantom' object```