[petsc-users] Petsc+Chombo problem

Satish Balay balay at mcs.anl.gov
Thu Dec 22 12:45:04 CST 2016


>From https://commons.lbl.gov/display/chombo/Chombo+Download+Page

>>>
The 3.2 version of this software was released March 25. 2014

Chombo 3.2 Release Notes:
We have implemented interfaces to the PETSc solver library
<<

So it might be compatible with petsc-3.4

http://www.mcs.anl.gov/petsc/documentation/changes/index.html


Satish


On Thu, 22 Dec 2016, Sharp Stone wrote:

> All right. Thanks Barry! I'll try older versions of PETSc.
> 
> Merry Christmas to you guys!
> 
> On Thu, Dec 22, 2016 at 1:19 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
> >
> >    It is very likely the lastest Chombo DOES NOT WORK with the latest
> > PETSc. You need to try early versions of PETSc with that version of Chombo.
> > Chombo should have this documented somewhere.
> >
> >
> > > On Dec 22, 2016, at 12:14 PM, Sharp Stone <thronesf at gmail.com> wrote:
> > >
> > > Thanks, Matt! Both libraries are the latest, and I guess they are
> > compatible except for the path setups. I'm waiting for their reply.
> > >
> > > You are right. There's another file that needs to be modified. But the
> > error can't go away "PetscCompGrid.H:19:34: error: petsc/private/pcimpl.h:
> > No such file or directory". If you guys have any ideas, please let me know.
> > >
> > > Thank you very much!
> > >
> > > On Thu, Dec 22, 2016 at 1:07 PM, Matthew Knepley <knepley at gmail.com>
> > wrote:
> > > On Thu, Dec 22, 2016 at 11:54 AM, Sharp Stone <thronesf at gmail.com>
> > wrote:
> > > Mat and Satish,
> > >
> > > Thank you for your replies. I'm using Chombo-3.2 + Petsc-3.7.4. I have
> > not yet received replies from Chombo. So I have to ask you guys to see if
> > my paths have been correctly set up. When I changed the #include
> > <petsc-private/pcimpl.h> to #include<petsc/private/pcimpl.h>, I still got
> > the errors "PetscCompGrid.H:19:34: error: petsc-private/pcimpl.h: No such
> > file or directory". Highly appreciate your help!
> > >
> > > Clearly there was another include. Satish is right that you need to get
> > the right version for Chombo.
> > >
> > >    Matt
> > >
> > > On Thu, Dec 22, 2016 at 12:05 PM, Matthew Knepley <knepley at gmail.com>
> > wrote:
> > > On Thu, Dec 22, 2016 at 11:01 AM, Sharp Stone <thronesf at gmail.com>
> > wrote:
> > > Dear folks,
> > >
> > > I'm now using Chombo with Petsc solver. When compiling the Chombo
> > examples of Petsc, I always got errors below. I wonder if anyone has such
> > experience to get rid of these. Thanks very much in advance!
> > >
> > >
> > > In file included from PetscCompGrid.cpp:13:
> > > PetscCompGrid.H:19:34: error: petsc-private/pcimpl.h: No such file or
> > directory
> > >
> > > You might have a version mismatch here. PETSc changed the directory
> > structure to conform better to the Linux standard
> > >
> > >   $PETSC_DIR/include/petsc-private
> > >
> > > became
> > >
> > >   $PETSC_DIR/include/petsc/private
> > >
> > >   Thanks,
> > >
> > >     Matt
> > >
> > > In file included from PetscCompGrid.cpp:13:
> > > PetscCompGrid.H:55: error: ‘Mat’ does not name a type
> > > PetscCompGrid.H:60: error: ‘PetscErrorCode’ does not name a type
> > > PetscCompGrid.H:62: error: ‘PetscErrorCode’ does not name a type
> > > PetscCompGrid.H:63: error: ‘PetscErrorCode’ does not name a type
> > > PetscCompGrid.H:66: error: ‘PetscInt’ was not declared in this scope
> > > PetscCompGrid.H:66: error: template argument 1 is invalid
> > > PetscCompGrid.H:76: error: ‘PetscErrorCode’ does not name a type
> > > PetscCompGrid.H:90: error: ‘PetscInt’ was not declared in this scope
> > > PetscCompGrid.H:90: error: template argument 1 is invalid
> > > PetscCompGrid.H:90: error: template argument 1 is invalid
> > > PetscCompGrid.H:90: error: template argument 1 is invalid
> > > PetscCompGrid.H:90: error: template argument 1 is invalid
> > > PetscCompGrid.H:92: error: ‘PetscInt’ was not declared in this scope
> > > PetscCompGrid.H:92: error: template argument 1 is invalid
> > > PetscCompGrid.H:92: error: template argument 1 is invalid
> > > PetscCompGrid.H:92: error: template argument 1 is invalid
> > > PetscCompGrid.H:92: error: template argument 1 is invalid
> > > PetscCompGrid.H:93: error: ‘PetscInt’ was not declared in this scope
> > > PetscCompGrid.H:93: error: template argument 1 is invalid
> > > PetscCompGrid.H:93: error: template argument 1 is invalid
> > > PetscCompGrid.H:93: error: template argument 1 is invalid
> > > PetscCompGrid.H:93: error: template argument 1 is invalid
> > > PetscCompGrid.H:97: error: ‘Mat’ does not name a type
> > > PetscCompGrid.H: In constructor ‘PetscCompGrid::PetscCompGrid(int)’:
> > > PetscCompGrid.H:35: error: class ‘PetscCompGrid’ does not have any field
> > named ‘m_mat’
> > > PetscCompGrid.H: At global scope:
> > > PetscCompGrid.H:138: error: ‘PetscReal’ does not name a type
> > > PetscCompGrid.H:140: error: ISO C++ forbids declaration of ‘PetscReal’
> > with no type
> > > PetscCompGrid.H:140: error: expected ‘;’ before ‘*’ token
> > > PetscCompGrid.cpp: In destructor ‘virtual CompBC::~CompBC()’:
> > > PetscCompGrid.cpp:38: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp:38: error: ‘PetscFree’ was not declared in this scope
> > > PetscCompGrid.cpp: In constructor ‘CompBC::CompBC(int, IntVect)’:
> > > PetscCompGrid.cpp:41: error: class ‘CompBC’ does not have any field
> > named ‘m_Rcoefs’
> > > PetscCompGrid.cpp: In member function ‘void CompBC::define(int,
> > IntVect)’:
> > > PetscCompGrid.cpp:49: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp:49: error: ‘PetscFree’ was not declared in this scope
> > > PetscCompGrid.cpp:54: error: ‘PetscReal’ was not declared in this scope
> > > PetscCompGrid.cpp:54: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp:54: error: ‘PetscMalloc’ was not declared in this scope
> > > PetscCompGrid.cpp: At global scope:
> > > PetscCompGrid.cpp:59: error: ‘PetscReal’ does not name a type
> > > PetscCompGrid.cpp: In member function ‘virtual void
> > ConstDiriBC::createCoefs()’:
> > > PetscCompGrid.cpp:72: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp:77: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp:85: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp:93: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp: In member function ‘virtual void
> > ConstDiriBC::operator()(FArrayBox&, const Box&, const ProblemDomain&,
> > Real, bool)’:
> > > PetscCompGrid.cpp:137: error: ‘m_Rcoefs’ was not declared in this scope
> > > PetscCompGrid.cpp: In member function ‘virtual void
> > PetscCompGrid::clean()’:
> > > PetscCompGrid.cpp:154: error: ‘m_mat’ was not declared in this scope
> > > PetscCompGrid.cpp:156: error: ‘MatDestroy’ was not declared in this scope
> > > PetscCompGrid.cpp: In member function ‘virtual void
> > PetscCompGrid::define(const ProblemDomain&, Vector<DisjointBoxLayout>&,
> > Vector<int>&, BCHolder, const RealVect&, int, int)’:
> > > PetscCompGrid.cpp:218: error: request for member ‘resize’ in
> > ‘((PetscCompGrid*)this)->PetscCompGrid::m_GIDs’, which is of non-class
> > type ‘int’
> > > PetscCompGrid.cpp:219: error: request for member ‘resize’ in
> > ‘((PetscCompGrid*)this)->PetscCompGrid::m_crsSupportGIDs’, which is of
> > non-class type ‘int’
> > > PetscCompGrid.cpp:220: error: request for member ‘resize’ in
> > ‘((PetscCompGrid*)this)->PetscCompGrid::m_fineCoverGIDs’, which is of
> > non-class type ‘int’
> > > PetscCompGrid.cpp:249: error: ‘PetscInt’ was not declared in this scope
> > > PetscCompGrid.cpp:249: error: expected `;' before ‘my0’
> > > PetscCompGrid.cpp:256: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:256: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:256: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:256: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:256: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:257: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:257: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:257: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:257: error: new initializer expression list treated as
> > compound expression
> > > PetscCompGrid.cpp:257: error: cannot convert ‘IntVect’ to ‘int’ in
> > initialization
> > > PetscCompGrid.cpp:261: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:261: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:261: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:261: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:262: error: request for member ‘setVal’ in ‘gidfab’,
> > which is of non-class type ‘int’
> > > PetscCompGrid.cpp:276: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:281: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:288: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:288: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:288: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:288: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:295: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:295: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:295: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:295: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:299: error: ‘gidfab’ cannot be used as a function
> > > PetscCompGrid.cpp:299: error: ‘my0’ was not declared in this scope
> > > PetscCompGrid.cpp:308: error: ‘MPI_Comm’ was not declared in this scope
> > > PetscCompGrid.cpp:308: error: expected `;' before ‘wcomm’
> > > PetscCompGrid.cpp:310: error: ‘wcomm’ was not declared in this scope
> > > PetscCompGrid.cpp:310: error: ‘m_mat’ was not declared in this scope
> > > PetscCompGrid.cpp:310: error: ‘MatCreate’ was not declared in this scope
> > > PetscCompGrid.cpp:311: error: ‘my0’ was not declared in this scope
> > > PetscCompGrid.cpp:311: error: ‘PETSC_DECIDE’ was not declared in this
> > scope
> > > PetscCompGrid.cpp:311: error: ‘MatSetSizes’ was not declared in this
> > scope
> > > PetscCompGrid.cpp:312: error: ‘MatSetBlockSize’ was not declared in this
> > scope
> > > PetscCompGrid.cpp:313: error: ‘MATAIJ’ was not declared in this scope
> > > PetscCompGrid.cpp:313: error: ‘MatSetType’ was not declared in this scope
> > > PetscCompGrid.cpp:314: error: ‘MatSetFromOptions’ was not declared in
> > this scope
> > > PetscCompGrid.cpp:334: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:334: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:334: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:334: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:338: error: ‘gidfab’ cannot be used as a function
> > > PetscCompGrid.cpp:338: error: ‘gidfab’ cannot be used as a function
> > > PetscCompGrid.cpp:339: error: ‘gidfab’ cannot be used as a function
> > > PetscCompGrid.cpp:342: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:348: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:350: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:350: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:350: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:350: error: invalid type in declaration before ‘;’
> > token
> > > PetscCompGrid.cpp:358: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:358: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:358: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:358: error: new initializer expression list treated as
> > compound expression
> > > PetscCompGrid.cpp:358: error: cannot convert ‘const IntVect’ to ‘int’ in
> > initialization
> > > PetscCompGrid.cpp:359: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:359: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:359: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:359: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:359: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:363: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:363: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:363: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:363: error: no match for ‘operator[]’ in ‘* pl[dit]’
> > > PetscCompGrid.cpp:364: error: request for member ‘setVal’ in ‘gidfab’,
> > which is of non-class type ‘int’
> > > PetscCompGrid.cpp:367: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:367: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:379: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:379: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:379: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:379: error: new initializer expression list treated as
> > compound expression
> > > PetscCompGrid.cpp:379: error: cannot convert ‘const IntVect’ to ‘int’ in
> > initialization
> > > PetscCompGrid.cpp:380: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:380: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:380: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:380: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:380: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:384: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:384: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:384: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:384: error: no match for ‘operator[]’ in ‘* pl[dit]’
> > > PetscCompGrid.cpp:385: error: request for member ‘setVal’ in ‘gidfab’,
> > which is of non-class type ‘int’
> > > PetscCompGrid.cpp:388: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:388: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:394: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:394: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:394: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:394: error: no match for ‘operator[]’ in ‘* pl[dit]’
> > > PetscCompGrid.cpp:398: error: request for member ‘box’ in ‘gidfab’,
> > which is of non-class type ‘int’
> > > PetscCompGrid.cpp: At global scope:
> > > PetscCompGrid.cpp:409: error: ‘PetscErrorCode’ does not name a type
> > > PetscCompGrid.cpp: In member function ‘virtual void
> > PetscCompGrid::applyBCs(IntVect, int, const DataIndex&, Box,
> > StencilTensor&)’:
> > > PetscCompGrid.cpp:611: error: ‘class ConstDiriBC’ has no member named
> > ‘getCoef’
> > > PetscCompGrid.cpp: In member function ‘virtual void
> > PetscCompGrid::InterpToCoarse(IntVect, int, const DataIndex&,
> > StencilTensor&)’:
> > > PetscCompGrid.cpp:699: error: ‘PetscInt’ was not declared in this scope
> > > PetscCompGrid.cpp:699: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:699: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:699: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:700: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:700: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:700: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:700: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:709: error: ‘gidfab’ cannot be used as a function
> > > PetscCompGrid.cpp:720: error: expected `;' before ‘cidx’
> > > PetscCompGrid.cpp:720: error: ‘cidx’ was not declared in this scope
> > > PetscCompGrid.cpp:723: error: ‘kk’ was not declared in this scope
> > > PetscCompGrid.cpp:741: error: ‘supgidfab’ cannot be used as a function
> > > PetscCompGrid.cpp:743: error: ‘supgidfab’ cannot be used as a function
> > > PetscCompGrid.cpp: In member function ‘virtual void
> > PetscCompGrid::InterpToFine(IntVect, int, const DataIndex&,
> > StencilTensor&)’:
> > > PetscCompGrid.cpp:772: error: ‘PetscInt’ was not declared in this scope
> > > PetscCompGrid.cpp:772: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:772: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:772: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:773: error: ‘PetscInt’ cannot appear in a
> > constant-expression
> > > PetscCompGrid.cpp:773: error: template argument 1 is invalid
> > > PetscCompGrid.cpp:773: error: invalid type in declaration before ‘=’
> > token
> > > PetscCompGrid.cpp:773: error: invalid types ‘int[int]’ for array
> > subscript
> > > PetscCompGrid.cpp:774: error: request for member ‘box’ in ‘covergidfab’,
> > which is of non-class type ‘int’
> > > PetscCompGrid.cpp:783: error: ‘gidfab’ cannot be used as a function
> > > PetscCompGrid.cpp: At global scope:
> > > PetscCompGrid.cpp:812: error: ‘PetscErrorCode’ does not name a type
> > > PetscCompGrid.cpp:917: error: ‘PetscErrorCode’ does not name a type
> > > PetscCompGrid.cpp:964: error: ‘PetscErrorCode’ does not name a type
> > > make[3]: *** [o/2d.Linux.64.mpicxx.mpif90.DEBUG.PETSC/PetscCompGrid.o]
> > Error 1
> > > make[2]: *** [AMRElliptic] Error 2
> > > make[1]: *** [AMRElliptic] Error 2
> > > make: *** [execPETSc] Error 2
> > >
> > > --
> > > Best regards,
> > >
> > > Feng
> > >
> > >
> > >
> > > --
> > > 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
> > >
> > >
> > >
> > > --
> > > Best regards,
> > >
> > > Feng
> > >
> > >
> > >
> > > --
> > > 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
> > >
> > >
> > >
> > > --
> > > Best regards,
> > >
> > > Feng
> >
> >
> 
> 
> 


More information about the petsc-users mailing list