Some questions about KSP type and PC type selection
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? Thanks, Jackie Chan
On Wed, Oct 19, 2022 at 1:04 PM Jackie Chan <[email protected]> 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/>
participants (2)
-
Jackie Chan -
Matthew Knepley