Using standard deviation operator in optimization objective function

Please login with a confirmed email address before reporting spam

Hello.

I want to define standard deviation of temperature distribution of the load after 60 seconds of heating **( time at 60s) ** as objective function in shape optimization module.

My study is consists of two steps, frequency domain and time dependent.

I made integration operation of the domain of the load in non local coupling section, intop2 Then i could get standard deviation at specific time (60s) by defining Derived values - global evaluation using stddev() built in operator, stddev('comp1.intop2',T).

However, I have no idea how to define objective function using stddev('comp1.intop2',T). stddev() does not work here. Also, I am struggling how to define standard deviation of temperature at specific time as objective function.

I appreciate any advice.


1 Reply Last Post 2024年11月25日 GMT-5 09:47
Kristian Ejlebjærg Jensen COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 3 hours ago 2024年11月25日 GMT-5 09:47
Updated: 3 hours ago 2024年11月25日 GMT-5 09:52

Hi Sujeong

The stddev operator is just an integration operator behind the scenes as described in the documentation, which contains an error, but it should say stddev('comp1.intop1',X) = sqrt(comp1.intop1((X-comp1.intop1(X)/comp1.intop1(1))^2)/comp1.intop1(1)), so you can just make your own variable equal to the standard deviation (you are allowed to have an integration operator inside another integration operator).

Optimization of time dependent problems only support evaluation of the objective function at the final time (except for parameter estimation), because there is no reason to continue the computation beyond the point where the objective is evaluated. If you want to integrate in time, you can use an ODE. The library model tesla_microvalve_transient_optimization demonstrates this.

Best regards,

Kristian E. Jensen

Technical Product Manager, Optimization

Hi Sujeong The stddev operator is just an integration operator behind the scenes as described in the [documentation](https://doc.comsol.com/6.2/docserver/#!/com.comsol.help.comsol/comsol_ref_definitions.19.029.html%232150205), which contains an error, but it should say stddev('comp1.intop1',X) = sqrt(comp1.intop1((X-comp1.intop1(X)/comp1.intop1(1))^2)/comp1.intop1(1)), so you can just make your own variable equal to the standard deviation (you are allowed to have an integration operator inside another integration operator). Optimization of time dependent problems only support evaluation of the objective function at the final time (except for parameter estimation), because there is no reason to continue the computation beyond the point where the objective is evaluated. If you want to integrate in time, you can use an ODE. The library model tesla_microvalve_transient_optimization demonstrates this. Best regards, Kristian E. Jensen Technical Product Manager, Optimization

Reply

Please read the discussion forum rules before posting.

Please log in to post a reply.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.