Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when dotting gradient of error #27

Open
amartinhuertas opened this issue May 7, 2023 · 0 comments
Open

Error when dotting gradient of error #27

amartinhuertas opened this issue May 7, 2023 · 0 comments

Comments

@amartinhuertas
Copy link
Member

Documents an error that I have found along with an associated MWE.

Not urgent, I found a work-around.

As of now, I don't fully understand what might be missing. Thus not sure if the solution has to be applied in GridapSolvers.jl or somewhere else.

The MWE is as follows:

using MPI
using Gridap
using Gridap.FESpaces
using GridapDistributed
using PartitionedArrays
using GridapP4est

using GridapSolvers
using GridapSolvers.MultilevelTools

u(x) = x[1]+x[2]

function get_model(model)
    if (isa(model,GridapDistributed.GenericDistributedDiscreteModel))
      return model.models.part
    else
      return model.dmodel.models.part
    end
end 

function main(parts,num_parts_x_level)
  GridapP4est.with(parts) do
    # Start from coarse, refine models
    domain       = (0,1,0,1)
    num_levels   = length(num_parts_x_level)
    cparts       = generate_subparts(parts,num_parts_x_level[num_levels])
    cmodel       = CartesianDiscreteModel(domain,(2,2))
    coarse_model = OctreeDistributedDiscreteModel(cparts,cmodel,2)
    mh = ModelHierarchy(parts,coarse_model,num_parts_x_level)

    reffe  = ReferenceFE(lagrangian,Float64,1)
    tests  = TestFESpace(mh,reffe,conformity=:H1)
    trials = TrialFESpace(tests,u)
  
    model=get_model(mh.levels[1].model)
    V0 = tests[1].fe_space.spaces.part
    Ug = trials[1].fe_space.spaces.part
    Ω = Triangulation(model)
    dΩ = Measure(Ω, 2)
    uh=FEFunction(Ug,rand(num_free_dofs(Ug)))
    eh=uh-u
    ((u)-(uh))((u)-(uh)) # Works ok 
    (eh)(eh)               # Fails for num_levels>1
  end
end

# WORKS OK 
num_parts_x_level = [1]
ranks = num_parts_x_level[1]
with_backend(main,MPIBackend(),ranks,num_parts_x_level)

# GENERATES ERROR 
# ERROR: This function belongs to an interface definition and cannot be used
# I would say the source of the difference to be related to the types of the data structures in the first 
# level of the hierarchy versus those of the unique level
num_parts_x_level = [1,1] # Procs in each refinement level
ranks = num_parts_x_level[1,1]
with_backend(main,MPIBackend(),ranks,num_parts_x_level)

MPI.Finalize()

and the error

