From: Bailey C. <bcu...@gm...> - 2018-06-27 13:42:53
|
Hi there, I’m using libMesh to perform topology optimization on a mesh with a spherical surface. I only have a single LinearImplicitSystem. The normal displacement of nodes on the spherical surface needs to be constrained to force the surface to remain spherical. I am using Lagrange multipliers to do this, but have found that adding a large number of scalar variables results in EquationSystems::init() taking an extraordinary amount of time to build the system. For a mesh with 9585 nodes, 45728 elements, and first-order interpolation, EquationSystems::init() takes practically no time at all without scalar variables for the MPCs. However, when I add 1332 scalar variables (one for each node on the spherical surface, EquationSystems::init() runs for over an hour. Is this to be expected with libMesh? Is there a more efficient way to apply MPCs to numerous nodes? Bailey C |