Questions tagged [petsc]
PETSc is an open source suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.
150
questions
0
votes
0answers
13 views
petsc4py path error running PETSC program in python
I tried to run an example PETSC program in python. I used pyinstaller --onefile example.py to create a binary form and ...
1
vote
1answer
131 views
How to solve a linear problem A x = b in PETSC when matrix A has zero diagonal enteries?
I am solving a structural mechanics problem that involves setting constraints, and I use Lagrange multipliers to set it. Consequently, some diagonal entries of the tangent stiffness matrix vanish, and ...
2
votes
1answer
228 views
Solving nonlinear PDE with finite difference based on Newton-Krylov
I am now working on solving MHD equations with finite difference method, which include nonlinear equations:
$$
\frac{\partial\rho}{\partial t}+\nabla\cdot\left[\left(\rho_0+\rho\right){v}\right]-\...
0
votes
1answer
95 views
Access PETSc data in totalview?
Is it possible to view the data stored in the various PETSc data types from within totalview?
Ordinarily, PETSc types are integers which act as pointers to the actual data (obviously my understanding ...
2
votes
2answers
96 views
Petsc Mat object in class
[Relatively new to Petsc] I am writing an object oriented project and my idea is to have parallel objects when the user constructs the object with MPI arguments. So have member data Mat and fill/...
1
vote
2answers
108 views
Parallelisation strategies for mixed FE formulations
Mixed FE formulations with LBB-stable elements require two different meshes for the primary and the constraint variables, for example, displacement and pressure. With continuous approximation for the ...
0
votes
0answers
37 views
PETSc configure does not allow mkl_sparse in Cygwin on Windows
I'm trying to use PETSc's AIJMKL sparse matrix in Windows. I'm configuring and building under Cygwin but using it directly in Windows (libpetsc.lib and libpetsc.dll ...
1
vote
1answer
73 views
Issue solving nonlinear equation containing a quotient
I have a coupled set of PDEs that need to be solved as part of a larger problem. I am currently approaching this by computing spatial derivatives with finite differences and using PETSc's nonlinear ...
0
votes
1answer
55 views
How to delete $n^{th}$ row and $n^{th}$ column of a matrix K in Petsc and restructure it?
I have a matrix K in Petsc. I want to delete the $n^{th}$ row and $n^{th}$ column of this matrix and restructure it. I am a beginner in Petsc. Can you suggest how to do it?
Example: I have matrix K ...
0
votes
0answers
54 views
Petsc matrix with DM objects takes too much memory
I have been learning petsc recently and made a simple solver for stokes equation on 3D staggered grid.
My code is running on server with 200GB ram, but if I run a solver on 256^3 grid, memory used by ...
2
votes
1answer
491 views
Assembling sparse matrix in PETSC for Poisson equation
I am a novice at PETSC, and I have been trying to write an FVM code for steady heat conduction in 2D using PETSC (square, regular grid, Dirichlet boundaries)
Since the large matrix , say A, will be ...
3
votes
0answers
73 views
Solving saddle point problem having non-invertible top-left block with a PETSc nested matrix
My system is a symmetric FE problem with lagrange multipliers:
$Z=\begin{pmatrix}A & C^T \\ C & 0\end{pmatrix}$
The matrix $A$ is positive semi-definite, non-invertible. The whole matrix is ...
2
votes
1answer
102 views
What method to solve a sparse complex symmetric (non-Hermitian) system?
I have a sparse system (about 78% of zero entries) that is complex and symmetric (but not Hermitian). The following figure shows the structure of the problem. The off-diagonal blocks are incidence ...
0
votes
1answer
49 views
Why PETSc/MPI uses only 1 processor a number of times, rather than using several as prescribed by mpiexec [closed]
I am a beginner to PETSc and MPI, so after installing PETSc I was compiling some basic tutorial. But whenever I give the number of processors i.e mpiexec -n 4 ./ex1 ...
1
vote
0answers
43 views
Orientation of cones and transitive closures of a dmplex in Petsc
From the Petsc manual pages, I fail to understand what the orientations of cones and transitive closures mean.
In particular, how can I relate these numbers to the orientation of the length/area/...
1
vote
1answer
51 views
Send Petsc sequential matrix to another MPI rank
I am doing specific tests on matrices, so forgive me if this question doesn't seem related to Petsc typical use.
I have a SEQAIJ matrix on one process and I need ...
3
votes
1answer
60 views
PETSc - Manipulate BAIJ matrix locally
My program loads a parallel PETSc matrix $A$ on several MPI processes, each holding a block submatrix $A_i$.
I would like to retrieve the local submatrix $A_i$, the one corresponding to the current ...
9
votes
1answer
1k views
preconditioner for a matrix-free method to solve Ax=b
I need to solve Ax=b, but I realize that even if it is sparse, storing the matrix coefficients of my problem will take too much memory.
So now I'm considering using a matrix-free method, because the ...
3
votes
0answers
489 views
How do I configure PETSc to run long double precision or some other precision that is greater than default? [closed]
I'm installing PETSc for complex numbers with the C99 standard. I'd like to have it installed using a higher precision than the default (double, I presume) since that will most likely make the LU ...
0
votes
1answer
97 views
PCJACOBI works but the default PCBJACOBI failed in PETSc
I am using PETSc and libmesh to solve a simple linear elastic problem with quite complicated geometry, using linear tetrahedral elements. I am always using the KSP CG as the solver.
I noticed that ...
23
votes
1answer
12k views
Why is Newton's method not converging?
I am using PETSc's nonlinear solver package SNES to solve a system of nonlinear equations obtained by discretizing a partial differential equation. How can I determine why the solver is not converging ...
2
votes
3answers
328 views
Practical reference on sparse linear solvers for PDEs (Navier-Stokes, Poisson) and on learning PETSc
My background is mainly engineering and applied research and I have been a developer or some CFD software, but mostly at high level without worrying about linear solvers and the like. This has been ...
2
votes
1answer
530 views
How to convert MPIAIJ to SEQAIJ matrix in petsc/petsc4py?
I am curious, if there is a function to convert MPIAIJ (distributed matrices in AIJ format) to a SEQAIJ matrix that lie on a single processor. It is possible to do such an operation for PETSc vectors ...
1
vote
1answer
263 views
What is the default smoother for the “PCMG” preconditioner in PETSc?
For a large parallel sparse matrix (mpiaij type matrix) in my code, I was experimenting with various preconditioners to see which one would do best with GMRES/BiCGSTAB. I tried the PCMG ...
4
votes
2answers
820 views
Outputting a distributed vector in PETSc
I'm working with someone else's code that uses PETSc 3.0.0-p9.
They have a vector at the end of the computation that is distributed among a number of different processors, and I want to output that ...
7
votes
2answers
247 views
How can I tell which options PETSc was compiled with?
I'm working on a machine with a version of PETSc compiled by someone else. Is there a straightforward way to find out which options were used at compile time from the installation itself? For example,...
8
votes
1answer
1k views
How can I compute the Schur complement in PETSc?
How can I compute the Schur complement:
$$ S = K_{bb} - K_{ba} K_{aa}^{-1} K_{ab} $$
where
$$ K=\begin{pmatrix} K_{aa} & K_{ab} \\ K_{ba} & K_{bb} \end{pmatrix} $$
(in some ordering) is a ...
2
votes
1answer
109 views
is it more efficient to use ghosted vector in PETSC for PDE solving on unstructured mesh?
In a traditional PDE solver on unstructured meshes, we know exactly the sparse pattern of the Jacobian matrix, and we know that the amount of data to communicate is far smaller than the amount of ...
0
votes
1answer
70 views
How to access solution to linear system in PETSc?
I have just started with PETSc hence it might seem like a very stupid question but I couldn't find any answer in manual.
After Calling KSPSolve, where can I access the soluition for my linear system?
...
3
votes
0answers
84 views
PETSc SNES for user defined state
How to use PETSc SNES (scalable nonlinear equation solver), when the solution is not a vector but a user defined state?
I am implementing a non-linear mechanics problem (geometrically exact shell 5-...
9
votes
3answers
2k views
Are there any “light-weight” FEM packages around?
Basically, FEM seems to be a problem that is pretty much "solved". There are numerous powerful frameworks existing, like Trilinos, PETSc, FEniCS, Libmesh or MOOSE.
One thing they have in common: They ...
2
votes
1answer
524 views
Distributed (MPI) matrix matrix multiplication
I perform matrix matrix multiplications (between rank-3 and rank-2 arrays) in fortran using following subroutine,
...
1
vote
0answers
200 views
Getting started with FEM: Ill-conditioned matrix when evaluating flux terms in conservation law?
I have a system of conservation laws of the form
$$ \frac{\partial \mathbf{q}}{\partial t} + \nabla \cdot \mathbf{F}\!\left(\mathbf{q}\right) = 0 $$
I want to use finite elements to solve this ...
1
vote
1answer
178 views
Efficiency of parallel direct linear solver
I am currently working on solving a positive definite symmetric systems in parallel. The parallel direct solver I used is MUMPS. However, the performance and efficiency of the parallel direct solver ...
3
votes
2answers
2k views
Which python library for GPU sparse linear system solver library
I have a fluid dynamic solver written in python which I want to accelerate by moving the most expensive computations to the GPU. Ideally all arrays and sparse matrices used in my code should remain on ...
0
votes
1answer
277 views
setting COMM_WORLD size from petsc4py without mpiexec command line
I would like to create a parallel solver using petsc4py as one component of a larger application. I can easily get PETSc.COMM_WORLD.getSize() to be 4 by calling
mpiexec -n 4 python my_prog.py
...
3
votes
1answer
128 views
Get a matrix with absolute values in PETSc [closed]
Is there any function to create or change a matrix, to have $A_{ij} = \text{abs}(A_{ij})$ in PETSc? If possible it should work with MPIAIJ matrices, not only local.
2
votes
1answer
143 views
Which iterative method and preconditioner from petsc should be used when solving linear algebra in parallel?
I am currently trying to parallelize the incompressible flow solver code.
However, when I run the code I realise that the parallel code takes much longer time than sequential code to finish one ...
1
vote
0answers
262 views
Why does PETSc take unexpectedly long to set up its KSP solver with a custom preconditioner? [closed]
I am attempting to solve a large system, $\bf{Ax} = \bf{b}$ with the help of PETSc. Due to the size of the problem, I'm using a matrix-free approach, where $\bf{A}$ is just a shell. I'm also providing ...
9
votes
4answers
1k views
What is a robust, iterative solver for large 3-d linear-elastic problems?
I'm diving into the fascinating world of finite element analysis and would like to solve a large thermo-mechanical problem (only thermal $\rightarrow$ mechanical, no feedback).
For the mechanical ...
1
vote
0answers
61 views
Parallel dense solve with submatrices from mesh refinement with Petsc
For a Bounday Element Method problem I require the solution of a system of linear equations with multiple right-hand sides. Though this is a dense system, I still want to do it via Petsc in parallel. ...
1
vote
1answer
76 views
How to deal with multi-region problems (in PETSc)
Consider a problem where space is filled with a liquid and a solid phase, with a large, complicated geometry. On each of the phases, there's an electrical potential/poisson equation. The equations are ...
1
vote
2answers
741 views
Linear solvers: How to deal with a singular system? (Poisson equation with Neumann boundary conditions)
The question is in the context of iterative numerical solution of large PDE systems with Finite Differences or Finite Elements:
Stating the Poisson equation with Neumann boundary conditions will lead ...
1
vote
1answer
395 views
Algebraic multigrid in PETSc
Consider a potential/poisson equation on a very large, complicated geometry. Currently, an self-written FEM and linear solvers from NumPy are used. Performance is, of course, not good enough for ...
1
vote
1answer
337 views
Why does PETSc matrix memory allocation improve performance so much?
Context
In the Portable, Extensible Toolkit for Scientific Computing (PETSc), the user often creates matrices and vectors. These objects are then used as input for other routines like iterative ...
10
votes
3answers
2k views
Thrust for GPU programming
I'm very new to GPGPU programming so please forgive me if the question is not particularly appropriate. From what I understand GPU programming is a very intricate piece of engineering work when ...
3
votes
1answer
254 views
SLEPc eigensolvers take long time to converge for large sparse symmetric matrices
I am leveraging the SLEPc library for solving the first $k$ (where $k = 3$ or $4$) eigenvalues and their corresponding vectors for a matrix of size 200,000. The matrix is sparse and symmetric. I ...
7
votes
2answers
313 views
Comparing various implementations/software packages for large-scale finite element simulations
I currently use FEniCS and Deal.II to solve various FEM problems. I am also writing my own implementation of these problems by directly implementing the data structures, routines, and solvers within ...
2
votes
1answer
7k views
Compiling and running a “hello world” program in PETSc
I'm trying to compile a hello world program using PETSc, based off of this tutorial, slide 33 . How would I compile this? I know that I can't use a simple 'mpicc' command. When running the program, ...
5
votes
2answers
496 views
PetSc vs Sundials for serial numerical computations?
I am currently working on a physics problem that turns into a non-linear boundary value problem. I need an efficient numerical solver that I could run on my laptop with i5 dual core CPU. I am ...