>From what i understand, you should #include the corresponding petscdef files in the module and the petsc headers in the subroutine.<br><br>petsc version installed on machine is petsc-3.2-p5<br>I use a single include file: #include "finclude/petscdef.h" in the module<br>
and in the subroutines (including the ones that are defined after contains in the module) and program.<br>#include "finclude/petsc.h"<br> you can use #include "finclude/petsc.h90" if you are using the things such as vecgetArrayF90<br>
<br><div class="gmail_quote">On Tue, Aug 28, 2012 at 3:45 PM, Roc Wang <span dir="ltr"><<a href="mailto:pengxwang@hotmail.com" target="_blank">pengxwang@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><div dir="ltr">
Hello,<br><br><br>   I am developing Fortran90 code with PETSc.  Several Modules are defined in the code. Such as<br><br>  Module MyParameter<br>       Implicit none<br>#include "finclude/petscsys.h"<br>#include "finclude/petscvec.h"<br>
#include "finclude/petscmat.h"<br>#include "finclude/petscpc.h"<br>#include "finclude/petscksp.h"<br>#include "finclude/petscvec.h90"<br>#include "finclude/petscmat.h90"<br>
 <br>      Integer::  ... ...<br>      Real:: ... ...<br>  <br><br>  End Module MyParameter<br><br>  Module MySub<br>       Use Myparameter<br>     Contains<br>       ... ...<br>      Call MatSetType(A_Mat, MATAIJ, ierr)<br>
       ... ...<br>  EndModule MySub<br><br> <br> Main Program<br>      Use MyParameter<br>      Use MySub<br> ... ...<br> ... ...<br> End <br><br> If I put all the modules in a single .F90 file, the compilation can be done successfully. However, If I put the modules in separated files,  the following error information comes out:<br>
<br> Error: Symbol 'mataij' at (1) has no IMPLICIT type.<br><br> In addition, if I use PetscInt,    PetscErrorCode to declare variables in Module MySub, the similar errors come out.  How declare the variable with PETSc type in separate files? Thanks.<br>
<br>  <br><br>   <br><br><br>   <br>                                    </div></div>
</blockquote></div><br><br clear="all"><br>-- <br>-----------------------------------------------------<br>Dharmendar Reddy Palle<br>Graduate Student<br>Microelectronics Research center,<br>University of Texas at Austin,<br>
10100 Burnet Road, Bldg. 160<br>MER 2.608F, TX 78758-4445<br>e-mail: <a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a><br>Phone: +1-512-350-9082<br>United States of America.<br><br>