Subject: [fenics-dev] two questions

From: "Theodore Omtzigt" <[email-masked]>
Date: Sun, 18 Dec 2005 16:12:50 -0800

I have two questions that pertain to whether or not my sw stack is working
properly.

QUESTION #1

The first one is relatively simple. I have PETSc configured with the
standard GCC compiler set but without MPI. When building the poisson demo, I
am generating the attached poisson.m file. The question is whether or not
the plotsolution.m and associated Octave specific M-files work for others.
On two different Linux boxes, for me, Octave goes to lala land and takes the
cpu with it to never return either with a plot or with a completion. MATLAB
does a little better but the pdemesh visualization produces an empty plot
although pdesurf does produce a plot.

QUESTION #2

The second question is more confusing. Since I am trying to get the whole
FEniCS/PETSc stack running under MSVC7, I was experimenting with different
configurations that would build given the tools I have. I was able to
successfully build PETSc with the MS compilers using the following
configuration:

--with-vendor-compilers=microsoft

--with-fc=0

--download-c-blas-lapack=1

--with-mpi=0

Here is the top of configure.log:

Starting Configure Run at Sun Dec 18 11:39:57 2005

Configure Options: --with-vendor-compilers=microsoft -with-fc=0
--download-c-blas-lapack=1 --with-mpi=0 --useThreads=0 --with-shared=0
-configModules=PETSc.Configure

Working directory: /home/Theo/petsc-2.3.0

Python version:

