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

stress tensor-elasticity matrix

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 2017年6月19日 GMT-0400下午4:22
Posted: 4 years ago 2013年5月6日 GMT-0400下午3:05
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

Posted: 4 years ago 2013年5月6日 GMT-0400下午3:30
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.

Posted: 4 years ago 2013年5月6日 GMT-0400下午11:12
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]

Posted: 4 years ago 2013年5月6日 GMT-0400下午11:19
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]

Posted: 4 years ago 2013年5月7日 GMT-0400上午1:57
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
Posted: 4 years ago 2013年5月7日 GMT-0400上午2:15
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

Posted: 4 years ago 2013年5月7日 GMT-0400上午9:19

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.

Posted: 4 years ago 2013年5月7日 GMT-0400下午5:37

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
Posted: 4 years ago 2013年5月8日 GMT-0400上午9:05
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

Posted: 4 years ago 2013年5月9日 GMT-0400下午12:58

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
Posted: 4 years ago 2013年5月10日 GMT-0400上午7:37


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

Posted: 4 years ago 2013年5月12日 GMT-0400下午9:38



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!!

Hamidréza RAMEZANI
Posted: 4 years ago 2013年6月30日 GMT-0400下午12:26
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

Ashkan Golgoon
Posted: 5 months ago 2017年6月3日 GMT-0400下午7:51
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
Posted: 5 months ago 2017年6月7日 GMT-0400上午2:12
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

Ashkan Golgoon
Posted: 4 months ago 2017年6月19日 GMT-0400下午4:22
Thanks a lot.

Ashkan,
Thanks a lot. Ashkan,

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.