ISISNeutronMuon / ISISNeutronMuon/MDMC
Change the relationship between fixed and tie attributes of Parameter
- Dominant language
- Python
- Stars
- 4
- Forks
- 0
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 5
Description
**Description of the error**
As currently implemented in MDMC, there is some undesired behaviour when setting the attributes of a Parameter object.
```
from MDMC.MD.interaction_functions import Parameter
from MDMC.common.units import Unit, UnitFloat
value = 1.0
unit = Unit('Ang')
name = 'length'
```
**Behaviour 1**
```
parameter = Parameter(UnitFloat(value, unit), name)
scaled_parameter = Parameter(UnitFloat(5 * value, unit), name)
scaled_parameter.set_tie(parameter, '* 6')
scaled_parameter.value
```
``>>> 6.0``
The value returned doesn't contain the unit label ``Ang``
**Behaviour 2**
```
parameter = Parameter(UnitFloat(value, unit), name)
scaled_parameter = Parameter(UnitFloat(5 * value, unit), name)
scaled_parameter.fixed = True
scaled_parameter.set_tie(parameter, '* 6')
scaled_parameter.value
```
``>>> 6.0``
The value for ``scaled_parameter`` can be altered by tying it to ``parameter``, even after after setting ``scaled_parameter.fixed = True``.
**Behaviour 3**
```
parameter = Parameter(UnitFloat(value, unit), name)
scaled_parameter = Parameter(UnitFloat(5 * value, unit), name)
scaled_parameter.set_tie(parameter, '* 6')
scaled_parameter.fixed = True
```
One can set ``scaled_parameter.fixed = True`` after setting a tie to ``parameter``. This is undesirable and unexpected user behaviour, so should throw an error/warning when attempting to do so.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.