2.4.1 (#1, May 27 2005, 18:02:40) 

[GCC 3.3.3 (cygwin special)]

And the tail:

Compilers:

  C Compiler:         /home/Theo/petsc-2.3.0/bin/win32fe/win32fe cl  -MT -Z7

PETSc:

  PETSC_ARCH: cygwin

  PETSC_DIR: /home/Theo/petsc-2.3.0

  Scalar type:real

  Clanguage: C

BLAS/LAPACK: -L/home/Theo/petsc-2.3.0/externalpackages/f2cblaslapack/cygwin
-L/home/Theo/petsc-2.3.0/externalpackages/f2cblaslapack/cygwin -lf2clapack
-L/home/Theo/petsc-2.3.0/externalpackages/f2cblaslapack/cygwin
-L/home/Theo/petsc-2.3.0/externalpackages/f2cblaslapack/cygwin -lf2cblas

Since I don't have the rest of FEniCS running under MSDev, I figured I'll
use the same configuration on a linux box, that is, using GNU but without
Fortran, to see what FEniCS does on that configuration. And Murphy's law
applied: the poisson demo won't complete due to GMRES not converging. Here
is the log for that failure:

[tomtzigt@p4-28G-512M-ws1 poisson]$ ./dolfin-poisson

Computing mesh connectivity:

  Found 289 nodes

  Found 512 cells

  Created 800 edges

  Created 0 faces

  Sorting mesh entities locally.

Initializing PETSc (ignoring command-line arguments).

Assembling system (matrix and vector) of size 289 x 289.

| Assembling matrix and vector (interior contributions)           |

|-----------------------------------------------------------------| 0.0%

| Assembling matrix and vector (interior contributions)           |

|======|----------------------------------------------------------| 10.2%

| Assembling matrix and vector (interior contributions)           |

|=============|---------------------------------------------------| 20.3%

| Assembling matrix and vector (interior contributions)           |

|===================|---------------------------------------------| 30.5%

| Assembling matrix and vector (interior contributions)           |

|==========================|--------------------------------------| 40.6%

| Assembling matrix and vector (interior contributions)           |

|=================================|-------------------------------| 50.8%

| Assembling matrix and vector (interior contributions)           |

|=======================================|-------------------------| 60.9%

| Assembling matrix and vector (interior contributions)           |

|==============================================|------------------| 71.1%

| Assembling matrix and vector (interior contributions)           |

|====================================================|------------| 81.2%

| Assembling matrix and vector (interior contributions)           |

|===========================================================|-----| 91.4%

| Assembling matrix and vector (interior contributions)           |

|=================================================================| 100.0%

Maximum number of nonzeros in each row is 7 (estimated 21).

Applying Dirichlet boundary conditions.

Computing boundary:

  Found 64 edges on the boundary.

  Found 64 nodes on the boundary.

Boundary condition applied to 17 degrees of freedom on the boundary.

Setting up PETSc GMRES solver: (rtol, atol, dtol, maxiter) = (1.0e-05,
1.0e-50, 1.0e+04, 10000).

*** Error: GMRES solver did not converge. [GMRES.cpp:71: solve()]

My postulate would be that PETSc with the above configuration somehow gets
put into single precision mode and the atol=1.0e-50 doesn't stand a change.
However, I can't find this information (yet) in the PETSc log.

So, any known issues that explain the two issues here?

Theo

P.S. Both PETSc and FEniCS are a joy to work in. I love scripts that give
you enough feedback to resolve issues that the script ran into. So kudos to
all those who put in the sweat and tears.  If I can just get over the
initial hump, then I can start contributing too.

---

From: Anders Logg <[email-masked]>
Date: Mon, 19 Dec 2005 17:07:48 -0600

On Sun, Dec 18, 2005 at 04:12:50PM -0800, Theodore Omtzigt wrote:
> The first one is relatively simple. I have PETSc configured with the standard
> GCC compiler set but without MPI. When building the poisson demo, I am
> generating the attached poisson.m file. The question is whether or not the
> plotsolution.m and associated Octave specific M-files work for others. On two
> different Linux boxes, for me, Octave goes to lala land and takes the cpu with
> it to never return either with a plot or with a completion. MATLAB does a
> little better but the pdemesh visualization produces an empty plot although
> pdesurf does produce a plot.

For Octave, you need to have ivview installed. In Debian, this is in
the inventor-clients package.

Did you try to do the visualization with ParaView or MayaVi? We have
just moved to VTK as the default output format, since MATLAB is not
free and the visualization support in Octave is rather sparse.

The solution poisson.m lookes correct. I get the same solution
with DOLFIN 0.5.11 if I switch to MATLAB format.

> BLAS/LAPACK: -L/home/Theo/petsc-2.3.0/externalpackages/f2cblaslapack/cygwin -L/
> home/Theo/petsc-2.3.0/externalpackages/f2cblaslapack/cygwin -lf2clapack -L/home
> /Theo/petsc-2.3.0/externalpackages/f2cblaslapack/cygwin -L/home/Theo/
> petsc-2.3.0/externalpackages/f2cblaslapack/cygwin -lf2cblas
> 
>  
> 
> Since I don’t have the rest of FEniCS running under MSDev, I figured I’ll use
> the same configuration on a linux box, that is, using GNU but without Fortran,
> to see what FEniCS does on that configuration. And Murphy’s law applied: the
> poisson demo won’t complete due to GMRES not converging. Here is the log for
> that failure:
> 
>  
> 
> Setting up PETSc GMRES solver: (rtol, atol, dtol, maxiter) = (1.0e-05, 1.0e-50,
> 1.0e+04, 10000).
> 
> My postulate would be that PETSc with the above configuration somehow gets put
> into single precision mode and the atol=1.0e-50 doesn’t stand a change.
> However, I can’t find this information (yet) in the PETSc log.
> 
>  
> 

I have no idea what goes wrong. Since you managed to run the demo in
one configuration, try comparing the systems you solve on the two
configurations to see if they are the same. In the Poisson demo, do

    A.disp();
    b.disp();

to print out the matrix and vector. If they agree on both
configurations, there's something wrong with the GMRES solver.

> Theo
> 
>  
> 
> P.S. Both PETSc and FEniCS are a joy to work in. I love scripts that give you
> enough feedback to resolve issues that the script ran into. So kudos to all
> those who put in the sweat and tears.  If I can just get over the initial hump,
> then I can start contributing too.

That would be great.

/Anders

> points = [0.000000000000000 0.000000000000000
> 0.062500000000000 0.000000000000000
> 0.125000000000000 0.000000000000000
> 0.187500000000000 0.000000000000000
> 0.250000000000000 0.000000000000000
> 0.312500000000000 0.000000000000000
> 0.375000000000000 0.000000000000000
> 0.437500000000000 0.000000000000000
> 0.500000000000000 0.000000000000000
> 0.562500000000000 0.000000000000000
> 0.625000000000000 0.000000000000000
> 0.687500000000000 0.000000000000000
> 0.750000000000000 0.000000000000000
> 0.812500000000000 0.000000000000000
> 0.875000000000000 0.000000000000000
> 0.937500000000000 0.000000000000000
> 1.000000000000000 0.000000000000000
> 0.000000000000000 0.062500000000000
> 0.062500000000000 0.062500000000000
> 0.125000000000000 0.062500000000000
> 0.187500000000000 0.062500000000000
> 0.250000000000000 0.062500000000000
> 0.312500000000000 0.062500000000000
> 0.375000000000000 0.062500000000000
> 0.437500000000000 0.062500000000000
> 0.500000000000000 0.062500000000000
> 0.562500000000000 0.062500000000000
> 0.625000000000000 0.062500000000000
> 0.687500000000000 0.062500000000000
> 0.750000000000000 0.062500000000000
> 0.812500000000000 0.062500000000000
> 0.875000000000000 0.062500000000000
> 0.937500000000000 0.062500000000000
> 1.000000000000000 0.062500000000000
> 0.000000000000000 0.125000000000000
> 0.062500000000000 0.125000000000000
> 0.125000000000000 0.125000000000000
> 0.187500000000000 0.125000000000000
> 0.250000000000000 0.125000000000000
> 0.312500000000000 0.125000000000000
> 0.375000000000000 0.125000000000000
> 0.437500000000000 0.125000000000000
> 0.500000000000000 0.125000000000000
> 0.562500000000000 0.125000000000000
> 0.625000000000000 0.125000000000000
> 0.687500000000000 0.125000000000000
> 0.750000000000000 0.125000000000000
> 0.812500000000000 0.125000000000000
> 0.875000000000000 0.125000000000000
> 0.937500000000000 0.125000000000000
> 1.000000000000000 0.125000000000000
> 0.000000000000000 0.187500000000000
> 0.062500000000000 0.187500000000000
> 0.125000000000000 0.187500000000000
> 0.187500000000000 0.187500000000000
> 0.250000000000000 0.187500000000000
> 0.312500000000000 0.187500000000000
> 0.375000000000000 0.187500000000000
> 0.437500000000000 0.187500000000000
> 0.500000000000000 0.187500000000000
> 0.562500000000000 0.187500000000000
> 0.625000000000000 0.187500000000000
> 0.687500000000000 0.187500000000000
> 0.750000000000000 0.187500000000000
> 0.812500000000000 0.187500000000000
> 0.875000000000000 0.187500000000000
> 0.937500000000000 0.187500000000000
> 1.000000000000000 0.187500000000000
> 0.000000000000000 0.250000000000000
> 0.062500000000000 0.250000000000000
> 0.125000000000000 0.250000000000000
> 0.187500000000000 0.250000000000000
> 0.250000000000000 0.250000000000000
> 0.312500000000000 0.250000000000000
> 0.375000000000000 0.250000000000000
> 0.437500000000000 0.250000000000000
> 0.500000000000000 0.250000000000000
> 0.562500000000000 0.250000000000000
> 0.625000000000000 0.250000000000000
> 0.687500000000000 0.250000000000000
> 0.750000000000000 0.250000000000000
> 0.812500000000000 0.250000000000000
> 0.875000000000000 0.250000000000000
> 0.937500000000000 0.250000000000000
> 1.000000000000000 0.250000000000000
> 0.000000000000000 0.312500000000000
> 0.062500000000000 0.312500000000000
> 0.125000000000000 0.312500000000000
> 0.187500000000000 0.312500000000000
> 0.250000000000000 0.312500000000000
> 0.312500000000000 0.312500000000000
> 0.375000000000000 0.312500000000000
> 0.437500000000000 0.312500000000000
> 0.500000000000000 0.312500000000000
> 0.562500000000000 0.312500000000000
> 0.625000000000000 0.312500000000000
> 0.687500000000000 0.312500000000000
> 0.750000000000000 0.312500000000000
> 0.812500000000000 0.312500000000000
> 0.875000000000000 0.312500000000000
> 0.937500000000000 0.312500000000000
> 1.000000000000000 0.312500000000000
> 0.000000000000000 0.375000000000000
> 0.062500000000000 0.375000000000000
> 0.125000000000000 0.375000000000000
> 0.187500000000000 0.375000000000000
> 0.250000000000000 0.375000000000000
> 0.312500000000000 0.375000000000000
> 0.375000000000000 0.375000000000000
> 0.437500000000000 0.375000000000000
> 0.500000000000000 0.375000000000000
> 0.562500000000000 0.375000000000000
> 0.625000000000000 0.375000000000000
> 0.687500000000000 0.375000000000000
> 0.750000000000000 0.375000000000000
> 0.812500000000000 0.375000000000000
> 0.875000000000000 0.375000000000000
> 0.937500000000000 0.375000000000000
> 1.000000000000000 0.375000000000000
> 0.000000000000000 0.437500000000000
> 0.062500000000000 0.437500000000000
> 0.125000000000000 0.437500000000000
> 0.187500000000000 0.437500000000000
> 0.250000000000000 0.437500000000000
> 0.312500000000000 0.437500000000000
> 0.375000000000000 0.437500000000000
> 0.437500000000000 0.437500000000000
> 0.500000000000000 0.437500000000000
> 0.562500000000000 0.437500000000000
> 0.625000000000000 0.437500000000000
> 0.687500000000000 0.437500000000000
> 0.750000000000000 0.437500000000000
> 0.812500000000000 0.437500000000000
> 0.875000000000000 0.437500000000000
> 0.937500000000000 0.437500000000000
> 1.000000000000000 0.437500000000000
> 0.000000000000000 0.500000000000000
> 0.062500000000000 0.500000000000000
> 0.125000000000000 0.500000000000000
> 0.187500000000000 0.500000000000000
> 0.250000000000000 0.500000000000000
> 0.312500000000000 0.500000000000000
> 0.375000000000000 0.500000000000000
> 0.437500000000000 0.500000000000000
> 0.500000000000000 0.500000000000000
> 0.562500000000000 0.500000000000000
> 0.625000000000000 0.500000000000000
> 0.687500000000000 0.500000000000000
> 0.750000000000000 0.500000000000000
> 0.812500000000000 0.500000000000000
> 0.875000000000000 0.500000000000000
> 0.937500000000000 0.500000000000000
> 1.000000000000000 0.500000000000000
> 0.000000000000000 0.562500000000000
> 0.062500000000000 0.562500000000000
> 0.125000000000000 0.562500000000000
> 0.187500000000000 0.562500000000000
> 0.250000000000000 0.562500000000000
> 0.312500000000000 0.562500000000000
> 0.375000000000000 0.562500000000000
> 0.437500000000000 0.562500000000000
> 0.500000000000000 0.562500000000000
> 0.562500000000000 0.562500000000000
> 0.625000000000000 0.562500000000000
> 0.687500000000000 0.562500000000000
> 0.750000000000000 0.562500000000000
> 0.812500000000000 0.562500000000000
> 0.875000000000000 0.562500000000000
> 0.937500000000000 0.562500000000000
> 1.000000000000000 0.562500000000000
> 0.000000000000000 0.625000000000000
> 0.062500000000000 0.625000000000000
> 0.125000000000000 0.625000000000000
> 0.187500000000000 0.625000000000000
> 0.250000000000000 0.625000000000000
> 0.312500000000000 0.625000000000000
> 0.375000000000000 0.625000000000000
> 0.437500000000000 0.625000000000000
> 0.500000000000000 0.625000000000000
> 0.562500000000000 0.625000000000000
> 0.625000000000000 0.625000000000000
> 0.687500000000000 0.625000000000000
> 0.750000000000000 0.625000000000000
> 0.812500000000000 0.625000000000000
> 0.875000000000000 0.625000000000000
> 0.937500000000000 0.625000000000000
> 1.000000000000000 0.625000000000000
> 0.000000000000000 0.687500000000000
> 0.062500000000000 0.687500000000000
> 0.125000000000000 0.687500000000000
> 0.187500000000000 0.687500000000000
> 0.250000000000000 0.687500000000000
> 0.312500000000000 0.687500000000000
> 0.375000000000000 0.687500000000000
> 0.437500000000000 0.687500000000000
> 0.500000000000000 0.687500000000000
> 0.562500000000000 0.687500000000000
> 0.625000000000000 0.687500000000000
> 0.687500000000000 0.687500000000000
> 0.750000000000000 0.687500000000000
> 0.812500000000000 0.687500000000000
> 0.875000000000000 0.687500000000000
> 0.937500000000000 0.687500000000000
> 1.000000000000000 0.687500000000000
> 0.000000000000000 0.750000000000000
> 0.062500000000000 0.750000000000000
> 0.125000000000000 0.750000000000000
> 0.187500000000000 0.750000000000000
> 0.250000000000000 0.750000000000000
> 0.312500000000000 0.750000000000000
> 0.375000000000000 0.750000000000000
> 0.437500000000000 0.750000000000000
> 0.500000000000000 0.750000000000000
> 0.562500000000000 0.750000000000000
> 0.625000000000000 0.750000000000000
> 0.687500000000000 0.750000000000000
> 0.750000000000000 0.750000000000000
> 0.812500000000000 0.750000000000000
> 0.875000000000000 0.750000000000000
> 0.937500000000000 0.750000000000000
> 1.000000000000000 0.750000000000000
> 0.000000000000000 0.812500000000000
> 0.062500000000000 0.812500000000000
> 0.125000000000000 0.812500000000000
> 0.187500000000000 0.812500000000000
> 0.250000000000000 0.812500000000000
> 0.312500000000000 0.812500000000000
> 0.375000000000000 0.812500000000000
> 0.437500000000000 0.812500000000000
> 0.500000000000000 0.812500000000000
> 0.562500000000000 0.812500000000000
> 0.625000000000000 0.812500000000000
> 0.687500000000000 0.812500000000000
> 0.750000000000000 0.812500000000000
> 0.812500000000000 0.812500000000000
> 0.875000000000000 0.812500000000000
> 0.937500000000000 0.812500000000000
> 1.000000000000000 0.812500000000000
> 0.000000000000000 0.875000000000000
> 0.062500000000000 0.875000000000000
> 0.125000000000000 0.875000000000000
> 0.187500000000000 0.875000000000000
> 0.250000000000000 0.875000000000000
> 0.312500000000000 0.875000000000000
> 0.375000000000000 0.875000000000000
> 0.437500000000000 0.875000000000000
> 0.500000000000000 0.875000000000000
> 0.562500000000000 0.875000000000000
> 0.625000000000000 0.875000000000000
> 0.687500000000000 0.875000000000000
> 0.750000000000000 0.875000000000000
> 0.812500000000000 0.875000000000000
> 0.875000000000000 0.875000000000000
> 0.937500000000000 0.875000000000000
> 1.000000000000000 0.875000000000000
> 0.000000000000000 0.937500000000000
> 0.062500000000000 0.937500000000000
> 0.125000000000000 0.937500000000000
> 0.187500000000000 0.937500000000000
> 0.250000000000000 0.937500000000000
> 0.312500000000000 0.937500000000000
> 0.375000000000000 0.937500000000000
> 0.437500000000000 0.937500000000000
> 0.500000000000000 0.937500000000000
> 0.562500000000000 0.937500000000000
> 0.625000000000000 0.937500000000000
> 0.687500000000000 0.937500000000000
> 0.750000000000000 0.937500000000000
> 0.812500000000000 0.937500000000000
> 0.875000000000000 0.937500000000000
> 0.937500000000000 0.937500000000000
> 1.000000000000000 0.937500000000000
> 0.000000000000000 1.000000000000000
> 0.062500000000000 1.000000000000000
> 0.125000000000000 1.000000000000000
> 0.187500000000000 1.000000000000000
> 0.250000000000000 1.000000000000000
> 0.312500000000000 1.000000000000000
> 0.375000000000000 1.000000000000000
> 0.437500000000000 1.000000000000000
> 0.500000000000000 1.000000000000000
> 0.562500000000000 1.000000000000000
> 0.625000000000000 1.000000000000000
> 0.687500000000000 1.000000000000000
> 0.750000000000000 1.000000000000000
> 0.812500000000000 1.000000000000000
> 0.875000000000000 1.000000000000000
> 0.937500000000000 1.000000000000000
> 1.000000000000000 1.000000000000000]';
> 
> cells = [1 2 19 
> 1 19 18 
> 2 3 20 
> 2 20 19 
> 3 4 21 
> 3 21 20 
> 4 5 22 
> 4 22 21 
> 5 6 23 
> 5 23 22 
> 6 7 24 
> 6 24 23 
> 7 8 25 
> 7 25 24 
> 8 9 26 
> 8 26 25 
> 9 10 27 
> 9 27 26 
> 10 11 28 
> 10 28 27 
> 11 12 29 
> 11 29 28 
> 12 13 30 
> 12 30 29 
> 13 14 31 
> 13 31 30 
> 14 15 32 
> 14 32 31 
> 15 16 33 
> 15 33 32 
> 16 17 34 
> 16 34 33 
> 18 19 36 
> 18 36 35 
> 19 20 37 
> 19 37 36 
> 20 21 38 
> 20 38 37 
> 21 22 39 
> 21 39 38 
> 22 23 40 
> 22 40 39 
> 23 24 41 
> 23 41 40 
> 24 25 42 
> 24 42 41 
> 25 26 43 
> 25 43 42 
> 26 27 44 
> 26 44 43 
> 27 28 45 
> 27 45 44 
> 28 29 46 
> 28 46 45 
> 29 30 47 
> 29 47 46 
> 30 31 48 
> 30 48 47 
> 31 32 49 
> 31 49 48 
> 32 33 50 
> 32 50 49 
> 33 34 51 
> 33 51 50 
> 35 36 53 
> 35 53 52 
> 36 37 54 
> 36 54 53 
> 37 38 55 
> 37 55 54 
> 38 39 56 
> 38 56 55 
> 39 40 57 
> 39 57 56 
> 40 41 58 
> 40 58 57 
> 41 42 59 
> 41 59 58 
> 42 43 60 
> 42 60 59 
> 43 44 61 
> 43 61 60 
> 44 45 62 
> 44 62 61 
> 45 46 63 
> 45 63 62 
> 46 47 64 
> 46 64 63 
> 47 48 65 
> 47 65 64 
> 48 49 66 
> 48 66 65 
> 49 50 67 
> 49 67 66 
> 50 51 68 
> 50 68 67 
> 52 53 70 
> 52 70 69 
> 53 54 71 
> 53 71 70 
> 54 55 72 
> 54 72 71 
> 55 56 73 
> 55 73 72 
> 56 57 74 
> 56 74 73 
> 57 58 75 
> 57 75 74 
> 58 59 76 
> 58 76 75 
> 59 60 77 
> 59 77 76 
> 60 61 78 
> 60 78 77 
> 61 62 79 
> 61 79 78 
> 62 63 80 
> 62 80 79 
> 63 64 81 
> 63 81 80 
> 64 65 82 
> 64 82 81 
> 65 66 83 
> 65 83 82 
> 66 67 84 
> 66 84 83 
> 67 68 85 
> 67 85 84 
> 69 70 87 
> 69 87 86 
> 70 71 88 
> 70 88 87 
> 71 72 89 
> 71 89 88 
> 72 73 90 
> 72 90 89 
> 73 74 91 
> 73 91 90 
> 74 75 92 
> 74 92 91 
> 75 76 93 
> 75 93 92 
> 76 77 94 
> 76 94 93 
> 77 78 95 
> 77 95 94 
> 78 79 96 
> 78 96 95 
> 79 80 97 
> 79 97 96 
> 80 81 98 
> 80 98 97 
> 81 82 99 
> 81 99 98 
> 82 83 100 
> 82 100 99 
> 83 84 101 
> 83 101 100 
> 84 85 102 
> 84 102 101 
> 86 87 104 
> 86 104 103 
> 87 88 105 
> 87 105 104 
> 88 89 106 
> 88 106 105 
> 89 90 107 
> 89 107 106 
> 90 91 108 
> 90 108 107 
> 91 92 109 
> 91 109 108 
> 92 93 110 
> 92 110 109 
> 93 94 111 
> 93 111 110 
> 94 95 112 
> 94 112 111 
> 95 96 113 
> 95 113 112 
> 96 97 114 
> 96 114 113 
> 97 98 115 
> 97 115 114 
> 98 99 116 
> 98 116 115 
> 99 100 117 
> 99 117 116 
> 100 101 118 
> 100 118 117 
> 101 102 119 
> 101 119 118 
> 103 104 121 
> 103 121 120 
> 104 105 122 
> 104 122 121 
> 105 106 123 
> 105 123 122 
> 106 107 124 
> 106 124 123 
> 107 108 125 
> 107 125 124 
> 108 109 126 
> 108 126 125 
> 109 110 127 
> 109 127 126 
> 110 111 128 
> 110 128 127 
> 111 112 129 
> 111 129 128 
> 112 113 130 
> 112 130 129 
> 113 114 131 
> 113 131 130 
> 114 115 132 
> 114 132 131 
> 115 116 133 
> 115 133 132 
> 116 117 134 
> 116 134 133 
> 117 118 135 
> 117 135 134 
> 118 119 136 
> 118 136 135 
> 120 121 138 
> 120 138 137 
> 121 122 139 
> 121 139 138 
> 122 123 140 
> 122 140 139 
> 123 124 141 
> 123 141 140 
> 124 125 142 
> 124 142 141 
> 125 126 143 
> 125 143 142 
> 126 127 144 
> 126 144 143 
> 127 128 145 
> 127 145 144 
> 128 129 146 
> 128 146 145 
> 129 130 147 
> 129 147 146 
> 130 131 148 
> 130 148 147 
> 131 132 149 
> 131 149 148 
> 132 133 150 
> 132 150 149 
> 133 134 151 
> 133 151 150 
> 134 135 152 
> 134 152 151 
> 135 136 153 
> 135 153 152 
> 137 138 155 
> 137 155 154 
> 138 139 156 
> 138 156 155 
> 139 140 157 
> 139 157 156 
> 140 141 158 
> 140 158 157 
> 141 142 159 
> 141 159 158 
> 142 143 160 
> 142 160 159 
> 143 144 161 
> 143 161 160 
> 144 145 162 
> 144 162 161 
> 145 146 163 
> 145 163 162 
> 146 147 164 
> 146 164 163 
> 147 148 165 
> 147 165 164 
> 148 149 166 
> 148 166 165 
> 149 150 167 
> 149 167 166 
> 150 151 168 
> 150 168 167 
> 151 152 169 
> 151 169 168 
> 152 153 170 
> 152 170 169 
> 154 155 172 
> 154 172 171 
> 155 156 173 
> 155 173 172 
> 156 157 174 
> 156 174 173 
> 157 158 175 
> 157 175 174 
> 158 159 176 
> 158 176 175 
> 159 160 177 
> 159 177 176 
> 160 161 178 
> 160 178 177 
> 161 162 179 
> 161 179 178 
> 162 163 180 
> 162 180 179 
> 163 164 181 
> 163 181 180 
> 164 165 182 
> 164 182 181 
> 165 166 183 
> 165 183 182 
> 166 167 184 
> 166 184 183 
> 167 168 185 
> 167 185 184 
> 168 169 186 
> 168 186 185 
> 169 170 187 
> 169 187 186 
> 171 172 189 
> 171 189 188 
> 172 173 190 
> 172 190 189 
> 173 174 191 
> 173 191 190 
> 174 175 192 
> 174 192 191 
> 175 176 193 
> 175 193 192 
> 176 177 194 
> 176 194 193 
> 177 178 195 
> 177 195 194 
> 178 179 196 
> 178 196 195 
> 179 180 197 
> 179 197 196 
> 180 181 198 
> 180 198 197 
> 181 182 199 
> 181 199 198 
> 182 183 200 
> 182 200 199 
> 183 184 201 
> 183 201 200 
> 184 185 202 
> 184 202 201 
> 185 186 203 
> 185 203 202 
> 186 187 204 
> 186 204 203 
> 188 189 206 
> 188 206 205 
> 189 190 207 
> 189 207 206 
> 190 191 208 
> 190 208 207 
> 191 192 209 
> 191 209 208 
> 192 193 210 
> 192 210 209 
> 193 194 211 
> 193 211 210 
> 194 195 212 
> 194 212 211 
> 195 196 213 
> 195 213 212 
> 196 197 214 
> 196 214 213 
> 197 198 215 
> 197 215 214 
> 198 199 216 
> 198 216 215 
> 199 200 217 
> 199 217 216 
> 200 201 218 
> 200 218 217 
> 201 202 219 
> 201 219 218 
> 202 203 220 
> 202 220 219 
> 203 204 221 
> 203 221 220 
> 205 206 223 
> 205 223 222 
> 206 207 224 
> 206 224 223 
> 207 208 225 
> 207 225 224 
> 208 209 226 
> 208 226 225 
> 209 210 227 
> 209 227 226 
> 210 211 228 
> 210 228 227 
> 211 212 229 
> 211 229 228 
> 212 213 230 
> 212 230 229 
> 213 214 231 
> 213 231 230 
> 214 215 232 
> 214 232 231 
> 215 216 233 
> 215 233 232 
> 216 217 234 
> 216 234 233 
> 217 218 235 
> 217 235 234 
> 218 219 236 
> 218 236 235 
> 219 220 237 
> 219 237 236 
> 220 221 238 
> 220 238 237 
> 222 223 240 
> 222 240 239 
> 223 224 241 
> 223 241 240 
> 224 225 242 
> 224 242 241 
> 225 226 243 
> 225 243 242 
> 226 227 244 
> 226 244 243 
> 227 228 245 
> 227 245 244 
> 228 229 246 
> 228 246 245 
> 229 230 247 
> 229 247 246 
> 230 231 248 
> 230 248 247 
> 231 232 249 
> 231 249 248 
> 232 233 250 
> 232 250 249 
> 233 234 251 
> 233 251 250 
> 234 235 252 
> 234 252 251 
> 235 236 253 
> 235 253 252 
> 236 237 254 
> 236 254 253 
> 237 238 255 
> 237 255 254 
> 239 240 257 
> 239 257 256 
> 240 241 258 
> 240 258 257 
> 241 242 259 
> 241 259 258 
> 242 243 260 
> 242 260 259 
> 243 244 261 
> 243 261 260 
> 244 245 262 
> 244 262 261 
> 245 246 263 
> 245 263 262 
> 246 247 264 
> 246 264 263 
> 247 248 265 
> 247 265 264 
> 248 249 266 
> 248 266 265 
> 249 250 267 
> 249 267 266 
> 250 251 268 
> 250 268 267 
> 251 252 269 
> 251 269 268 
> 252 253 270 
> 252 270 269 
> 253 254 271 
> 253 271 270 
> 254 255 272 
> 254 272 271 
> 256 257 274 
> 256 274 273 
> 257 258 275 
> 257 275 274 
> 258 259 276 
> 258 276 275 
> 259 260 277 
> 259 277 276 
> 260 261 278 
> 260 278 277 
> 261 262 279 
> 261 279 278 
> 262 263 280 
> 262 280 279 
> 263 264 281 
> 263 281 280 
> 264 265 282 
> 264 282 281 
> 265 266 283 
> 265 283 282 
> 266 267 284 
> 266 284 283 
> 267 268 285 
> 267 285 284 
> 268 269 286 
> 268 286 285 
> 269 270 287 
> 269 287 286 
> 270 271 288 
> 270 288 287 
> 271 272 289 
> 271 289 288 ]';
> 
> edges = [1;2;0;0;0;0;0];
> 
> u = [ 0.068508108463468 0.068331656343913 0.067787751802850 0.066842946337859 0.065453911247884 0.063571630686899 0.061144621166713 0.058121745108905 0.054454905180132 0.050101860283095 0.045029360637377 0.039216843732185 0.032661084700093 0.025382417919178 0.017433711813898 0.008914840610784 0.000000000000000 0.068682019070932 0.068511567288807 0.067981845618438 0.067056164060138 0.065689097618680 0.063830018692588 0.061426037890154 0.058424667334030 0.054776406221804 0.050437445914348 0.045372682116936 0.039559232390031 0.032990768751642 0.025683132959532 0.017681951251288 0.009073439456833 0.000000000000000 0.069189212589894 0.069032967207812 0.068538881900727 0.067662512923766 0.066352808468410 0.064554582235563 0.062210881660364 0.059265275909529 0.055664154432242 0.051359142689576 0.046309762391092 0.040486468622373 0.033874221634198 0.026476759656031 0.018321653315124 0.009465851305391 0.000000000000000 0.069996233164266 0.069859263842080 0.069414843912414 0.068608423467629 0.067380852111886 0.065670014622518 0.063412604270138 0.060545952156724 0.057009922414835 0.052748915679340 0.047714044124076 0.041865530219258 0.035175351540026 0.027630080494160 0.019233678786454 0.010009521207443 0.000000000000000 0.071059537469551 0.070945034156977 0.070559353229856 0.069836558852595 0.068707755605916 0.067102132841601 0.064948201747586 0.062175158357706 0.058714335706636 0.054500737594680 0.049474672817196 0.043583487080051 0.036783330452290 0.029040814819553 0.020334256340808 0.010653880869920 0.000000000000000 0.072329272799702 0.072239159324472 0.071917791966049 0.071287159327850 0.070267575997246 0.068778291924075 0.066738278798443 0.064067148886118 0.060686163932737 0.056519296083233 0.051494328163317 0.045543964571516 0.038606861368741 0.030628426546303 0.021561118701647 0.011363855168783 0.000000000000000 0.073751823078479 0.073687108835739 0.073433059756431 0.072899265820413 0.071994647877459 0.070627719738125 0.068706997950418 0.066141510831559 0.062841382412045 0.058718446723179 0.053686856482839 0.047663648761912 0.040569189025813 0.032327371902044 0.022865390463812 0.012112853829431 0.000000000000000 0.075271658825197 0.075232661153302 0.075046974853645 0.074611738421875 0.073824213311564 0.072581762578296 0.070781934318122 0.068322597970455 0.065102128732398 0.061019608505022 0.055974993866098 0.049869210485092 0.042604138923663 0.034082386384870 0.024206764686553 0.012879342818680 0.000000000000000 0.076832734467016 0.076819224228390 0.076701391875752 0.076364084093302 0.075692922376768 0.074574037853118 0.072893861465639 0.070538922462047 0.067395659734811 0.063350235590764 0.058288305457604 0.052094700753419 0.044653038555944 0.035845166986137 0.025550464930327 0.013644919214677 0.000000000000000 0.078379609035478 0.078390895705559 0.078339109444054 0.078097136924534 0.077539232927733 0.076540518732578 0.074976496197970 0.072722536079936 0.069653342863318 0.065642397997857 0.060561354191651 0.054279348072446 0.046662268816247 0.037571920236308 0.026865169858260 0.014393069989035 0.000000000000000 0.079858391048998 0.079893364574999 0.079904636839015 0.079753629916618 0.079303735322595 0.078419571726013 0.076966221326318 0.074808419781068 0.071809697431840 0.067831468785663 0.062732056392075 0.056365649244996 0.048581225060861 0.039221413886552 0.028121451997511 0.015108290718800 0.000000000000000 0.081217589672088 0.081274724363258 0.081344886358420 0.081278704374095 0.080929434498330 0.080151975453936 0.078801811119578 0.076733897371658 0.073801490087475 0.069854903027276 0.064740167110528 0.058297625836559 0.050360466255109 0.040753208725617 0.029290348837986 0.015775296145352 0.000000000000000 0.082408968082340 0.082486277626396 0.082609858164828 0.082620411717239 0.082362032105779 0.081680956375747 0.080424189782103 0.078438081984538 0.075566852617201 0.071651036558708 0.066525789523023 0.060019099409347 0.051949852880100 0.042125822956112 0.030341803441997 0.016378092590824 0.000000000000000 0.083388474300208 0.083483412574669 0.083653379071895 0.083730255683655 0.083550238765157 0.082952248127509 0.081776220790100 0.079861379373164 0.077044480088628 0.073157965615598 0.068027926091677 0.061471914022489 0.053296495516936 0.043294583472588 0.031242751573747 0.016898765465604 0.000000000000000 0.084117351619882 0.084226646695219 0.084433967999928 0.084563824385137 0.084446143196030 0.083914191228833 0.082802533475431 0.080945038831062 0.078172891810310 0.074312472850533 0.069182990882559 0.062593942079586 0.054342224327528 0.044208743943881 0.031954347680548 0.017315486612892 0.000000000000000 0.084563600609706 0.084682947448735 0.084915863217287 0.085081515184752 0.085005638096565 0.084517871730675 0.083449420065282 0.081630845352855 0.078889867420766 0.075049046395770 0.069923282807568 0.063317045877094 0.055020949706306 0.044807735867490 0.032427022120972 0.017598180772988 0.000000000000000 0.084704097454380 0.084827485869462 0.085070195165615 0.085249234592995 0.085188821797707 0.084717359837415 0.083664909179017 0.081860877935198 0.079131809750569 0.075299003275924 0.070175863232324 0.063565113721141 0.055255227329406 0.045016024705603 0.032592949048255 0.017698727956244 0.000000000000000; ]';
> 

> _______________________________________________
> fenics-dev mailing list
> [email-masked]
> http://www.fenics.org/cgi-bin/mailman/listinfo/fenics-dev

-- 
Anders Logg
Research Assistant Professor
Toyota Technological Institute at Chicago
http://www.tti-c.org/logg/

---

From: "Garth N. Wells" <[email-masked]>
Date: Tue, 20 Dec 2005 00:38:01 +0100

> > So, any known issues that explain the two issues here?

At one stage, not so long ago, the preconditioner was turned off (it's
on again). This lead to a some of the demos not converging, particularly
when the mesh was refined. Could be an explanation.

Garth

---

From: Anders Logg <[email-masked]>
Date: Mon, 19 Dec 2005 19:26:09 -0600

On Tue, Dec 20, 2005 at 12:38:01AM +0100, Garth N. Wells wrote:
> on again).
> This lead to a some of the demos not converging, particularly

