Re: [petsc-users] Which matrix object type should I use?

2018-04-12 Thread Smith, Barry F.

  So you want to have a parallel linear? solver and the rest of the code 
including Jacobian generation sequential?

   Barry


> On Apr 12, 2018, at 2:32 PM, Klaus Burkart  wrote:
> 
> Are your matrix entries stored in parallel or is your current code that 
> generates the rows, columns, and values sequential.
> 
> >> The three arrays are the result of a matrix format conversion to CSR 
> >> format in my cfd application interface, the code is sequential.
> 
> 
>   Does your matrix have a pointwise-block structure (like from having 
> multiple degrees of freedom per grid point) or is it a scalar PDE? If scalar 
> than you use AIJ matrices if point wise-block structure then use BAIJ. If 
> symmetric than use SBAIJ.
> 
> >> I assume it's a case for AIJ
> 
> 
> How are your matrix entries generated? Via the finite element method, finite 
> differences, something else? Is there a mesh, how do you handle the mesh?
> 
> >> Via finite volume, yes there is a mesh but I am only replacing the matrix 
> >> solver (as I've done with another LA library before) afterwards returning 
> >> the solution vector to the application where all the other steps are 
> >> handled
> 
>   Klaus
> 
> 
> Am Donnerstag, 12. April 2018, 21:10:12 MESZ hat Smith, Barry F. 
>  Folgendes geschrieben:
> 
> 
> 
>   Are your matrix entries stored in parallel or is your current code that 
> generates the rows, columns, and values sequential.
> 
>   Does your matrix have a pointwise-block structure (like from having 
> multiple degrees of freedom per grid point) or is it a scalar PDE? If scalar 
> than you use AIJ matrices if point wise-block structure then use BAIJ. If 
> symmetric than use SBAIJ.
> 
>   How are your matrix entries generated? Via the finite element method, 
> finite differences, something else? Is there a mesh, how do you handle the 
> mesh?
> 
>   Barry
> 
> 
> > On Apr 12, 2018, at 1:54 PM, Klaus Burkart  wrote:
> > 
> > I am confused with matrix object types and which one to use in my case:
> > 
> > 
> > I want to solve a linear system using multiple processes. The steps I am 
> > struggling with is the import of the global matrix and global rhs vector 
> > into applicable PETSc objects.
> > 
> > The global matrix is currently stored in CSR format using 3 arrays. Array 
> > one contains all the row indices, array two all the column indices, array 
> > three all the values of the global matrix. In addition to that, there's a 
> > vector object containing the rhs vector.
> > 
> > I think for the vector object I should use VectorCreateMPI with m set to 
> > PETSC_DECIDE?
> > 
> > 
> > What's the matrix object I should use in my case which also takes care of 
> > the allocation local matrices to the processes at a later stage i.e. 
> > creates the local matrices in line with the rhs vector?
> > 
> > Klaus



Re: [petsc-users] Which matrix object type should I use?

2018-04-12 Thread Smith, Barry F.

   Are your matrix entries stored in parallel or is your current code that 
generates the rows, columns, and values sequential.

   Does your matrix have a pointwise-block structure (like from having multiple 
degrees of freedom per grid point) or is it a scalar PDE? If scalar than you 
use AIJ matrices if point wise-block structure then use BAIJ. If symmetric than 
use SBAIJ.

   How are your matrix entries generated? Via the finite element method, finite 
differences, something else? Is there a mesh, how do you handle the mesh?

   Barry


> On Apr 12, 2018, at 1:54 PM, Klaus Burkart  wrote:
> 
> I am confused with matrix object types and which one to use in my case:
> 
> 
> I want to solve a linear system using multiple processes. The steps I am 
> struggling with is the import of the global matrix and global rhs vector into 
> applicable PETSc objects.
> 
> The global matrix is currently stored in CSR format using 3 arrays. Array one 
> contains all the row indices, array two all the column indices, array three 
> all the values of the global matrix. In addition to that, there's a vector 
> object containing the rhs vector.
> 
> I think for the vector object I should use VectorCreateMPI with m set to 
> PETSC_DECIDE?
> 
> 
> What's the matrix object I should use in my case which also takes care of the 
> allocation local matrices to the processes at a later stage i.e. creates the 
> local matrices in line with the rhs vector?
> 
> Klaus