Subject: [FFC-dev] [HG FFC] Bug fix for tensor representation. All forms now compile, both with

From: [email-masked] (FFC)
Date: Thu, 19 Mar 2009 21:15:00 +0100 (CET)

One or more new changesets pushed to the primary ffc repository.
A short summary of the last three changesets is included below.

changeset:   1445:61a664524bf3543bf3b5719d00a5c1f7e20d1fe9
tag:         tip
user:        Anders Logg <[email-masked]>
date:        Thu Mar 19 21:14:53 2009 +0100
files:       ffc/compiler/codegeneration/tensor/ufltensorgenerator.py ffc/compiler/format/ufcformat.py ffc/compiler/representation/tensor/ufltensorrepresentation.py
description:
Bug fix for tensor representation. All forms now compile, both with
FFC and GCC. The following integrals are currently giving incorrect
results:

Quadrature:

EnergyNormFunctional_cell_integral_0:                         *** (diff = 0.0004636)
EquationLinearForm_cell_integral_0:                           *** (diff = 0.00296852)
FunctionOperatorsBilinearForm_cell_integral_0:                *** (diff = 0.010091)
HeatLinearForm_cell_integral_0:                               *** (diff = 0.0033219)
MassBilinearForm_cell_integral_0:                             *** (diff = 1e-09)
NeumannProblemLinearForm_cell_integral_0:                     *** (diff = 0.0029685)
OptimizationLinearForm_cell_integral_0:                       *** (diff = 0.00170424)
PoissonDGLinearForm_cell_integral_0:                          *** (diff = 0.0029685)
PoissonSystemLinearForm_cell_integral_0:                      *** (diff = 0.0029685)
PoissonLinearForm_cell_integral_0:                            *** (diff = 0.0029685)
QuadratureElementBilinearForm_cell_integral_0:                *** (diff = 0.249892)
QuadratureElementLinearForm_cell_integral_0:                  *** (diff = 0.10106)
StokesLinearForm_cell_integral_0:                             *** (diff = 0.00140453)
VectorLaplaceGradCurlLinearForm_cell_integral_0:              *** (diff = 0.00206928)

Tensor:

ElasticityBilinearForm_cell_integral_0:                   *** (diff = 0.482675)
EquationBilinearForm_cell_integral_0:                     *** (diff = 0.757096)
EquationLinearForm_cell_integral_0:                       *** (diff = 0.332041)
MixedPoissonBilinearForm_cell_integral_0:                 *** (diff = 1.23)
StokesBilinearForm_cell_integral_0:                       *** (diff = 0.286666)
SubDomainsBilinearForm_cell_integral_1:                   *** (diff = 0.024654)
VectorLaplaceGradCurlBilinearForm_cell_integral_0:        *** (diff = 3.44101)
VectorLaplaceGradCurlLinearForm_cell_integral_0:          *** (diff = 0.00226017)

changeset:   1444:a9d8b074951c1f6539240e147cc0db0c9b3b3830
user:        Anders Logg <[email-masked]>
date:        Thu Mar 19 20:38:47 2009 +0100
files:       ffc/compiler/representation/tensor/uflmonomialintegration.py test/simple_verify_tensors/test.py
description:
Add list of forms for which tensor representation is not expected to
work for new UFL-based tensor representation:

  FunctionOperators
  QuadratureElement
  TensorWeightedPoisson

All forms that should now compile with tensor representation but
some generated code still won't compile with GCC or give correct
results.

changeset:   1443:bfe5c22cbcc42975ef07305b4d631c69922c9393
user:        Anders Logg <[email-masked]>
date:        Thu Mar 19 20:06:39 2009 +0100
files:       ffc/compiler/codegeneration/tensor/tensorgenerator.py ffc/compiler/codegeneration/tensor/ufltensorgenerator.py ffc/compiler/representation/tensor/monomialintegration.py ffc/compiler/representation/tensor/monomialtransformation.py ffc/compiler/representation/tensor/multiindex.py ffc/compiler/representation/tensor/referencetensor.py ffc/compiler/representation/tensor/uflgeometrytensor.py ffc/compiler/representation/tensor/uflmonomialintegration.py ffc/compiler/representation/tensor/uflreferencetensor.py ffc/compiler/representation/tensor/ufltensorrepresentation.py test/simple_verify_tensors/test.py
description:
Work on getting tensor representation and code generation working.
Starting to look better:

Results for quadrature representation
-------------------------------------

