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.

weak form

Please login with a confirmed email address before reporting spam

hi,

do you now how to impose divergence of sigma = 0 in weak form in COMSOL ?

thank you a lot

1 Reply Last Post 2013年10月3日 GMT-4 05:43
Eric Favre COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2013年10月3日 GMT-4 05:43
See the documentation :
COMSOL Multiphysics > Equation-Based Modeling > Modeling with PDEs > Introduction to the Weak Form
It explains how to derive div(Gamma)=0 : in short multipy by a test function and integrate by parts.
you'll end-up with integrals over the domain and contributions in boundaries in which you let your boundary conditions apply.
The test functions notation is test(u) if u is the unknown.

If you want to see how COMSOL transforms a physical equation into a weak form :
try this out on 1D case. Define a geometry.
Select for instance a diffusion equation (diluted species).
In preferences, check the "view equation" so that you can see the weak form behind the scene.
Expand the node "convection and diffusion" and you'll find the equation view (possibly refresh this view). The weak form appears, the following lines should be added :
-d(c,t)*test(c)-D*cx*test(cx)
f*test(c)
in strong form : dc/dt + div(D*grad(c)) = f

The structural mechanics equations with COMSOL are derived from energy considerations directly : it helps to extend to the cases where you loose linearity.
Of course you can solve div(sigma)=forces if sigma is your stress tensor using the general form above. It should work in cases where, for instance, Young's modulus is temperature dependent. But it will be hard if not impossible to apply to large deformations, hyperelasticity,... by keeping this framework div(Gamma)=something. Switching to the energy form is then necessary and it helps a lot to start with the physical form that COMSOL provides : it's not only a matter of defining the equation and boundary condition itself, but as well all post-processing variables, that might take some time to derive correctly.

Eric
See the documentation : COMSOL Multiphysics > Equation-Based Modeling > Modeling with PDEs > Introduction to the Weak Form It explains how to derive div(Gamma)=0 : in short multipy by a test function and integrate by parts. you'll end-up with integrals over the domain and contributions in boundaries in which you let your boundary conditions apply. The test functions notation is test(u) if u is the unknown. If you want to see how COMSOL transforms a physical equation into a weak form : try this out on 1D case. Define a geometry. Select for instance a diffusion equation (diluted species). In preferences, check the "view equation" so that you can see the weak form behind the scene. Expand the node "convection and diffusion" and you'll find the equation view (possibly refresh this view). The weak form appears, the following lines should be added : -d(c,t)*test(c)-D*cx*test(cx) f*test(c) in strong form : dc/dt + div(D*grad(c)) = f The structural mechanics equations with COMSOL are derived from energy considerations directly : it helps to extend to the cases where you loose linearity. Of course you can solve div(sigma)=forces if sigma is your stress tensor using the general form above. It should work in cases where, for instance, Young's modulus is temperature dependent. But it will be hard if not impossible to apply to large deformations, hyperelasticity,... by keeping this framework div(Gamma)=something. Switching to the energy form is then necessary and it helps a lot to start with the physical form that COMSOL provides : it's not only a matter of defining the equation and boundary condition itself, but as well all post-processing variables, that might take some time to derive correctly. Eric

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.