Hi Garth,

We made a test script based on the Nonlinear Poisson tutorial, and it's 
attached in this email. 

Currently, the script works fine on a local machine either on a single core, or 
in parallel through MPI. It also works on a single core on the cluster, but 
fails with mpirun. it comes with the following error message:

<quote>
*** Error:   Unable to creating uBLASVector.
*** Reason:  Distributed uBLASVector is not supported.
*** Where:   This error was encountered inside uBLASVector.cpp.
*** Process: unknown
*** 
*** DOLFIN version: 1.5.0
</quote>

Best regards,
Charlie ZHANG

Ph.D. student
The University of Auckland

________________________________________
From: [email protected] 
[[email protected]] on behalf of Garth N. Wells 
[[email protected]]
Sent: 11 February 2015 23:42
To: Bart Verleye
Cc: [email protected]
Subject: Re: [FEniCS-support] Distributed uBLASVector is not supported.

On Tue, Feb 10, 2015 at 6:40 PM, Bart Verleye <[email protected]> wrote:
> Hi Garth,
>
> Thanks for your reply.
>
> However, according to the output from cmake, and from what I tried to do,
> PETSc is installed with Dolfin:
>

You must be creating a uBLAS object explicitly; if PETSc is enabled it
is the default backend. Post a complete (but simple) code the
reproduces your problem and I can take a look.

Garth

> On 10/02/15 22:12, Garth N. Wells wrote:
>>
>> -- The following optional packages were found:
>> >-- -------------------------------------------
>> >-- (OK) OPENMP
>> >-- (OK) MPI
>> >-- (OK) PETSC
>> >-- (OK) UMFPACK
>> >-- (OK) CHOLMOD
>> >-- (OK) SCOTCH
>> >-- (OK) PARMETIS
>> >-- (OK) ZLIB
>> >-- (OK) PYTHON
>> >-- (OK) VTK
>
> Thanks,
> Bart
>
_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support
from dolfin import *

# Sub domain for Dirichlet boundary condition
class DirichletBoundary(SubDomain):
    def inside(self, x, on_boundary):
        return abs(x[0] - 1.0) < DOLFIN_EPS and on_boundary

# Create mesh and define function space
mesh = UnitSquareMesh(32, 32)

V = FunctionSpace(mesh, "CG", 1)

# Define boundary condition
g = Constant(1.0)
bc = DirichletBC(V, g, DirichletBoundary())

# Define variational problem
u = Function(V)
v = TestFunction(V)
f = Expression("x[0]*sin(x[1])")
F = inner((1 + u**2)*grad(u), grad(v))*dx - f*v*dx

# Compute solution
du   = TrialFunction(V)
J = derivative(F, u, du)
problem = NonlinearVariationalProblem(F, u, bc, J)
solver  = NonlinearVariationalSolver(problem)
# solver.parameters["newton_solver"]["linear_solver"] = "mumps"

solver.solve()

# Plot solution and solution gradient
plot(u, title="Solution")
interactive()

# Save solution in VTK format
file = File("output/nonlinear_poisson.pvd")
file << u
_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to