Hello, I am computing Ax=b, while using petsc (currently uniprocessor) the computation is much slower.
I realize generation of the matrix is very time-consuming, the elements are integrals of functions with complicated form, i.e.\\\int(f(r(x,y,z), s(x,y,z), t(x,y,z), phi(x,y,z,node)dxdydz, where the shape function has different forms on each node. In my C code, i calculated r, s, t and phi on the integration points first and saved the data in 3D array. In petsc, i use the same strategy by applying DA to set values to r, s, t and phi on each integration points. Since i need to solve Ax=b for million times, A is changing every time and i use DAVecGetArray repeatly, is that the reason for low efficiency and any suggestions for performance enhancement? btw, calculation of r,s,t..is the only part i use parallel computing, since I think the assemble of A and b is fast once the entries have been computed. Thanks, Likun
