On 16 February 2010 13:48, Garth N. Wells <gn...@cam.ac.uk> wrote:
Kristian Oelgaard wrote:On 16 February 2010 13:26, Garth N. Wells <gn...@cam.ac.uk> wrote:Garth N. Wells wrote:Garth N. Wells wrote:This change broke my solver :(.I managed to fix the first bug, but now with optimisation on I get: File "/usr/local/lib/python2.6/dist-packages/ffc/quadrature/quadraturegenerator.py", line 210, in _generate_element_tensor integral_code, ops = _generate_integral_code(points, terms, sets, optimise_parameters) File "/usr/local/lib/python2.6/dist-packages/ffc/quadrature/quadraturegenerator.py", line 344, in _generate_integral_code "Linear forms must be defined using test functions only: " + repr(key)) File "/usr/local/lib/python2.6/dist-packages/ffc/log.py", line 32, in ffc_assert condition or error(*message) File "<string>", line 1, in <lambda> File "/usr/local/lib/python2.6/dist-packages/ufl/log.py", line 124, in error raise UFLException(self._format_raw(*message)) ufl.log.UFLException: Linear forms must be defined using test functions only: (1, '7', 1, 16)What does your form look like?Problem is when taking the adjoint of a problem with interior facet integrals. See form below.
Should be fixed now. Kristian
Garth BDM = FiniteElement("Brezzi-Douglas-Marini", triangle, 1) DG = FiniteElement("Discontinuous Lagrange", triangle, 0) ME = MixedElement([BDM, DG, DG]) V = TestFunction(ME) dU = TrialFunction(ME) U = Coefficient(ME) U0 = Coefficient(ME) pbar = Coefficient(DG) sbar = Coefficient(DG) dt = Coefficient(DG) mu_rel = Coefficient(DG) v, q, r = split(V) u, p, s = split(U) u0, p0, s0 = split(U0) s_mid = 0.5*(s0 + s) n = triangle.n #kinv = Expression("1.0/std::max(exp(-pow((x[1] - 0.5 - 0.1*sin(10*x[0]))/0.1, 2.0)), 0.01)") #zero = Expression("0.0") #Kinv = as_matrix(((kinv, zero), (zero, kinv))) # Total mobility def lmbdainv(s): return 1.0/((1.0/mu_rel)*s**2 + (1.0 - s)**2) # Fractional flow function def F(s): return s**2/(s**2 + mu_rel*(1.0 - s)**2) L1 = inner(v, s_mid*u)*dx - div(v)*p*dx \ + inner(v, pbar*n)*ds L2 = q*div(u)*dx # Upwind normal velocity: (inner(v, n) + |inner(v, n)|)/2.0 # (using velocity from previous step on facets) un = 0.5*(inner(u0, n) + sqrt(inner(u0, n)*inner(u0, n))) un_h = 0.5*(inner(u0, n) - sqrt(inner(u0, n)*inner(u0, n))) stabilisation = dt('+')*inner(jump(r), un('+')*F(s_mid)('+') - un('-')*F(s_mid)('-'))*dS \ + dt*r*un_h*sbar*ds L3 = r*(s - s0)*dx - dt*inner(grad(r), F(s_mid)*u)*dx \ + dt*r*F(s_mid)*un*ds + stabilisation # Total L L = L1 + L2 + L3 # Jacobian a_p = derivative(L, U, dU) a = adjoint(a_p)GarthHard to say what it is because I just get the Python/SWIG errorHere's how to reproduce the error: ffc -l dolfin -O -r quadrature --debug MixedPoisson.ufl Is this not in the test cases?The form is in the test cases, but unlike what we had before, forms are only compile with one set of parameters. I think this is a flaw in the design of the regression tests. KristianGarthException: Swig director method error. Error detected when calling 'NonlinearProblem.J' Garth -------- Original Message -------- Subject: [Branch ~ffc-core/ffc/main] Rev 1423: merge Date: Mon, 15 Feb 2010 19:34:25 -0000 From: nore...@launchpad.net Reply-To: nore...@launchpad.net To: Garth Wells <gn...@cam.ac.uk> Merge authors: Anders Logg (logg) Marie Rognes (meg-simula) ------------------------------------------------------------ revno: 1423 [merge] committer: Kristian B. Ølgaard <k.b.oelga...@gmail.com> branch nick: ffc timestamp: Mon 2010-02-15 19:52:37 +0100 message: merge added: test/regression/references/test.h modified: ChangeLog ffc/analysis.py ffc/constants.py ffc/cpp.py ffc/formatting.py ffc/jitcompiler.py ffc/log.py ffc/tensor/monomialtransformation.py ffc/tensor/tensorgenerator.py ffc/tensor/tensoroptimization.py ffc/tensor/tensorreordering.py ffc/tensor/tensorrepresentation.py ffc/utils.py release.conf setup.py test/regression/references/Biharmonic.h test/regression/references/Biharmonic.out test/regression/references/Constant.h test/regression/references/Constant.out test/regression/references/Elasticity.h test/regression/references/ElementRestriction.h test/regression/references/EnergyNorm.h test/regression/references/Equation.h test/regression/references/FacetIntegrals.h test/regression/references/FacetIntegrals.out test/regression/references/FunctionOperators.h test/regression/references/Heat.h test/regression/references/Heat.out test/regression/references/HyperElasticity.h test/regression/references/Mass.h test/regression/references/Mass.out test/regression/references/MetaData.h test/regression/references/MixedMixedElement.h test/regression/references/MixedMixedElement.out test/regression/references/MixedPoisson.h test/regression/references/MixedPoisson.out test/regression/references/NavierStokes.h test/regression/references/NeumannProblem.h test/regression/references/Normals.h test/regression/references/Optimization.h test/regression/references/Optimization.out test/regression/references/P5tet.h test/regression/references/P5tri.h test/regression/references/Poisson.h test/regression/references/PoissonDG.h test/regression/references/PoissonDG.out test/regression/references/PoissonSystem.h test/regression/references/QuadratureElement.h test/regression/references/QuadratureElement.out test/regression/references/ReactionDiffusion.h test/regression/references/StabilisedStokes.h test/regression/references/Stokes.h test/regression/references/SubDomain.h test/regression/references/SubDomains.h test/regression/references/TensorWeightedPoisson.h test/regression/references/TensorWeightedPoisson.out test/regression/references/VectorLaplaceGradCurl.h test/regression/references/VectorPoisson.h test/regression/references/X_Element0.h test/regression/references/X_Element0.out test/regression/test.py The size of the diff (15669 lines) is larger than your specified limit of 1000 lines -- lp:ffc https://code.launchpad.net/~ffc-core/ffc/main Your team FFC Core Team is subscribed to branch lp:ffc. To unsubscribe from this branch go to https://code.launchpad.net/~ffc-core/ffc/main/+edit-subscription. _______________________________________________ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp_______________________________________________ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp_______________________________________________ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~ffc Post to : ffc@lists.launchpad.net Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp