On Fri, 7 Oct 2011, robert wrote: > I am doing solid mechanics calculations with FEMSystem and a moving mesh > and need periodic boundary conditions. As the PR-BC code in libmesh only > works for unmodified meshes, I wrote some thing similar which saves a > mapping of the nodes on the positive side to the nodes of the negative > side in the first timestep (on the unmodified mesh) and uses this > mapping in all following timesteps to impose the periodic boundary > conditions.
What's your definition of an "unmodified mesh"? If you're modifying the mesh via AMR, the periodic BC code should be keeping up with that correctly; we do that in one of the examples. If you're modifying the mesh via element removal or node movement, then even in that case the periodic BC code should be okay just as long as the periodic boundaries are always translations of each other by a constant vector. Even if you're doing a more complex relation between moving boundaries you ought to be able to pull that off with the library by subclassing PeriodicBoundary and overriding get_corresponding_pos(). > As especially the PR-BC causes entries in "unusual" regions of the system > matrix, I have currently a rather large performance issue due to the > resorting of the matrix while adding the PR-BCs. So how can I influence > the default sparsity pattern used to create the system matrix to avoid > these performance issues? Forget about performance issues; you may have *correctness* issues, when you try to run in parallel and the ghosted vectors use a send_list which doesn't take into account that a processor on one side of the boundary needs degree of freedom coefficients from the other side. If your periodic BCs can be expressed homogeneously (e.g. left side = multiple of right side) then you can probably write them as constraint equations, then add them as user constraints. The library then makes sure that the sparsity pattern and ghost dof sets are large enough to handle the resulting requirements. --- Roy ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