Make sure you use the latest version (0.5.11) which should work.

/Anders

---

From: "Theodore Omtzigt" <[email-masked]>
Date: Mon, 19 Dec 2005 23:05:20 -0800

Anders:

 I had to adjust to the new build process of 0.5.11, but I got everything
wiggling again. This time I get a different convergence failure:

*** Error: Krylov solver did not converge. [KrylovSolver.cpp:104: solve()]

Remember, this is with a PETSc that does not use the Fortran BLAS libs, but
uses a downloaded c-blas-lapack. I haven't figured out what that actually
means, but it does seem to have a profound impact on the sw stack.

Let me rebuild with a PETSc that uses the Fortran BLAS and see what I get:
................
Arggggh, boogers, now I get the same error message with that version as
well..... so my comment above is not proven yet. I need to figure out what
all these messages imply and how to root cause them. Anyone have experience
with that?

Theo

P.S. I see that the build process is moving further away from what is
customary in the Windows world. I need to redo most of the build process
anyway to get it included in a .NET world, so I don't know yet if this is
problematic, but tricks like `dolfin-config --cflags` are just not very
Windows friendly, nor are lots of shell scripted conditionals or pre and
post build file moves like the "make install" target.

  I am a big fan of the jam/bjam cross platform build tools, mostly because