ConstantBilinearForm_cell_integral_0_quadrature:              missing reference
ConstantBilinearForm_cell_integral_0:                         OK
ConstantLinearForm_cell_integral_0_quadrature:                missing reference
ConstantLinearForm_cell_integral_0:                           OK
ElasticityBilinearForm_cell_integral_0_quadrature:            missing reference
ElasticityBilinearForm_cell_integral_0:                       OK
EnergyNormFunctional_cell_integral_0_quadrature:              missing reference
EnergyNormFunctional_cell_integral_0:                         *** (diff = 0.0004636)
EquationBilinearForm_cell_integral_0_quadrature:              missing reference
EquationBilinearForm_cell_integral_0:                         OK
EquationLinearForm_cell_integral_0_quadrature:                missing reference
EquationLinearForm_cell_integral_0:                           *** (diff = 0.00296852)
FunctionOperatorsBilinearForm_cell_integral_0_quadrature:     missing reference
FunctionOperatorsBilinearForm_cell_integral_0:                *** (diff = 0.010091)
HeatBilinearForm_cell_integral_0_quadrature:                  missing reference
HeatBilinearForm_cell_integral_0:                             OK
HeatLinearForm_cell_integral_0_quadrature:                    missing reference
HeatLinearForm_cell_integral_0:                               *** (diff = 0.0033219)
MassBilinearForm_cell_integral_0_quadrature:                  missing reference
MassBilinearForm_cell_integral_0:                             *** (diff = 1e-09)
MixedPoissonBilinearForm_cell_integral_0_quadrature:          missing reference
MixedPoissonBilinearForm_cell_integral_0:                     OK
MixedPoissonLinearForm_cell_integral_0_quadrature:            missing reference
MixedPoissonLinearForm_cell_integral_0:                       OK
NavierStokesBilinearForm_cell_integral_0_quadrature:          missing reference
NavierStokesBilinearForm_cell_integral_0:                     OK
NeumannProblemBilinearForm_cell_integral_0_quadrature:        missing reference
NeumannProblemBilinearForm_cell_integral_0:                   OK
NeumannProblemLinearForm_cell_integral_0_quadrature:          missing reference
NeumannProblemLinearForm_cell_integral_0:                     *** (diff = 0.0029685)
OptimizationBilinearForm_cell_integral_0_quadrature:          missing reference
OptimizationBilinearForm_cell_integral_0:                     OK
OptimizationLinearForm_cell_integral_0_quadrature:            missing reference
OptimizationLinearForm_cell_integral_0:                       *** (diff = 0.00170424)
PoissonDGBilinearForm_cell_integral_0_quadrature:             missing reference
PoissonDGBilinearForm_cell_integral_0:                        OK
PoissonDGLinearForm_cell_integral_0_quadrature:               missing reference
PoissonDGLinearForm_cell_integral_0:                          *** (diff = 0.0029685)
PoissonSystemBilinearForm_cell_integral_0_quadrature:         missing reference
PoissonSystemBilinearForm_cell_integral_0:                    OK
PoissonSystemLinearForm_cell_integral_0_quadrature:           missing reference
PoissonSystemLinearForm_cell_integral_0:                      *** (diff = 0.0029685)
PoissonBilinearForm_cell_integral_0_quadrature:               missing reference
PoissonBilinearForm_cell_integral_0:                          OK
PoissonLinearForm_cell_integral_0_quadrature:                 missing reference
PoissonLinearForm_cell_integral_0:                            *** (diff = 0.0029685)
QuadratureElementBilinearForm_cell_integral_0_quadrature:     missing reference
QuadratureElementBilinearForm_cell_integral_0:                *** (diff = 0.249892)
QuadratureElementLinearForm_cell_integral_0_quadrature:       missing reference
QuadratureElementLinearForm_cell_integral_0:                  *** (diff = 0.10106)
StokesBilinearForm_cell_integral_0_quadrature:                missing reference
StokesBilinearForm_cell_integral_0:                           OK
StokesLinearForm_cell_integral_0_quadrature:                  missing reference
StokesLinearForm_cell_integral_0:                             *** (diff = 0.00140453)
SubDomainsBilinearForm_cell_integral_0_quadrature:            missing reference
SubDomainsBilinearForm_cell_integral_0:                       OK
SubDomainsBilinearForm_cell_integral_1_quadrature:            missing reference
SubDomainsBilinearForm_cell_integral_1:                       OK
SubDomainFunctional_cell_integral_0:                          OK
TensorWeightedPoissonBilinearForm_cell_integral_0_quadrature: missing reference
TensorWeightedPoissonBilinearForm_cell_integral_0:            OK
testLinearForm_cell_integral_0_quadrature:                    missing reference
testLinearForm_cell_integral_0:                               *** (diff = 0.278461)
VectorLaplaceGradCurlBilinearForm_cell_integral_0_quadrature: missing reference
VectorLaplaceGradCurlBilinearForm_cell_integral_0:            OK
VectorLaplaceGradCurlLinearForm_cell_integral_0_quadrature:   missing reference
VectorLaplaceGradCurlLinearForm_cell_integral_0:              *** (diff = 0.00206928)

Results for tensor representation
---------------------------------

