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.

stress tensor-elasticity matrix

Please login with a confirmed email address before reporting spam

COMSOL assumes the elasticity matrix to be symmetric. I need to define an unsymmetric stress tensor but seems that it is impossible in COMSOL.

Has anyone experienced such a problem so far?

Thanks





16 Replies Last Post Jun 19, 2017, 4:22 p.m. EDT
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 May 6, 2013, 3:05 p.m. EDT
Hi

have you tried to define the material as anisotropic , in the physics node ?

--
Good luck
Ivar
Hi have you tried to define the material as anisotropic , in the physics node ? -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 6, 2013, 3:30 p.m. EDT
Just select "Equation View", then you can input directly all 36 elements of the elasticity tensor with whatever you want.
Just select "Equation View", then you can input directly all 36 elements of the elasticity tensor with whatever you want.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 6, 2013, 11:12 p.m. EDT
Hi Ivar and

Yes, I did. but the anisotropic elasticity matrix still assumes symmetrical tensor. What I need is to define all the elements separately.

for example in my case s12 is not equal to s21.

Thanks


Hi

have you tried to define the material as anisotropic , in the physics node ?

--
Good luck
Ivar


Hi Ivar and Yes, I did. but the anisotropic elasticity matrix still assumes symmetrical tensor. What I need is to define all the elements separately. for example in my case s12 is not equal to s21. Thanks [QUOTE] Hi have you tried to define the material as anisotropic , in the physics node ? -- Good luck Ivar [/QUOTE]

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 6, 2013, 11:19 p.m. EDT
Hi chris

36 elements for elasticity matrix still gives us 6 elements of the symmetrical stress tensor.

For a 3*3 stress tensor, I need to define all 9 elements separately. in my case s12 and s13 is not equal to s21 or s31.

Do you think that it is possible to define s21 or s31 or s32 in the equation view?

Thank you



Just select "Equation View", then you can input directly all 36 elements of the elasticity tensor with whatever you want.


Hi chris 36 elements for elasticity matrix still gives us 6 elements of the symmetrical stress tensor. For a 3*3 stress tensor, I need to define all 9 elements separately. in my case s12 and s13 is not equal to s21 or s31. Do you think that it is possible to define s21 or s31 or s32 in the equation view? Thank you [QUOTE] Just select "Equation View", then you can input directly all 36 elements of the elasticity tensor with whatever you want. [/QUOTE]

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 May 7, 2013, 1:57 a.m. EDT
Hi

You are right, hadn't fully noticed that, and internally it stores only the half of the elements (check the equation view)

You can certainly define them, but then you must enter their values all over in "all" formulas,
The way rebuild your fully anisotropic physics with the "model builder" but that would take some time (I still havent manage to find enough time to learn that feature of COMSOL)

Other way ask support ;)

--
Good luck
Ivar
Hi You are right, hadn't fully noticed that, and internally it stores only the half of the elements (check the equation view) You can certainly define them, but then you must enter their values all over in "all" formulas, The way rebuild your fully anisotropic physics with the "model builder" but that would take some time (I still havent manage to find enough time to learn that feature of COMSOL) Other way ask support ;) -- Good luck Ivar

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 7, 2013, 2:15 a.m. EDT
Hi,

A material with unsymmetric stress tensor ("Cosserat elasticity") is rather uncommon, and cannot be modeled using the built-in functionality in COMSOL Multiphysics. All operations assume a symmetric stress tensor.

You can implement it on your own, using either the Physics Builder (as suggesteed by Ivar) or just weak form PDE:s.

There is a paper written about such an implementation:

Jena Jeong and Hamidreza Ramezani: Implementation of the Finite Isotropic Linear Cosserat Models based on the Weak Form. (COMSOL conference 2008)

www.comsol.com/papers/5073/

