Ah thanks - that produces an answer. However I want the boundary conditions to 
be on [0,1]^2. I tried

> dd = (domain(Fun(identity,[0.0,1.0])))^2


> u = [dirichlet(dd),lap(dd)]\[f1,f2,f3,f4]


but this gives me

> julia> u = [dirichlet(dd),lap(dd)]\[f1,f2,f3,f4]
> WARNING: [a,b] concatenation is deprecated; use [a;b] instead
>  in depwarn at 
> /Applications/Julia-0.4.0-dev-5587ca352f.app/Contents/Resources/julia/lib/julia/sys.dylib
>  in oldstyle_vcat_warning at 
> /Applications/Julia-0.4.0-dev-5587ca352f.app/Contents/Resources/julia/lib/julia/sys.dylib
>  in vect at abstractarray.jl:35
> ERROR: AssertionError: domainscompatible(a,b)
>  in conversion_rule at 
> /Users/dom/.julia/v0.4/ApproxFun/src/Spaces/Ultraspherical/UltrasphericalOperators.jl:313
>  in conversion_type at 
> /Users/dom/.julia/v0.4/ApproxFun/src/Fun/FunctionSpace.jl:146
>  in coefficients at 
> /Users/dom/.julia/v0.4/ApproxFun/src/Fun/FunctionSpace.jl:233
>  in * at /Users/dom/.julia/v0.4/ApproxFun/src/Operators/algebra.jl:398
>  in cont_reduce_dofs! at 
> /Users/dom/.julia/v0.4/ApproxFun/src/PDE/cont_lyap.jl:20
>  in cont_reduce_dofs! at 
> /Users/dom/.julia/v0.4/ApproxFun/src/PDE/cont_lyap.jl:64
>  in cont_constrained_lyap at 
> /Users/dom/.julia/v0.4/ApproxFun/src/PDE/cont_lyap.jl:297
>  in pdesolve at /Users/dom/.julia/v0.4/ApproxFun/src/PDE/pdesolve.jl:127
>  in pdesolve at /Users/dom/.julia/v0.4/ApproxFun/src/PDE/pdesolve.jl:126
>  in pdesolve at /Users/dom/.julia/v0.4/ApproxFun/src/PDE/pdesolve.jl:101
>  in \ at /Users/dom/.julia/v0.4/ApproxFun/src/PDE/pdesolve.jl:138


I am not clear which domains are incompatible.

Dominic Steinitz
[email protected]
http://idontgetoutmuch.wordpress.com

On 22 Mar 2015, at 02:25, Sheehan Olver <[email protected]> wrote:

> 
> It's expanding f1-f4 as bivariate functions on [-1,1]^2, but instead you want 
> to expand them as univariate functions on [-1,1]:
> 
> d = Interval()^2
> 
> f1 = Fun(x->0)
> f2 = Fun(x->1 / ((1 + x)^2 + 1))
> f3 = Fun(y->y / (1 + y^2))
> f4 = Fun(y->y / (4 + y^2))
> 
> u = [dirichlet(d),lap(d)]\[f1,f2,f3,f4]
> 
> 
> 
> On Sunday, March 22, 2015 at 8:02:45 AM UTC+11, idontgetoutmuch wrote:
> 
> 
> I am trying to solve Laplace's equation using ApproxFun with the following 
> boundary conditions
> 
> {
> \phi(x, 0) &= 0 \\
> \phi(x, 1) &= \frac{1}{(1 + x)^2 + 1} \\
> \phi(0, y) &= \frac{y}{1 + y^2} \\
> \phi(1, y) &= \frac{y}{4 + y^2}
> \end{aligned}
> }
> 
> I'm not clear how to express these. I've tried
> 
> {
> d = Interval()^2
> 
> f1 = Fun((x,y)->0)
> f2 = Fun((x,y)->1 / ((1 + x)^2 + 1))
> f3 = Fun((x,y)->y / (1 + y^2))
> f4 = Fun((x,y)->y / (4 + y^2))
> 
> u = [dirichlet(d),lap(d)]\[f1,f2,f3,f4]
> }
> 
> and
> 
> {
> u = [dirichlet(d),lap(d)]\[zeros(1),f2,f3,f4]
> }
> 
> but in both cases I get errors (which I can attach).
> 
> I can see ldirichlet and rdirichlet exist but I need to specify the top and 
> bottom as well.

Reply via email to