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.
