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.

Body load in nonlinear mechanics

Please login with a confirmed email address before reporting spam

Hello, This is my first ever entry in the Discussion Forum, though I have been using the software since it was still Femlab 2.1 (circa 1998). I am trying to set up a nonlinear mechanic computation, where a body load at location (x,y,z) or material location (X,Y,Z), is defined as a function of the displacements (u,v,w) at that location (i.e. a function of u(X,Y,Z), v(X,Y,Z) and w(X,Y,Z)), and also (i.e. simultaneously) a function of the displacement at a different location (e.g. a function of u(X,Y,Z0), v(X,Y,Z0) and w(X,Y,Z0), where Z0 is a parameter). How do I go about this? Thank you, David


1 Reply Last Post Jan 9, 2024, 9:18 a.m. EST
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 10 months ago Jan 9, 2024, 9:18 a.m. EST

Say that you wanted the load to be proportional to the difference in displacement. Then, you could for example write a function of u-at3(X,Y,Z0,u).

Note, however, that any function of the displacement that couples different locations in the structure will fill in the stiffness matrix significantly. This may cause a problematic increase in solution time if the model is large. It may then be beneficial to use the nojac() operator, as in nojac(u-at3(X,Y,Z0,u)). Then, you do not get the stiffness matrix contributions, but as a tradeoff there will be more iterations since the stiffness matrix is not optimal.

-------------------
Henrik Sönnerlind
COMSOL
Say that you wanted the load to be proportional to the difference in displacement. Then, you could for example write a function of u-at3(X,Y,Z0,u). Note, however, that any function of the displacement that couples different locations in the structure will fill in the stiffness matrix significantly. This may cause a problematic increase in solution time if the model is large. It may then be beneficial to use the nojac() operator, as in nojac(u-at3(X,Y,Z0,u)). Then, you do not get the stiffness matrix contributions, but as a tradeoff there will be more iterations since the stiffness matrix is not optimal.

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.