Henrik Sönnerlind
COMSOL Employee
Please login with a confirmed email address before reporting spam
Posted:
2 years ago
8 sept. 2022, 11:40 UTC−4
This sounds strange; that variable should be available. Which contact method are you using in the Solid Mechanics interface?
Or: That variable may be defined only on the destination side of the contact pair. If your expression is evaluated also on the source side, it would fail. That can be fixed by defining a variable on the source boundary solid.Tn as dst2src_p1(solid.Tn).
-------------------
Henrik Sönnerlind
COMSOL
This sounds strange; that variable should be available. Which contact method are you using in the Solid Mechanics interface?
Or: That variable may be defined only on the destination side of the contact pair. If your expression is evaluated also on the source side, it would fail. That can be fixed by defining a variable on the source boundary *solid.Tn* as *dst2src\_p1(solid.Tn)*.
José Dinarte Vieira Goulart
Please login with a confirmed email address before reporting spam
Posted:
2 years ago
8 sept. 2022, 19:58 UTC−4
This sounds strange; that variable should be available. Which contact method are you using in the Solid Mechanics interface?
Or: That variable may be defined only on the destination side of the contact pair. If your expression is evaluated also on the source side, it would fail. That can be fixed by defining a variable on the source boundary solid.Tn as dst2src_p1(solid.Tn).
Dear Sönnerlind, thank you very much for your reply!
I'm using Penalty method in Solid Mechanics interface.
I have defined my "Constriction Condutance" (hc) as "User defined" in "Pair eletrical contact" as follows:
if(dst2src_ap10, int1(solid.Tn), 0) + if(src2dst_ap10, int1(solid.Tn), 0)
In that way i have the expected results (can tell by plotting "ec.pelc3.hconstr" over the contact surface) but i have to drop Eletro Magnetic Heating from Multipyhisics. Following your suggestion i have changed to:
if(dst2src_ap10, int1(dst2src_ap10(solid.Tn)), 0) + if(src2dst_ap10, int1(dst2src_ap10(solid.Tn)), 0)
where 'int1' it is my interpolated function defined by ( S/m2 (f(arg)) vs MPa (arg) )
When changes were maded i can now start the problem but i have zero division error.
When modfied to
if(dst2src_ap10, int1(solid.Tn), 0) + if(src2dst_ap10, int1(dst2src_ap10(solid.Tn)), 0)
i can run the problem ( all coupled ) but never comes to a convergence ( Mechanical, Eletrical and Thermal lines keep crossing each other and never fall down to convergence ).
I can tell that im not sure what i'm doing. I think it would be easier to ask, whats the correct way to define a Constriction Conductance that depends on contact pressure that will be used as argument for a defined function?
I came to this equation "if(dst2src_ap10, int1(solid.Tn), 0) + if(src2dst_ap10, int1(solid.Tn), 0) " but simply doesn't run with E.M.H. enabled
>This sounds strange; that variable should be available. Which contact method are you using in the Solid Mechanics interface?
>
>Or: That variable may be defined only on the destination side of the contact pair. If your expression is evaluated also on the source side, it would fail. That can be fixed by defining a variable on the source boundary *solid.Tn* as *dst2src\_p1(solid.Tn)*.
Dear Sönnerlind, thank you very much for your reply!
I'm using Penalty method in Solid Mechanics interface.
I have defined my "Constriction Condutance" (hc) as "User defined" in "Pair eletrical contact" as follows:
if(dst2src_ap10, int1(solid.Tn), 0) + if(src2dst_ap10, int1(solid.Tn), 0)
In that way i have the expected results (can tell by plotting "ec.pelc3.hconstr" over the contact surface) but i have to drop Eletro Magnetic Heating from Multipyhisics. Following your suggestion i have changed to:
if(dst2src_ap10, int1(dst2src_ap10(solid.Tn)), 0) + if(src2dst_ap10, int1(dst2src_ap10(solid.Tn)), 0)
where 'int1' it is my interpolated function defined by ( S/m2 (f(arg)) vs MPa (arg) )
When changes were maded i can now start the problem but i have zero division error.
When modfied to
if(dst2src_ap10, int1(solid.Tn), 0) + if(src2dst_ap10, int1(dst2src_ap10(solid.Tn)), 0)
i can run the problem ( all coupled ) but never comes to a convergence ( Mechanical, Eletrical and Thermal lines keep crossing each other and never fall down to convergence ).
I can tell that im not sure what i'm doing. I think it would be easier to ask, whats the correct way to define a Constriction Conductance that depends on contact pressure that will be used as argument for a defined function?
I came to this equation "if(dst2src_ap10, int1(solid.Tn), 0) + if(src2dst_ap10, int1(solid.Tn), 0) " but simply doesn't run with E.M.H. enabled