Regards,
Henrik
Hi, A material with unsymmetric stress tensor ("Cosserat elasticity") is rather uncommon, and cannot be modeled using the built-in functionality in COMSOL Multiphysics. All operations assume a symmetric stress tensor. You can implement it on your own, using either the Physics Builder (as suggesteed by Ivar) or just weak form PDE:s. There is a paper written about such an implementation: Jena Jeong and Hamidreza Ramezani: Implementation of the Finite Isotropic Linear Cosserat Models based on the Weak Form. (COMSOL conference 2008) http://www.comsol.com/papers/5073/ Regards, Henrik

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 7, 2013, 9:19 a.m. EDT

Hi Ivar and

Yes, I did. but the anisotropic elasticity matrix still assumes symmetrical tensor. What I need is to define all the elements separately.

for example in my case s12 is not equal to s21.

Thanks


Hi

have you tried to define the material as anisotropic , in the physics node ?

--
Good luck
Ivar





People have model Cosserat materials in COMSOL (I haven't personally), I believe it needs to be done at the PDE level. See. APPLIED PHYSICS LETTERS 94, 061903 (2009)

good luck, and let us know if your successful.
[QUOTE] Hi Ivar and Yes, I did. but the anisotropic elasticity matrix still assumes symmetrical tensor. What I need is to define all the elements separately. for example in my case s12 is not equal to s21. Thanks [QUOTE] Hi have you tried to define the material as anisotropic , in the physics node ? -- Good luck Ivar [/QUOTE] [/QUOTE] People have model Cosserat materials in COMSOL (I haven't personally), I believe it needs to be done at the PDE level. See. APPLIED PHYSICS LETTERS 94, 061903 (2009) good luck, and let us know if your successful.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 7, 2013, 5:37 p.m. EDT

Hi,

A material with unsymmetric stress tensor ("Cosserat elasticity") is rather uncommon, and cannot be modeled using the built-in functionality in COMSOL Multiphysics. All operations assume a symmetric stress tensor.

You can implement it on your own, using either the Physics Builder (as suggesteed by Ivar) or just weak form PDE:s.

There is a paper written about such an implementation:

Jena Jeong and Hamidreza Ramezani: Implementation of the Finite Isotropic Linear Cosserat Models based on the Weak Form. (COMSOL conference 2008)

www.comsol.com/papers/5073/

Regards,
Henrik


Thank you all for your comments

PDE interface doesn't work in my case, since I need to have the "floquet boundary conditions" on my model and it is not defined in PDE.

Based on your comments I think the Physics builder is the only remaining choice, I searched for that but I didn't find any example and seems too complicated for me.
[QUOTE] Hi, A material with unsymmetric stress tensor ("Cosserat elasticity") is rather uncommon, and cannot be modeled using the built-in functionality in COMSOL Multiphysics. All operations assume a symmetric stress tensor. You can implement it on your own, using either the Physics Builder (as suggesteed by Ivar) or just weak form PDE:s. There is a paper written about such an implementation: Jena Jeong and Hamidreza Ramezani: Implementation of the Finite Isotropic Linear Cosserat Models based on the Weak Form. (COMSOL conference 2008) http://www.comsol.com/papers/5073/ Regards, Henrik [/QUOTE] Thank you all for your comments PDE interface doesn't work in my case, since I need to have the "floquet boundary conditions" on my model and it is not defined in PDE. Based on your comments I think the Physics builder is the only remaining choice, I searched for that but I didn't find any example and seems too complicated for me.

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 8, 2013, 9:05 a.m. EDT
Hi,

Actually you can still build on Solid Mechanics. Just do the following:

1. Add one Solid Mechanics and one PDE physics interface.
2. Use the same degree of freedom names in both (u,v,w)
3. Set Young's modulus to zero in Solid Mechanics so that there is no stiffness contribution.

Now you can use all loads and boundary conditions (including the Floquet conditions) from Solid Mechanics. Your PDE interface only needs to implement the material model replacing Linear Elastic.

An alternative is to not add the PDE physics interface at all. Just define all your variables, and add a weak contribution under Solid Mechanics for the internal virtual work. You can also reuse some of the variables like parts of the strain, since they will be defined by the Linear Elastic feature.

Regards,
Henrik
Hi, Actually you can still build on Solid Mechanics. Just do the following: 1. Add one Solid Mechanics and one PDE physics interface. 2. Use the same degree of freedom names in both (u,v,w) 3. Set Young's modulus to zero in Solid Mechanics so that there is no stiffness contribution. Now you can use all loads and boundary conditions (including the Floquet conditions) from Solid Mechanics. Your PDE interface only needs to implement the material model replacing Linear Elastic. An alternative is to not add the PDE physics interface at all. Just define all your variables, and add a weak contribution under Solid Mechanics for the internal virtual work. You can also reuse some of the variables like parts of the strain, since they will be defined by the Linear Elastic feature. Regards, Henrik

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 9, 2013, 12:58 p.m. EDT

Hi,

Actually you can still build on Solid Mechanics. Just do the following:

1. Add one Solid Mechanics and one PDE physics interface.
2. Use the same degree of freedom names in both (u,v,w)
3. Set Young's modulus to zero in Solid Mechanics so that there is no stiffness contribution.

Now you can use all loads and boundary conditions (including the Floquet conditions) from Solid Mechanics. Your PDE interface only needs to implement the material model replacing Linear Elastic.

An alternative is to not add the PDE physics interface at all. Just define all your variables, and add a weak contribution under Solid Mechanics for the internal virtual work. You can also reuse some of the variables like parts of the strain, since they will be defined by the Linear Elastic feature.

Regards,
Henrik


Hi Henrik

many thanks for your comments

On your first approach:

1- COMSOL doesn't allow me to have similar names for dependent variables of two interfaces:

I tried to define the PDE's degrees of freedom (u2,v2,w2) as variables equal to (u,v,w) of (elastic wave interface)

However, I have no idea which one is correct: (u,v,w)=(u2,v2,w2) or (u2,v2,w2)=(u,v,w)??!!

2- should I use the same study for both and couple both? or I need to solve the PDE first?

On your second approach

Didn't 100% understand the approach

Do I need to define the weak forms of the problem from sctratch or just add the extra terms for S21 and S31 in the weak contribution?
[QUOTE] Hi, Actually you can still build on Solid Mechanics. Just do the following: 1. Add one Solid Mechanics and one PDE physics interface. 2. Use the same degree of freedom names in both (u,v,w) 3. Set Young's modulus to zero in Solid Mechanics so that there is no stiffness contribution. Now you can use all loads and boundary conditions (including the Floquet conditions) from Solid Mechanics. Your PDE interface only needs to implement the material model replacing Linear Elastic. An alternative is to not add the PDE physics interface at all. Just define all your variables, and add a weak contribution under Solid Mechanics for the internal virtual work. You can also reuse some of the variables like parts of the strain, since they will be defined by the Linear Elastic feature. Regards, Henrik [/QUOTE] Hi Henrik many thanks for your comments On your first approach: 1- COMSOL doesn't allow me to have similar names for dependent variables of two interfaces: I tried to define the PDE's degrees of freedom (u2,v2,w2) as variables equal to (u,v,w) of (elastic wave interface) However, I have no idea which one is correct: (u,v,w)=(u2,v2,w2) or (u2,v2,w2)=(u,v,w)??!! 2- should I use the same study for both and couple both? or I need to solve the PDE first? On your second approach Didn't 100% understand the approach Do I need to define the weak forms of the problem from sctratch or just add the extra terms for S21 and S31 in the weak contribution?

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 10, 2013, 7:37 a.m. EDT


Hi Henrik

many thanks for your comments

On your first approach:

1- COMSOL doesn't allow me to have similar names for dependent variables of two interfaces:

I tried to define the PDE's degrees of freedom (u2,v2,w2) as variables equal to (u,v,w) of (elastic wave interface)

However, I have no idea which one is correct: (u,v,w)=(u2,v2,w2) or (u2,v2,w2)=(u,v,w)??!!

2- should I use the same study for both and couple both? or I need to solve the PDE first?

On your second approach

Didn't 100% understand the approach

Do I need to define the weak forms of the problem from sctratch or just add the extra terms for S21 and S31 in the weak contribution?


Hi Alireza,

As it seems that the second approach is the easier, I will focus on that.

1. By setting E=0 in Linear Elastic, you will suppress the whole contribution to the virtual work from the stresses (=the stiffness matrix). The contribution to the mass matrix is still generated, though.

2. All nine components of your stress tensor will need to be defined as variables. So will also 'strain' variable like Cosserat stretch and curvature.

3. Make sure that Show->Advanced Physics Options is selected.

4. At the domain level add More->Weak Contribution.

5. In the Weak expression, fill in the complete virtual work expression for the Cosserat material. The syntax is just as the one you see in equation view under Linear Elastic, i.e. a sum of terms like

my_stress11*test(my_strain11) + ...

6. You can add several Weak contribution features and split the weak contribution into several terms to improve readability. The number of terms in the Cosserat formulation is rather large, since there are the curvature terms as well as the unsymmetric tensors.

It may be possible to keep the Linear Elastic contributions, and only add the 'additional' terms in your own weak expressions, but that will probable be more obscure.

Regards,
Henrik

[QUOTE] Hi Henrik many thanks for your comments On your first approach: 1- COMSOL doesn't allow me to have similar names for dependent variables of two interfaces: I tried to define the PDE's degrees of freedom (u2,v2,w2) as variables equal to (u,v,w) of (elastic wave interface) However, I have no idea which one is correct: (u,v,w)=(u2,v2,w2) or (u2,v2,w2)=(u,v,w)??!! 2- should I use the same study for both and couple both? or I need to solve the PDE first? On your second approach Didn't 100% understand the approach Do I need to define the weak forms of the problem from sctratch or just add the extra terms for S21 and S31 in the weak contribution? [/QUOTE] Hi Alireza, As it seems that the second approach is the easier, I will focus on that. 1. By setting E=0 in Linear Elastic, you will suppress the whole contribution to the virtual work from the stresses (=the stiffness matrix). The contribution to the mass matrix is still generated, though. 2. All nine components of your stress tensor will need to be defined as variables. So will also 'strain' variable like Cosserat stretch and curvature. 3. Make sure that Show->Advanced Physics Options is selected. 4. At the domain level add More->Weak Contribution. 5. In the Weak expression, fill in the complete virtual work expression for the Cosserat material. The syntax is just as the one you see in equation view under Linear Elastic, i.e. a sum of terms like my_stress11*test(my_strain11) + ... 6. You can add several Weak contribution features and split the weak contribution into several terms to improve readability. The number of terms in the Cosserat formulation is rather large, since there are the curvature terms as well as the unsymmetric tensors. It may be possible to keep the Linear Elastic contributions, and only add the 'additional' terms in your own weak expressions, but that will probable be more obscure. Regards, Henrik

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 12, 2013, 9:38 p.m. EDT



Hi Henrik

many thanks for your comments

On your first approach:

1- COMSOL doesn't allow me to have similar names for dependent variables of two interfaces:

I tried to define the PDE's degrees of freedom (u2,v2,w2) as variables equal to (u,v,w) of (elastic wave interface)

However, I have no idea which one is correct: (u,v,w)=(u2,v2,w2) or (u2,v2,w2)=(u,v,w)??!!

2- should I use the same study for both and couple both? or I need to solve the PDE first?

On your second approach

Didn't 100% understand the approach

Do I need to define the weak forms of the problem from sctratch or just add the extra terms for S21 and S31 in the weak contribution?


Hi Alireza,

As it seems that the second approach is the easier, I will focus on that.

1. By setting E=0 in Linear Elastic, you will suppress the whole contribution to the virtual work from the stresses (=the stiffness matrix). The contribution to the mass matrix is still generated, though.

2. All nine components of your stress tensor will need to be defined as variables. So will also 'strain' variable like Cosserat stretch and curvature.

3. Make sure that Show->Advanced Physics Options is selected.

4. At the domain level add More->Weak Contribution.

5. In the Weak expression, fill in the complete virtual work expression for the Cosserat material. The syntax is just as the one you see in equation view under Linear Elastic, i.e. a sum of terms like

my_stress11*test(my_strain11) + ...

6. You can add several Weak contribution features and split the weak contribution into several terms to improve readability. The number of terms in the Cosserat formulation is rather large, since there are the curvature terms as well as the unsymmetric tensors.

It may be possible to keep the Linear Elastic contributions, and only add the 'additional' terms in your own weak expressions, but that will probable be more obscure.

Regards,
Henrik


Henrik

Great,

Thank you for your advice!!
[QUOTE] [QUOTE] Hi Henrik many thanks for your comments On your first approach: 1- COMSOL doesn't allow me to have similar names for dependent variables of two interfaces: I tried to define the PDE's degrees of freedom (u2,v2,w2) as variables equal to (u,v,w) of (elastic wave interface) However, I have no idea which one is correct: (u,v,w)=(u2,v2,w2) or (u2,v2,w2)=(u,v,w)??!! 2- should I use the same study for both and couple both? or I need to solve the PDE first? On your second approach Didn't 100% understand the approach Do I need to define the weak forms of the problem from sctratch or just add the extra terms for S21 and S31 in the weak contribution? [/QUOTE] Hi Alireza, As it seems that the second approach is the easier, I will focus on that. 1. By setting E=0 in Linear Elastic, you will suppress the whole contribution to the virtual work from the stresses (=the stiffness matrix). The contribution to the mass matrix is still generated, though. 2. All nine components of your stress tensor will need to be defined as variables. So will also 'strain' variable like Cosserat stretch and curvature. 3. Make sure that Show->Advanced Physics Options is selected. 4. At the domain level add More->Weak Contribution. 5. In the Weak expression, fill in the complete virtual work expression for the Cosserat material. The syntax is just as the one you see in equation view under Linear Elastic, i.e. a sum of terms like my_stress11*test(my_strain11) + ... 6. You can add several Weak contribution features and split the weak contribution into several terms to improve readability. The number of terms in the Cosserat formulation is rather large, since there are the curvature terms as well as the unsymmetric tensors. It may be possible to keep the Linear Elastic contributions, and only add the 'additional' terms in your own weak expressions, but that will probable be more obscure. Regards, Henrik [/QUOTE] Henrik Great, Thank you for your advice!!

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 30, 2013, 12:26 p.m. EDT
Dear all,

I searched for the matrix exponential using comsol and matlab and I looked over this post in the comsol forum!!!

I read this subject about non-symmetric stress tensor issue. As pointer earlier, this issue has been successfully done using General Weak PDE. There is a bunch of papers about the Cosserat theory (large and small deformation) and it is not new at all.

The unsymmetrical stress tensor implies the solution of another equilibrium equation in the solids mechanics...
Hence, you have to solve these equations at the same time...

\Div \sigma + \rho b=0
\Div m + \rho c-e:\sigma=0

m= stress moment in the Cosserat theory....

Google it, cosserat, comsol, jeong, neff, ramezani and you can find out more about it...

The main questions are :
1. Why do you have the unsymmetrical stress tensor?
2. What is your additional equilibrium equation?

As far as my knowledge, the unsymmetrical stress tensor can be exclusively seen in the generalized continuum mechanics and chiral media.

Hope that this was helpful!
Regards
Hamidréza


Dear all, I searched for the matrix exponential using comsol and matlab and I looked over this post in the comsol forum!!! I read this subject about non-symmetric stress tensor issue. As pointer earlier, this issue has been successfully done using General Weak PDE. There is a bunch of papers about the Cosserat theory (large and small deformation) and it is not new at all. The unsymmetrical stress tensor implies the solution of another equilibrium equation in the solids mechanics... Hence, you have to solve these equations at the same time... \Div \sigma + \rho b=0 \Div m + \rho c-e:\sigma=0 m= stress moment in the Cosserat theory.... Google it, cosserat, comsol, jeong, neff, ramezani and you can find out more about it... The main questions are : 1. Why do you have the unsymmetrical stress tensor? 2. What is your additional equilibrium equation? As far as my knowledge, the unsymmetrical stress tensor can be exclusively seen in the generalized continuum mechanics and chiral media. Hope that this was helpful! Regards Hamidréza

Please login with a confirmed email address before reporting spam

Posted: 7 years ago Jun 3, 2017, 7:51 p.m. EDT
I am facing the same problem. I was trying to change the weak expression in the Solid Mechanics module, instead of defining my own weak form PDE. My question now is the following: The pre-defined weak expressions for elastic waves (equation is attached) simulation in COMSOL for a 2D problem reads:

1:
(-solid.Sl11*test(solid.el11)-2*solid.Sl12*test(solid.el12)-solid.Sl22*test(solid.el22))*solid.d

2:
-solid.rho*solid.iomega^2*(u*test(u)+v*test(v))*solid.d

I am a little confused here, because I was expecting that the weak expression be defined as follows:

1:

(-solid.Sl11*test(solid.el11)-solid.Sl12*test(solid.el12)+solid.rho*solid.iomega^2*u*test(u))*solid.d


2:

(-solid.Sl12*test(solid.el12)-solid.Sl22*test(solid.el22)+solid.rho*solid.iomega^2*v*test(v))*solid.d

Can somebody help me?
I am facing the same problem. I was trying to change the weak expression in the Solid Mechanics module, instead of defining my own weak form PDE. My question now is the following: The pre-defined weak expressions for elastic waves (equation is attached) simulation in COMSOL for a 2D problem reads: 1: (-solid.Sl11*test(solid.el11)-2*solid.Sl12*test(solid.el12)-solid.Sl22*test(solid.el22))*solid.d 2: -solid.rho*solid.iomega^2*(u*test(u)+v*test(v))*solid.d I am a little confused here, because I was expecting that the weak expression be defined as follows: 1: (-solid.Sl11*test(solid.el11)-solid.Sl12*test(solid.el12)+solid.rho*solid.iomega^2*u*test(u))*solid.d 2: (-solid.Sl12*test(solid.el12)-solid.Sl22*test(solid.el22)+solid.rho*solid.iomega^2*v*test(v))*solid.d Can somebody help me?


Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 7 years ago Jun 7, 2017, 2:12 a.m. EDT
Hi,

The grouping of the equations does not matter. It looks like you are sorting by direction (X, Y), whereas the built-in are by 'strain energy', 'kinetic energy'. You could also use a single weak expression for all contributions.

Note that the variable 'iomega' is i*omega, so that iomega^2 = -omega^2.

Regards,
Henrik
Hi, The grouping of the equations does not matter. It looks like you are sorting by direction (X, Y), whereas the built-in are by 'strain energy', 'kinetic energy'. You could also use a single weak expression for all contributions. Note that the variable 'iomega' is i*omega, so that iomega^2 = -omega^2. Regards, Henrik

Please login with a confirmed email address before reporting spam

Posted: 7 years ago Jun 19, 2017, 4:22 p.m. EDT
Thanks a lot.

Ashkan,
Thanks a lot. Ashkan,

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.