I think Perforce and BOOST are well done, and these tools are very light
weight and comprehend the windows world natively. Something that autoconf
just doesn't. So for now, I'll hold of judgment until I get more familiar
with the environment.

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]
On Behalf Of Anders Logg
Sent: Monday, December 19, 2005 5:26 PM
To: Garth N. Wells; Discussion of FEniCS development
Subject: Re: [fenics-dev] two questions

> > > Setting up PETSc GMRES solver: (rtol, atol, dtol, maxiter) = (1.0e-05,
1.0e-50,
> > > into single precision mode and the atol=1.0e-50 doesn't stand a
change.

/Anders

---

From: Anders Logg <[email-masked]>
Date: Tue, 20 Dec 2005 08:50:39 -0600

> means, but it does seem to have a profound impact on the sw stack.

I also use the C versions so that shouldn't matter.

Can you check if you solve the correct system by printing out the
matrix and the vector? (A.disp(); b.disp();) That would show if the
problem is in building the system or in PETSc (or perhaps calling
PETSc correctly).

Can you run any of the demos in PETSc itself?
 
> Let me rebuild with a PETSc that uses the Fortran BLAS and see what I get:

We modified the build process for DOLFIN 0.5.11 to follow the (Unix)
standard better. Before, we had sort of a home-grown solution, where
the demos could be compiled against the library without needing to
install the library. The new version requires the library to be
installed (make install) to compile the demos. This is the standard
that 99% of all Unix libraries follow: headers installed under
$prefix/include and libraries under $prefix/lib.

Then there is the problem of compiling and linking against a big
modular library consisting of a large number of smaller
libraries. Getting all the libraries -lfoo -lbar etc and in the
correct order can be difficult, especially if the library (in this
case DOLFIN) uses stuff from other libraries (like PETSc). Then these
libraries must also be listed.

To make life easier for a user, the big library must thus communicate
in some way the correct libraries to the user. We do this through the
dolfin-config script, which is automatically generated and installed
during a build of DOLFIN. This may not be a standard approach, but it
is common enough and it's modelled after what GTK and LibXML2 does.

PETSc uses a different approach and forces you to extract the includes
and libs through a Makefiles:

PETSC_CFLAGS=`make -s -C $PETSC_DIR getincludedirs PETSC_DIR=$PETSC_DIR`
PETSC_LIBS=`make -s -C $PETSC_DIR getlinklibs PETSC_DIR=$PETSC_DIR`

So, I wouldn't say dolfin-config is a trick. It's something I consider
to be close to standard and it's there to help the user. If you can
get your programs to compile in another way, you don't have to use it.

/Anders

---

From: "Theodore Omtzigt" <[email-masked]>
Date: Tue, 20 Dec 2005 08:13:49 -0800

Correction of my previous email: 

The Fortran blas version does converge (driver error on my part. Make
clean/make demo didn't rebuild the demos and I should have notices that). 

So I have the following situation:

Poisson + fenics-0.5.11 + petsc-nompi-nofc -> failure to converge
Poisson + fenics-0.5.11 + petsc-nompi      -> converges

I'll add the dump commands to see if I can root cause this.

Theo

---

From: "Theodore Omtzigt" <[email-masked]>
Date: Tue, 20 Dec 2005 08:40:35 -0800

Point taken. I will look at the GTK build process and see how they do native
Windows builds and hope to learn how they solve this problem of having one
build process for both Linux and Windows.

Personally, I like the build process to be explicit so that I can quickly
get a sense how the software is build, by whom, and for what reason. For any
size library or application this implies that the source is organized so
that it simplifies the build process. However, I see your problem with
mixing two complex libraries and somehow making it work. I haven't been part
of an organization where build process wasn't an issue, and it is always a
problem of divergent requirements. I would love to build this stuff natively
on Windows, so I am biased in the Windows direction. I figured I notch you a
bit now since it would be easier to fix early in the process instead of two
years from now when the environment is 200k LOC.

Another cool idea is to start using automated build systems like Cruise
Control, a bug tracker like JIRA (http://www.atlassian.com/software/jira/)
and a Wiki like Confluence (http://www.atlassian.com/software/confluence).
This is all stuff I can do for FEniCS since I can't do squad yet on the FEA
side and you guys shouldn't be side tracked by this peripheral stuff.

Theo

/Anders

---

From: Anders Logg <[email-masked]>
Date: Tue, 20 Dec 2005 14:19:03 -0600

> side and you guys shouldn't be side tracked by this peripheral stuff.

Matt Knepley has a new Python-based build system called BuildSystem
which is used by PETSc. I have promised that I will try it out some
day (when I find the time and documentation).

Until then, DOLFIN uses autotools which works pretty well (for DOLFIN)
and is GNU standard.

/Anders