ConstantBilinearForm_cell_integral_0_tensor:                  missing reference
ConstantBilinearForm_cell_integral_0:                         OK
ConstantLinearForm_cell_integral_0_tensor:                    missing reference
ConstantLinearForm_cell_integral_0:                           OK
ElasticityBilinearForm_cell_integral_0_tensor:                GCC compilation failed
ElasticityBilinearForm_cell_integral_0:                       GCC compilation failed
EnergyNormFunctional_cell_integral_0_tensor:                  GCC compilation failed
EnergyNormFunctional_cell_integral_0:                         GCC compilation failed
EquationBilinearForm_cell_integral_0_tensor:                  missing reference
EquationBilinearForm_cell_integral_0:                         *** (diff = 0.757096)
EquationLinearForm_cell_integral_0_tensor:                    missing reference
EquationLinearForm_cell_integral_0:                           *** (diff = 0.332041)
FunctionOperatorsBilinearForm_cell_integral_0_quadrature:     FFC compilation failed
FunctionOperatorsBilinearForm_cell_integral_0:                FFC compilation failed
HeatBilinearForm_cell_integral_0_tensor:                      missing reference
HeatBilinearForm_cell_integral_0:                             OK
HeatLinearForm_cell_integral_0_tensor:                        missing reference
HeatLinearForm_cell_integral_0:                               OK
MassBilinearForm_cell_integral_0_tensor:                      missing reference
MassBilinearForm_cell_integral_0:                             *** (diff = 0.00030279)
MixedPoissonBilinearForm_cell_integral_0_tensor:              missing reference
MixedPoissonBilinearForm_cell_integral_0:                     *** (diff = 1.23)
MixedPoissonLinearForm_cell_integral_0_tensor:                missing reference
MixedPoissonLinearForm_cell_integral_0:                       OK
NavierStokesBilinearForm_cell_integral_0_tensor:              GCC compilation failed
NavierStokesBilinearForm_cell_integral_0:                     GCC compilation failed
NeumannProblemBilinearForm_cell_integral_0_tensor:            missing reference
NeumannProblemBilinearForm_cell_integral_0:                   OK
NeumannProblemLinearForm_cell_integral_0_tensor:              missing reference
NeumannProblemLinearForm_cell_integral_0:                     OK
OptimizationBilinearForm_cell_integral_0_tensor:              missing reference
OptimizationBilinearForm_cell_integral_0:                     OK
OptimizationLinearForm_cell_integral_0_tensor:                missing reference
OptimizationLinearForm_cell_integral_0:                       OK
PoissonDGBilinearForm_cell_integral_0_tensor:                 missing reference
PoissonDGBilinearForm_cell_integral_0:                        OK
PoissonDGLinearForm_cell_integral_0_tensor:                   missing reference
PoissonDGLinearForm_cell_integral_0:                          OK
PoissonSystemBilinearForm_cell_integral_0_tensor:             missing reference
PoissonSystemBilinearForm_cell_integral_0:                    OK
PoissonSystemLinearForm_cell_integral_0_tensor:               missing reference
PoissonSystemLinearForm_cell_integral_0:                      OK
PoissonBilinearForm_cell_integral_0_tensor:                   missing reference
PoissonBilinearForm_cell_integral_0:                          OK
PoissonLinearForm_cell_integral_0_tensor:                     missing reference
PoissonLinearForm_cell_integral_0:                            OK
QuadratureElementBilinearForm_cell_integral_0_quadrature:     FFC compilation failed
QuadratureElementBilinearForm_cell_integral_0:                FFC compilation failed
QuadratureElementLinearForm_cell_integral_0_quadrature:       FFC compilation failed
QuadratureElementLinearForm_cell_integral_0:                  FFC compilation failed
StokesBilinearForm_cell_integral_0_tensor:                    missing reference
StokesBilinearForm_cell_integral_0:                           *** (diff = 0.286666)
StokesLinearForm_cell_integral_0_tensor:                      missing reference
StokesLinearForm_cell_integral_0:                             OK
SubDomainsBilinearForm_cell_integral_0_tensor:                missing reference
SubDomainsBilinearForm_cell_integral_0:                       *** (diff = 0.000314)
SubDomainsBilinearForm_cell_integral_1_tensor:                missing reference
SubDomainsBilinearForm_cell_integral_1:                       *** (diff = 0.02434)
SubDomainFunctional_cell_integral_0:                          OK
TensorWeightedPoissonBilinearForm_cell_integral_0_quadrature: FFC compilation failed
TensorWeightedPoissonBilinearForm_cell_integral_0:            FFC compilation failed
testLinearForm_cell_integral_0_tensor:                        missing reference
testLinearForm_cell_integral_0:                               *** (diff = 0.278461)
VectorLaplaceGradCurlBilinearForm_cell_integral_0_tensor:     GCC compilation failed
VectorLaplaceGradCurlBilinearForm_cell_integral_0:            GCC compilation failed
VectorLaplaceGradCurlLinearForm_cell_integral_0_tensor:       GCC compilation failed
VectorLaplaceGradCurlLinearForm_cell_integral_0:              GCC compilation failed

*** Compilation failed for 18 integrals. See 'error.log' for details.
*** References missing for 57 integrals. Remove 'reference.pickle' and run again to update.
*** Results differ for 23 integrals.

----------------------------------------------------------------------
For more details, visit http://www.fenics.org/hg/ffc