ERROR: This function belongs to an interface definition and cannot be used.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] macro expansion
    @ ~/.julia/packages/Gridap/971dU/src/Helpers/Macros.jl:9 [inlined]
  [3] evaluate!(cache::Nothing, f::Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, x::VectorValue{2, Float64})
    @ Gridap.Fields ~/.julia/packages/Gridap/971dU/src/Fields/FieldsInterfaces.jl:129
  [4] evaluate(f::Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, x::VectorValue{2, Float64})
    @ Gridap.Arrays ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:87
  [5] return_value(f::Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, x::VectorValue{2, Float64})
    @ Gridap.Fields ~/.julia/packages/Gridap/971dU/src/Fields/FieldsInterfaces.jl:127
  [6] return_type(f::Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, x::VectorValue{2, Float64})
    @ Gridap.Arrays ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:62
  [7] return_cache(f::Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, x::Vector{VectorValue{2, Float64}})
    @ Gridap.Fields ~/.julia/packages/Gridap/971dU/src/Fields/FieldsInterfaces.jl:141
  [8] evaluate(f::Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, x::Vector{VectorValue{2, Float64}})
    @ Gridap.Arrays ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:86
  [9] evaluate!(::Nothing, ::Function, ::Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, ::Vector{VectorValue{2, Float64}})
    @ Gridap.Arrays ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:93
 [10] evaluate
    @ ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:87 [inlined]
 [11] return_value
    @ ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:64 [inlined]
 [12] return_type
    @ ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:62 [inlined]
 [13] lazy_map(::Function, ::Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(gradient), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Arrays.inverse_map), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}}, ::Gridap.Arrays.LazyArray{FillArrays.Fill{Gridap.Fields.LinearCombinationMap{Colon}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Matrix{Float64}, 1, Vector{Matrix{Float64}}, Vector{Int64}}}})
    @ Gridap.Arrays ~/.julia/packages/Gridap/971dU/src/Arrays/LazyArrays.jl:57
 [14] (::Gridap.Fields.var"#44#45"{Gridap.Arrays.LazyArray{FillArrays.Fill{Gridap.Fields.LinearCombinationMap{Colon}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Matrix{Float64}, 1, Vector{Matrix{Float64}}, Vector{Int64}}}}})(fi::Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(gradient), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Arrays.inverse_map), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}})
    @ Gridap.Fields ~/.julia/packages/Gridap/971dU/src/Fields/ApplyOptimizations.jl:90
 [15] map
    @ ./tuple.jl:222 [inlined]
 [16] lazy_map(#unused#::typeof(evaluate), a::Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Operation{typeof(dot)}}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, Gridap.Fields.OperationField{Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}, Tuple{Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(gradient), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Arrays.inverse_map), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{typeof(∘)}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}, Tuple{Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Operation{typeof(dot)}}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Vector{Int64}}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{typeof(∘)}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, 1, Tuple{FillArrays.Fill{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Arrays.inverse_map), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}}}}, x::Gridap.Arrays.LazyArray{FillArrays.Fill{Gridap.Fields.LinearCombinationMap{Colon}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Matrix{Float64}, 1, Vector{Matrix{Float64}}, Vector{Int64}}}})
    @ Gridap.Fields ~/.julia/packages/Gridap/971dU/src/Fields/ApplyOptimizations.jl:90
 [17] lazy_map(#unused#::typeof(evaluate), a::Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{typeof(∘)}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, Gridap.Fields.OperationField{Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}, Tuple{Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Operation{typeof(dot)}}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, Gridap.Fields.OperationField{Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}, Tuple{Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(gradient), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.FieldGradient{1, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Arrays.inverse_map), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{typeof(∘)}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}, Tuple{Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Operation{typeof(dot)}}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{typeof(dot), Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Fields.FieldGradientArray{1, Gridap.Polynomials.MonomialBasis{2, Float64}, Gridap.Fields.FieldGradient{1, Gridap.Polynomials.Monomial}, 1}}}, Vector{Int64}}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{typeof(∘)}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.OperationField{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, Tuple{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}}, 1, Tuple{FillArrays.Fill{Gridap.Fields.FieldGradient{1, Gridap.Fields.GenericField{typeof(u)}}, 1, Tuple{Base.OneTo{Int64}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Arrays.inverse_map), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.InverseField{Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}}}}}, Gridap.Arrays.LazyArray{FillArrays.Fill{typeof(Gridap.Fields.linear_combination), 1, Tuple{Base.OneTo{Int64}}}, Gridap.Fields.LinearCombinationField{Vector{VectorValue{2, Float64}}, Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, 1, Tuple{Gridap.Arrays.LazyArray{FillArrays.Fill{Broadcasting{Reindex{Vector{VectorValue{2, Float64}}}}, 1, Tuple{Base.OneTo{Int64}}}, Vector{VectorValue{2, Float64}}, 1, Tuple{Gridap.Arrays.Table{Int64, Vector{Int64}, Vector{Int32}}}}, Gridap.Arrays.CompressedArray{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}, 1, Vector{Gridap.Fields.LinearCombinationFieldVector{Matrix{Float64}, Gridap.Polynomials.MonomialBasis{2, Float64}}}, Vector{Int64}}}}}}, x::Gridap.Arrays.CompressedArray{Vector{VectorValue{2, Float64}}, 1, Vector{Vector{VectorValue{2, Float64}}}, Vector{Int8}})
    @ Gridap.Fields ~/.julia/packages/Gridap/971dU/src/Fields/ApplyOptimizations.jl:63
 ....
....
 [33] _operate_cellfields(::Operation{typeof(dot)}, ::Gridap.CellData.GenericCellField{ReferenceDomain}, ::Vararg{Gridap.CellData.GenericCellField{ReferenceDomain}})
    @ Gridap.CellData ~/.julia/packages/Gridap/971dU/src/CellData/CellFields.jl:542
 [34] evaluate!
    @ ~/.julia/packages/Gridap/971dU/src/CellData/CellFields.jl:435 [inlined]
 [35] evaluate
    @ ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:87 [inlined]
 [36] Map
    @ ~/.julia/packages/Gridap/971dU/src/Arrays/Maps.jl:90 [inlined]
 [37] dot(a::Gridap.CellData.GenericCellField{ReferenceDomain}, b::Gridap.CellData.GenericCellField{ReferenceDomain})
    @ Gridap.CellData ~/.julia/packages/Gridap/971dU/src/CellData/CellFields.jl:622
 [38] (::var"#5#6"{MPIData{Int64, 1}, Vector{Int64}})()
    @ Main ~/git-repos/GridapSolvers.jl/test/mpi/TmpTests.jl:43
 [39] #with#2
    @ ~/.julia/packages/GridapP4est/pYzjB/src/Environment.jl:41 [inlined]
 [40] with
    @ ~/.julia/packages/GridapP4est/pYzjB/src/Environment.jl:39 [inlined]
 [41] main(parts::MPIData{Int64, 1}, num_parts_x_level::Vector{Int64})
    @ Main ~/git-repos/GridapSolvers.jl/test/mpi/TmpTests.jl:22
 [42] with_backend(driver::typeof(main), b::MPIBackend, nparts::Int64, args::Vector{Int64}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ PartitionedArrays ~/.julia/packages/PartitionedArrays/mKknH/src/MPIBackend.jl:95
 [43] with_backend(driver::Function, b::MPIBackend, nparts::Int64, args::Vector{Int64})
    @ PartitionedArrays ~/.julia/packages/PartitionedArrays/mKknH/src/MPIBackend.jl:89
 [44] top-level scope
    @ ~/git-repos/GridapSolvers.jl/test/mpi/TmpTests.jl:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant