gridap / Tutorials

Start solving PDEs in Julia with Gridap.jl
MIT License
124 stars 41 forks source link

Issue in running Tutorial 7 - Darcy equation with RT element #150

Closed chennachaos closed 2 years ago

chennachaos commented 2 years ago

Hi, I get the following error when running the Tutorial 7 - Darcy equation with the RT element.

The code snippet and screen out are shown below. The error appears to be at line 16 U = TrialFESpace(V,uD). Please let me know how to fix it. Thanks!

using Gridap
using LineSearches: BackTracking

n = 10
domain = (0,1,0,1)
partition = (n,n)
model = CartesianDiscreteModel(domain,partition)

order = 1

V = FESpace(model, ReferenceFE(raviart_thomas,Float64,order), conformity=:HDiv, dirichlet_tags=[5,6])
Q = FESpace(model, ReferenceFE(lagrangian,Float64,order), conformity=:L2)

uD = VectorValue(0,0,0.0)
U = TrialFESpace(V,uD)
P = TrialFESpace(Q)
chenna@chenna-XPS-15-9510:~/Documents/myCode/julia/gridap$ julia -O1 Darcy.jl 
ERROR: LoadError: This function is not yet implemented
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at /home/chenna/.julia/packages/Gridap/J87be/src/Helpers/Macros.jl:21 [inlined]
 [3] dot(::VectorValue{2,Float64}, ::VectorValue{3,Float64}) at /home/chenna/.julia/packages/Gridap/J87be/src/TensorValues/Operations.jl:146
 [4] _eval_moment_dof_basis!(::Array{Float64,1}, ::Array{VectorValue{3,Float64},1}, ::Gridap.ReferenceFEs.MomentBasedDofBasis{VectorValue{2,Float64},VectorValue{2,Float64}}) at /home/chenna/.julia/packages/Gridap/J87be/src/ReferenceFEs/RaviartThomasRefFEs.jl:343
 [5] evaluate! at /home/chenna/.julia/packages/Gridap/J87be/src/ReferenceFEs/RaviartThomasRefFEs.jl:326 [inlined]
 [6] evaluate(::Gridap.ReferenceFEs.MomentBasedDofBasis{VectorValue{2,Float64},VectorValue{2,Float64}}, ::Gridap.Fields.ConstantField{VectorValue{3,Float64}}) at /home/chenna/.julia/packages/Gridap/J87be/src/Arrays/Maps.jl:87
 [7] evaluate!(::Nothing, ::Function, ::Gridap.ReferenceFEs.MomentBasedDofBasis{VectorValue{2,Float64},VectorValue{2,Float64}}, ::Gridap.Fields.ConstantField{VectorValue{3,Float64}}) at /home/chenna/.julia/packages/Gridap/J87be/src/Arrays/Maps.jl:93
 [8] evaluate at /home/chenna/.julia/packages/Gridap/J87be/src/Arrays/Maps.jl:87 [inlined]
 [9] return_value at /home/chenna/.julia/packages/Gridap/J87be/src/Arrays/Maps.jl:64 [inlined]
 [10] return_type at /home/chenna/.julia/packages/Gridap/J87be/src/Arrays/Maps.jl:62 [inlined]
 [11] lazy_map(::Function, ::Gridap.Arrays.LazyArray{FillArrays.Fill{Gridap.FESpaces.TransformRTDofBasis{2,2},1,Tuple{Base.OneTo{Int64}}},Gridap.ReferenceFEs.MomentBasedDofBasis{VectorValue{2,Float64},VectorValue{2,Float64}},1,Tuple{FillArrays.Fill{Gridap.ReferenceFEs.GenericRefFE{RaviartThomas,2},1,Tuple{Base.OneTo{Int64}}},FillArrays.Fill{Array{TensorValue{2,2,Float64,4},1},1,Tuple{Base.OneTo{Int64}}},Gridap.Arrays.LazyArray{FillArrays.Fill{Gridap.FESpaces.SignFlipMap{CartesianDiscreteModel{2,Float64,typeof(identity)}},1,Tuple{Base.OneTo{Int64}}},Array{Bool,1},1,Tuple{FillArrays.Fill{Gridap.ReferenceFEs.GenericRefFE{RaviartThomas,2},1,Tuple{Base.OneTo{Int64}}},Gridap.Arrays.IdentityVector{Int64}}}}}, ::FillArrays.Fill{Gridap.Fields.ConstantField{VectorValue{3,Float64}},2,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}}) at /home/chenna/.julia/packages/Gridap/J87be/src/Arrays/LazyArrays.jl:57
 [12] evaluate!(::Nothing, ::Gridap.CellData.CellDof{ReferenceDomain}, ::Gridap.CellData.GenericCellField{ReferenceDomain}) at /home/chenna/.julia/packages/Gridap/J87be/src/CellData/CellDofs.jl:56
 [13] evaluate at /home/chenna/.julia/packages/Gridap/J87be/src/Arrays/Maps.jl:87 [inlined]
 [14] (::Gridap.CellData.CellDof{ReferenceDomain})(::Gridap.CellData.GenericCellField{ReferenceDomain}) at /home/chenna/.julia/packages/Gridap/J87be/src/CellData/CellDofs.jl:42
 [15] _cell_vals(::Gridap.FESpaces.UnconstrainedFESpace{Array{Float64,1},Nothing}, ::VectorValue{3,Float64}) at /home/chenna/.julia/packages/Gridap/J87be/src/FESpaces/SingleFieldFESpaces.jl:307
 [16] compute_dirichlet_values_for_tags!(::Array{Float64,1}, ::Array{Float64,1}, ::Gridap.FESpaces.UnconstrainedFESpace{Array{Float64,1},Nothing}, ::VectorValue{3,Float64}) at /home/chenna/.julia/packages/Gridap/J87be/src/FESpaces/SingleFieldFESpaces.jl:361
 [17] compute_dirichlet_values_for_tags(::Gridap.FESpaces.UnconstrainedFESpace{Array{Float64,1},Nothing}, ::VectorValue{3,Float64}) at /home/chenna/.julia/packages/Gridap/J87be/src/FESpaces/SingleFieldFESpaces.jl:350
 [18] TrialFESpace(::Gridap.FESpaces.UnconstrainedFESpace{Array{Float64,1},Nothing}, ::VectorValue{3,Float64}) at /home/chenna/.julia/packages/Gridap/J87be/src/FESpaces/TrialFESpaces.jl:23
 [19] top-level scope at /home/chenna/Documents/myCode/julia/gridap/Darcy.jl:16
 [20] include(::Module, ::String) at ./Base.jl:377
 [21] exec_options(::Base.JLOptions) at ./client.jl:288
 [22] _start() at ./client.jl:484
in expression starting at /home/chenna/Documents/myCode/julia/gridap/Darcy.jl:16
oriolcg commented 2 years ago

Hi @chennachaos , I think the error comes from the fact that you're using a 3D vector for uD

chennachaos commented 2 years ago

Aah, damn! I missed that typo. The entire tutorial works fine now. Thanks a lot, @oriolcg!