Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Velocity gradient expression in 2D-axisymmetric

Please login with a confirmed email address before reporting spam

Hello,

the velocity gradient tensor for a 2D-axisymmetric problem presents, for the phiphi component, the following expression

chns.graduDGphiphi = if(abs(r)<0.0010*h,d(u,r),u/r)

does anyone know the meaning? I can guess that is introduced to avoid spurious effects at the axisymmetric boundary but still it is not totally clear to me.

Best,

J

10 Replies Last Post 07.04.2013, 05:31 GMT-4
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 29.04.2012, 03:10 GMT-4
Hi

the way I read it is:
IF "r" is smaller than one per-mille of the average element size "h", then replace the gradient from the expression of the derivative of u ( der(u,r) ), while "r" is tending to "0" by " u / r ".

--
Good luck
Ivar
Hi the way I read it is: IF "r" is smaller than one per-mille of the average element size "h", then replace the gradient from the expression of the derivative of u ( der(u,r) ), while "r" is tending to "0" by " u / r ". -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 29.04.2012, 06:37 GMT-4
Hi Ivar,

thanks for your reply. What I do not understand is why bother using this expression since in a 2D-axi simulation the component phiphi is 0 by definition. Why not simply put 0 instead of that expression?

J
Hi Ivar, thanks for your reply. What I do not understand is why bother using this expression since in a 2D-axi simulation the component phiphi is 0 by definition. Why not simply put 0 instead of that expression? J

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 29.04.2012, 15:17 GMT-4
Hi

for the eaxt reason, you must ask someone from COMSOl.
My understanding is that as COMSOL considers 2D and 2D-axi, as well as 1D always a sa particular case of 3D with only a default depth for 2D, or loop length for 2D-Axi or area for 1D then they are writing all the equations out fully

--
Good luck
Ivar
Hi for the eaxt reason, you must ask someone from COMSOl. My understanding is that as COMSOL considers 2D and 2D-axi, as well as 1D always a sa particular case of 3D with only a default depth for 2D, or loop length for 2D-Axi or area for 1D then they are writing all the equations out fully -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 15.03.2013, 14:29 GMT-4
Hi Ivan

well, if this is the case why we have spf.K_stress_tensorphiphi equal to 2*spf.mu*if(abs(r)<0.0010*h,ur,u/r).
As I recall the phi phi terms for shear strain rate would be (1/r)*grad(Vphi,phi)+Vr/r since Vphi=0 and Vr=u
so spf.K_stress_tensorphiphi should be 2*spf.mu*(u/r).

I have a feeling that you are describing the if condition not the way they intended.

Or maybe I am wrong. :)
Hi Ivan well, if this is the case why we have spf.K_stress_tensorphiphi equal to 2*spf.mu*if(abs(r)

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 15.03.2013, 16:30 GMT-4
Hi

as "h" is the local mesh element average size I beleive the if is there to avoid the singularity u/r for r=0 ;)

--
Good luck
Ivar
Hi as "h" is the local mesh element average size I beleive the if is there to avoid the singularity u/r for r=0 ;) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 15.03.2013, 16:41 GMT-4
Thanks for the Quick reply Ivan,

Just one thing is missing then, you interpret the "if" condition as replace "ur" with "u/r" for r<0.001h, right?
What I am proposing is the fact that "u/r" is singular at small values of "r" so doesn't make sense that we are asking the code to become more unstable by replacing the gradient term "ur" with "u/r".

I am not sure if I am making sense or not. in another word I am still a bit uncertain about the meaning of that "IF" condition term and what it exactly does for the code.

Cheers,

NaDer.
Thanks for the Quick reply Ivan, Just one thing is missing then, you interpret the "if" condition as replace "ur" with "u/r" for r

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 16.03.2013, 04:06 GMT-4
Hi

I cannot tell you all as I havent really studied all the details and in paticular the numerical approach in 2D-axi, as there are a few way used to reduce the on-axis singularity, such as multiplying the equation by "r" and then dividing the correct results by "r", except on axis.

Also COMSOL considers the physics on the domains (excluded the boundaries) and then applies specific formulas for the boundaries, s the continuity (or not) applies. If you take temperature, the boundary temperature is the average of the domain "up" and "down" as the tempeature is truely solved "inside the domain" dx*dy*dz.

for the if() double check in the help, or try it out, I never 100% trust even my memeory ;) particularly as I use several languages, and the order in the if statement is a convention affaire, different programming language has different conventions, hence (slightly) different orders.

In anycase, check how ur is calculated (probaby and so on ...), particularly close to the axis

Only "support" can give you definitive answers ;)

