Redefined attribute values are not used in expression evaluation

Hi,

The following model evaluates mass to 60 and not to 120.
Evaluation only uses default values but not redefined values.

Starkit::Solari::mass: 10.0
Starkit::Nexus::mass: 50.0
Starkit::Molecule::totalMass: 60.0
Starkit::PowerUnit::mass: 20.0
Molecule_1N::M0001_1N::nx007::mass: 100.0

Please advise.

Thanks,

Robert

library package Starkit {
private import ScalarValues::;
private import ISQ::;
private import SI::;
private import NumericalFunctions::;

part def Solari {
attribute mass : ISQBase::MassValue default 10 [kg];
}
part def Nexus {
attribute mass : ISQBase::MassValue default 50 [kg];
}
part def Molecule {
part nexus : Nexus [0..];
part solari : Solari [0..];
attribute totalMass : ISQBase::MassValue = sum(nexus.mass) + sum(solari.mass);
}
part def PowerUnit :> Solari { attribute :>> Solari::mass = 20 [kg]; }
}

package Molecule_1N {
private import Starkit::;
private import ISQ::;
private import SI::*;

part M0001_1N : Molecule {
part nx007 : Nexus :> Molecule::nexus {
attribute :>> mass = 100 [kg];
}
part pwr001 : PowerUnit :> Molecule::solari;
}
}

Hi,

Subsettings that are not redefinitions are not collected when evaluating members as currently there are no (clear) semantics of what they mean. In the meantime, values should be bound manually, e.g.

    part M0001_1N : Molecule {
        part nx007 : Nexus :> Molecule::nexus {
            attribute :>> mass = 100 [kg];
        }
        part pwr001 : PowerUnit :> Molecule::solari;

        :>> nexus = nx007;
        :>> solari = pwr001;
    }