You can use MatCreateVecs() to create vectors sized properly for both x and y in y = Ax when A is not square.
> On Sep 5, 2024, at 5:20 PM, Karthikeyan Chockalingam - STFC UKRI via > petsc-users <petsc-users@mcs.anl.gov> wrote: > > Hello, > > I am unsure why the program crashes even while running the code serially > > > petscErr = MatCreate(mesh.comm().get(), &par_G); > petscErr = MatSetType(par_G, MATMPIAIJ); > petscErr = MatSetSizes(par_G, local_num_rows, local_num_cols, > total_num_rows, total_num_cols); > PetscInt d_nz = 2; > PetscInt o_nz = 2; > petscErr = MatMPIAIJSetPreallocation(par_G, d_nz, NULL, o_nz, NULL); > > petscErr = > VecCreateMPI(mesh.comm().get(),local_num_cols,total_num_cols,&par_xcoord); > petscErr = VecDuplicate(par_xcoord,&par_xvec); > > petscErr = MatMult(par_G, par_xcoord, par_xvec); > > > > > [0]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [0]PETSC ERROR: Nonconforming object sizes > [0]PETSC ERROR: Mat mat,Vec y: global dim 40 25 > [0]PETSC ERROR: WARNING! There are unused option(s) set! Could be the program > crashed before usage or a spelling mistake, etc! > [0]PETSC ERROR: Option left: name:--keep-cout (no value) source: command > line > [0]PETSC ERROR: See > https://urldefense.us/v3/__https://petsc.org/release/faq/__;!!G_uCfscf7eWS!bSaK_Wa6QhLPg-VTwXikWgAOcFo9HA3dOF3pqzXGgsJFZH1LHVzj4YWXyrj_lxhs5Thig6VFoXMS4dnkpcyJGYw$ > > <https://urldefense.us/v3/__https://petsc.org/release/faq/__;!!G_uCfscf7eWS!eNf_b1At1lAvdYeAlplIXxQN9WwVYKe1gkVUZRvNkdF0V6JCbVOG_mYTuCQrp2rs8FMod_waFjX0LLNuAvMcHmdf7Hrzm4s3JaQT$> > for trouble shooting. > [0]PETSC ERROR: Petsc Release Version 3.20.3, unknown > [0]PETSC ERROR: ./example-dbg on a arch-moose named HC20210312 by > karthikeyan.chockalingam Thu Sep 5 22:16:54 2024 > [0]PETSC ERROR: Configure options --with-64-bit-indices > --with-cxx-dialect=C++17 --with-debugging=no --with-fortran-bindings=0 > --with-mpi=1 --with-openmp=1 --with-shared-libraries=1 --with-sowing=0 > --download-fblaslapack=1 --download-hypre=1 --download-metis=1 > --download-mumps=1 --download-ptscotch=1 --download-parmetis=1 > --download-scalapack=1 --download-slepc=1 --download-strumpack=1 > --download-superlu_dist=1 --download-bison=1 --download-hdf5=1 > --with-hdf5-fortran-bindings=0 > --download-hdf5-configure-arguments="--with-zlib" --with-make-np=4 > [0]PETSC ERROR: #1 MatMult() at > /Users/karthikeyan.chockalingam/moose/petsc/src/mat/interface/matrix.c:2587 > Vec Object: 1 MPI process > > > Many thanks for the help! > > Karthik. > > > > -- > Karthik Chockalingam, Ph.D. > Senior Research Software Engineer > High Performance Systems Engineering Group > Hartree Centre | Science and Technology Facilities Council > karthikeyan.chockalin...@stfc.ac.uk > <mailto:karthikeyan.chockalin...@stfc.ac.uk> > > <image001.png>