From: Yusuke S. <ysa...@ic...> - 2011-12-02 02:32:29
|
Hi, I am working on the problem with large deformation, where the mesh is updated (deformed) at each time step quasi-statically. It means that I solve for velocities at each time step and use that to compute displacements. Deforming the mesh is easy. I only had to map every node to new configuration according to its displacement. The connectivity of the nodes is unchanged. Now, I would like to compute the deformation gradient in the deformed domain when I assemble the stiffness matrix/load vector. In order to do so, I need the shape functions generated from the current mesh, and the shape functions generated from the initial mesh. It seems that EquationSystems class can only hold one mesh. Do I need to create two EquationSystems objects? If so, how can they communicate with each other? Thanks, Yusuke |
From: Roy S. <roy...@ic...> - 2011-12-02 03:30:03
|
On Thu, 1 Dec 2011, Yusuke Sakamoto wrote: > Now, I would like to compute the deformation gradient in the deformed > domain when I assemble the stiffness matrix/load vector. In order to do > so, I need the shape functions generated from the current mesh, and the > shape functions generated from the initial mesh. It seems that > EquationSystems class can only hold one mesh. Do I need to create two > EquationSystems objects? If so, how can they communicate with each other? If you're using Lagrange finite elements, then the easiest way to do this is probably to use a single Mesh, kept in the undeformed state, then store your deformed mesh coordinates as variables, then each time you're doing computations on an element you reinit one FE on the undeformed element, deform the Elem temporarily, reinit another FE on the deformed element, then deform the Elem back when you're done. --- Roy |