Durk de Vries
COMSOL Employee
Please login with a confirmed email address before reporting spam
Posted:
5 years ago
10 mar 2020, 10:43 GMT-4
Hi Sergey,
Your third study will take the solution from the second study.
And 'Solution' in this case, means the information that is stored for the degree of freedom 'A'.
In study 3, this information is used to deduce the B, H, J, D, and E fields, where the E field was the time derivative of the A field in the transient study. For a stationary study however, there is no time derivative, and therefore, no E field (notice that the Magnetic Fields interface only models induced electric fields, not static ones. For that, you will need the Magnetic and Electric Fields interface).
Since the third study is a stationary study, it will take the information stored for A, and then use the definition of the E field as it is given for stationary studies (which is 'zero'), to derive E from A. With the E field being zero, your eddy currents and your Lorentz force vanishes.
Basically, you are asking COMSOL to interpret a transient result during a stationary study, which results in an ambiguous situation.
There are several ways around this. The preferred choice depends on how 'easy' you want it to be, and what kind of performance you would like.
One fairly simple alternative to implement, is to set the Solid Mechanics interface to 'quasistatic' in the interface settings window, and just solve it together with the Magnetic Fields interface in Study 2. I noticed, in your initial model, Study 2 takes 7.5 hours to solve. If you switch to a direct solver (including both MF and SOLID), you can do it in a couple of minutes.
Another alternative is to use the 'withsol()' operator for the manual coupling:
* withsol('sol3', mf.FLtzx, setval(t,1))
* withsol('sol3', mf.FLtzy, setval(t,1))
* withsol('sol3', mf.FLtzz, setval(t,1))
The withsol operator will take the data directly from solution3 without reinterpreting it for the stationary case. You don't need to set in the study, where the data should come from. The operator does that for you. See the reference manual for more details on this.
See attached files.
Kind regards,
Durk
Hi Sergey,
Your third study will take the solution from the second study.
And 'Solution' in this case, means the information that is stored for the degree of freedom 'A'.
In study 3, this information is used to deduce the B, H, J, D, and E fields, where the E field was the time derivative of the A field in the transient study. For a stationary study however, there is no time derivative, and therefore, no E field (*notice that the Magnetic Fields interface only models induced electric fields, not static ones. For that, you will need the Magnetic and Electric Fields interface*).
Since the third study is a stationary study, it will take the information stored for A, and then use the definition of the E field as it is given for stationary studies (*which is 'zero'*), to derive E from A. With the E field being zero, your eddy currents and your Lorentz force vanishes.
Basically, you are asking COMSOL to interpret a transient result during a stationary study, which results in an ambiguous situation.
There are several ways around this. The preferred choice depends on how 'easy' you want it to be, and what kind of performance you would like.
One fairly simple alternative to implement, is to set the Solid Mechanics interface to 'quasistatic' in the interface settings window, and just solve it together with the Magnetic Fields interface in Study 2. *I noticed, in your initial model, Study 2 takes 7.5 hours to solve. If you switch to a direct solver (including both MF and SOLID), you can do it in a couple of minutes.*
Another alternative is to use the 'withsol()' operator for the manual coupling:
* withsol('sol3', mf.FLtzx, setval(t,1))
* withsol('sol3', mf.FLtzy, setval(t,1))
* withsol('sol3', mf.FLtzz, setval(t,1))
The withsol operator will take the data directly from solution3 without reinterpreting it for the stationary case. You don't need to set in the study, where the data should come from. The operator does that for you. See the reference manual for more details on this.
See attached files.
Kind regards,
Durk
Please login with a confirmed email address before reporting spam
Posted:
5 years ago
11 mar 2020, 12:06 GMT-4
Hi Durk! Great thanks for you detailed explanation and for the examples in the attachements. I understood the issue and was able to fix it. The second solution is a better fit for me.
Best regards,
Sergey
Hi Durk! Great thanks for you detailed explanation and for the examples in the attachements. I understood the issue and was able to fix it. The second solution is a better fit for me.
Best regards,
Sergey