<div dir="ltr">Hi Satish,<div>   Works. Thanks a lot for your help.</div><div><br></div><div>BR,</div><div>Sam</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 21, 2020 at 2:51 PM Satish Balay <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Its PETSC_USE_COMPLEX [undefined for --with-scalar-type=real]<br>
<br>
Satish<br>
<br>
On Thu, 21 May 2020, Sam Guo wrote:<br>
<br>
> What preprocessor directive should I use for real: PETSC_USE_SCALAR_REAL<br>
> or PETSC_USE_REAL_DOUBLE?<br>
> <br>
> On Thu, May 21, 2020 at 2:00 PM Satish Balay <<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>> wrote:<br>
> <br>
> > We usually do the other way around [build petsc with the correct<br>
> > compilers and option] and make apps use the same flags [via petsc<br>
> > formatted makefiles].<br>
> ><br>
> > However you should be able to construct petsc configure command and<br>
> > force petsc to build exactly as you need.<br>
> ><br>
> > Satish<br>
> ><br>
> > On Thu, 21 May 2020, Sam Guo wrote:<br>
> ><br>
> > > The reason we don’t use petsc build tool is to make sure we use same<br>
> > > compiler and flags to build our code and petsc.<br>
> > ><br>
> > > On Thursday, May 21, 2020, Satish Balay <<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>> wrote:<br>
> > ><br>
> > > > Is there a reason you can't use petsc build tools?<br>
> > > ><br>
> > > > config/gmakegen.py processes the mkaefiles in source dirs - and<br>
> > determines<br>
> > > > the list of files to build [for a given configure setup]<br>
> > > ><br>
> > > > src/ksp/pc/impls/tfs/makefile has:<br>
> > > ><br>
> > > > #requiresscalar real<br>
> > > ><br>
> > > > i.e the sources in this dir are compiled only when<br>
> > --with-scalar-type=real<br>
> > > > and not when --with-scalar-type=complex etc..<br>
> > > ><br>
> > > > Satish<br>
> > > ><br>
> > > > On Thu, 21 May 2020, Sam Guo wrote:<br>
> > > ><br>
> > > > > Thanks for the quick response. I have my own makefile based on PETSc<br>
> > > > > makefile. I need to update my makefile. It seems PETSc generates the<br>
> > > > > makefile on fly. I struggle to figure out which files I should skip<br>
> > for<br>
> > > > > complex. Could you tell me what files I should skip?<br>
> > > > ><br>
> > > > > Thanks,<br>
> > > > > Sam<br>
> > > > ><br>
> > > > > On Thu, May 21, 2020 at 12:31 PM Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>><br>
> > > > wrote:<br>
> > > > ><br>
> > > > > > On Thu, May 21, 2020 at 3:25 PM Sam Guo <<a href="mailto:sam.guo@cd-adapco.com" target="_blank">sam.guo@cd-adapco.com</a>><br>
> > wrote:<br>
> > > > > ><br>
> > > > > >> Dear PETSc dev team,<br>
> > > > > >>    I got following error of compiling complex:<br>
> > > > > >> ../../../petsc/src/ksp/pc/impls/tfs/ivec.c: In function<br>
> > > > ‘PCTFS_rvec_max’:<br>
> > > > > >> ../../../petsc/include/petscmath.h:532:30: error: invalid<br>
> > operands to<br>
> > > > > >> binary < (have ‘PetscScalar’ {aka ‘_Complex double’} and<br>
> > > > ‘PetscScalar’ {aka<br>
> > > > > >> ‘_Complex double’})<br>
> > > > > >>   532 | #define PetscMax(a,b)   (((a)<(b)) ?  (b) : (a))<br>
> > > > > >><br>
> > > > > >>    Any idea what I did wrong? I am using version 3.11.3.<br>
> > > > > >><br>
> > > > > ><br>
> > > > > > Can you upgrade to 3.13?<br>
> > > > > ><br>
> > > > > >   Thanks,<br>
> > > > > ><br>
> > > > > >     Matt<br>
> > > > > ><br>
> > > > > ><br>
> > > > > >> Thanks,<br>
> > > > > >> Sam<br>
> > > > > >><br>
> > > > > ><br>
> > > > > ><br>
> > > > > > --<br>
> > > > > > What most experimenters take for granted before they begin their<br>
> > > > > > experiments is infinitely more interesting than any results to<br>
> > which<br>
> > > > their<br>
> > > > > > experiments lead.<br>
> > > > > > -- Norbert Wiener<br>
> > > > > ><br>
> > > > > > <a href="https://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
> > > > > > <<a href="http://www.cse.buffalo.edu/~knepley/" rel="noreferrer" target="_blank">http://www.cse.buffalo.edu/~knepley/</a>><br>
> > > > > ><br>
> > > > ><br>
> > > ><br>
> > ><br>
> ><br>
> <br>
</blockquote></div>