--
Good luck
Ivar
Hi I cannot tell you all as I havent really studied all the details and in paticular the numerical approach in 2D-axi, as there are a few way used to reduce the on-axis singularity, such as multiplying the equation by "r" and then dividing the correct results by "r", except on axis. Also COMSOL considers the physics on the domains (excluded the boundaries) and then applies specific formulas for the boundaries, s the continuity (or not) applies. If you take temperature, the boundary temperature is the average of the domain "up" and "down" as the tempeature is truely solved "inside the domain" dx*dy*dz. for the if() double check in the help, or try it out, I never 100% trust even my memeory ;) particularly as I use several languages, and the order in the if statement is a convention affaire, different programming language has different conventions, hence (slightly) different orders. In anycase, check how ur is calculated (probaby and so on ...), particularly close to the axis Only "support" can give you definitive answers ;) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18.03.2013, 12:19 GMT-4
Hi Ivan,

Thanks for your kind response, I asked the same question from support team and this is their answer:
"The if operator is used to avoid division by zero close to the axis. When r is very small (smaller than 0.001*h where h is the mesh size), u/r is approximated with d(u,r)."


Cheers,

NaDer
Hi Ivan, Thanks for your kind response, I asked the same question from support team and this is their answer: "The if operator is used to avoid division by zero close to the axis. When r is very small (smaller than 0.001*h where h is the mesh size), u/r is approximated with d(u,r)." Cheers, NaDer

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 06.04.2013, 12:14 GMT-4
Dear Dr. Kjelberg,
I need some clarification on the 2D-axisymmetric model, and I decide to post here since the argument is connected.

Since I'm simulating a stretch blow molding process, I have a cylinder (its simmetry axis is obviously z), and I impose a traction in the z direction while adding a pressure on the inner wall (so the normal of the pressure is in the r direction).

Various papers assume that this process is in plain stress, so there isn't any stress in the thickness direction (that is r). Radial stress is equal to 0. So my directions of interest are z and phi. It's basically a membrane stress state

Now I'd like to know how to proceed, since all the terms in which phi appears are equal to 0 in the deformation gradient tensor built in Comsol. Should I put to 0 the terms FdzR, FdrZ, FdphiR and FdrPHI and add by hand the terms FdzPhi, FdphiZ?
Cauchy-Green, Green-Lagrange, 1st and 2nd Piola Kirckhoff tensors are all derived from the deformation gradient tensor, so if I change elements in this one the other terms will be modified automatically.

Or maybe I didn't understant how Comsol works regarding this. Can you give me some help please?
Dear Dr. Kjelberg, I need some clarification on the 2D-axisymmetric model, and I decide to post here since the argument is connected. Since I'm simulating a stretch blow molding process, I have a cylinder (its simmetry axis is obviously z), and I impose a traction in the z direction while adding a pressure on the inner wall (so the normal of the pressure is in the r direction). Various papers assume that this process is in plain stress, so there isn't any stress in the thickness direction (that is r). Radial stress is equal to 0. So my directions of interest are z and phi. It's basically a membrane stress state Now I'd like to know how to proceed, since all the terms in which phi appears are equal to 0 in the deformation gradient tensor built in Comsol. Should I put to 0 the terms FdzR, FdrZ, FdphiR and FdrPHI and add by hand the terms FdzPhi, FdphiZ? Cauchy-Green, Green-Lagrange, 1st and 2nd Piola Kirckhoff tensors are all derived from the deformation gradient tensor, so if I change elements in this one the other terms will be modified automatically. Or maybe I didn't understant how Comsol works regarding this. Can you give me some help please?

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 07.04.2013, 05:31 GMT-4
Hi

interesting question, but I cannot answer just like that I would have to dig into the subject, I will see if I find enough free time ;)

What I can say is that 2D-axi assumes a constant value along phi (no gradients). But I do agree, if you "blow up" a surface you should see some stress increase along phi, but 2D-axisymmetry assumes it's independent of phi angle.

Another very important thing is to respect the frames in "Solid", there you are in the material frame (as you write upper case) Here too I always check asits easy to mix up

--
Good luck
Ivar
Hi interesting question, but I cannot answer just like that I would have to dig into the subject, I will see if I find enough free time ;) What I can say is that 2D-axi assumes a constant value along phi (no gradients). But I do agree, if you "blow up" a surface you should see some stress increase along phi, but 2D-axisymmetry assumes it's independent of phi angle. Another very important thing is to respect the frames in "Solid", there you are in the material frame (as you write upper case) Here too I always check asits easy to mix up -- Good luck Ivar

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.