On Wed, Oct 19, 2022 at 1:04 PM Jackie Chan <chenlonglong0...@163.com> wrote:
> Dear All, > > I hope you're having a nice day. > In finite element problems, the stiffness matrix and load vector are > constructed to calculate the displacement vector using DMCreateMatrix and > DMCreateGlobalVector, respectively. For some reason, I need to make sure > that the displacements of nodes on the opposite edges of two-dimensional > structured grid domain satisfy relative displacement condition. For > example, the displacements of two points with natural coordinates (x,Ymin) > and (x,Ymax), i.e. the points are located on the upper and lower edges > of 2D grid domain and have the same x-coordinates, are equal respectively. > To achieve this, I need to add particularly big numbers to specific entries > in stiffness matrix. In this way, the positions of big numbers are usually > far away from each other and belong to different processes. I have tried > many KSP types and PC settings to solve displacement vector. However, the > final results are mostly incorrect. The best solver type I have tried is > cg, but it still has some problems like excessive time consuming and > convergence steps. So, for this problem, what kind of KSP type and > PC type are suitable? Or is there a way to speed up the calculation process? > Do you really just want a periodic domain? It seems like you should just make those identified nodes the same. Thanks, Matt > Thanks, > Jackie Chan > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>