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