🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

How to assign a value to customer particle property

User: "Yangyang_Shen"
Altair Community Member
Updated by Yangyang_Shen

When writing an API, I know how to take the value from a customer property using the getValue function. My question is what function to use to assign a value to a customer property, while the value is calculated in the code? 

 

For example below, I use the "Particle Pore Filling" to calculate the "Particle Moisture". 

      const string CComputation::PARTICLE_POREFILLING = "Particle Pore Filling";

      const string CComputation::PARTICLE_MOISTURE = "Particle Moisture";

      const double* elem1PoreFilling = elem1PropData->getValue(PARTICLE_POREFILLING.c_str());

      double elem1Moisture = *elem1PoreFilling * elem1Mass;  

Then I want to assign the value of elem1Moisture to the PARTICLE_MOISTURE customer property. How can I do this? 

Any advice will be much appreciated! 

 

Find more posts tagged with

Sort by:
1 - 2 of 21
    User: "RWood"
    Altair Employee
    Accepted Answer
    Updated by RWood

    Hi,

    As you say, getValue( ) retrieves a custom property value. The corresponding function for changing the value of a cutstom property is through getDelta( ), as you can't change the value directly (it was implemented this way to be threadsafe). So if you want to change a custom property value, you do so through a delta. It's important to note though that, as the name suggests, this is just a delta/increment. So if you want to set an exact value, you must first subtract off its existing value. So the code will look something lilke:

    double* elem1Moisture_delta = elem1PropData->getDelta(PARTICLE_MOISTURE .c_str());
    const double* elem1Moisture_value = elem1PropData->getValue(PARTICLE_MOISTURE .c_str());

    double elem1Moisture = *elem1PoreFilling * elem1Mass;  

    *elem1Moisture_delta = elem1Moisture  - *elem1Moisture_value;

    Where the last line is changing the value of the custom property by adding on what I want it to be (elem1Moisture) but I also need to subtract the current value (*elem1Moisture_value).

    I'd recommend going through some of the API tutorials for more familiarity with custom properties.

    Cheers,

    Richard

    User: "Yangyang_Shen"
    Altair Community Member
    OP
    Updated by Yangyang_Shen

    Thank you! It all makes sense.