Parallelization of a concentrated load using GridapDistributed
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- julia
- Ambito
- distributed-systems
Direzione di ricerca
Inizia con l’esempio distribuito local_views(model) e l’asserzione _point_to_cell!(cache, p) segnalata nell’issue, quindi confronta questo percorso con l’implementazione seriale di DiracDelta. Determina perché il punto non viene trovato in una cella locale attiva e documenta o implementa un approccio parallelo supportato per i carichi concentrati, con un esempio riproducibile di elasticità lineare che mostri il completamento.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I'm trying to parallelize a linear elastic problem solver with a concentrated load applied on the middle point of ine boundary. In series code the load is described using DiracDelta function as following:
function DiracDelta(model::DiscreteModel{D}, pvec::Vector{Point{D,T}}) where {D,T}
trian = Triangulation(model)
cell_to_pindices = _cell_to_pindices(pvec,trian)
cell_ids = collect(keys(cell_to_pindices))
cell_points = collect(values(cell_to_pindices))
points = map(i->pvec[cell_points[i]], 1:length(cell_ids))
weights_x_cell = Fill.(one(T),length.(cell_points))
pquad = map(i -> GenericQuadrature(points[i],weights_x_cell[i]), 1:length(cell_ids))
trianv = view(trian,cell_ids)
pmeas = Measure(CellQuadrature(pquad,points,weights_x_cell,trianv,PhysicalDomain(),PhysicalDomain()))
GenericDiracDelta{0,D,NotGridEntity}(trianv,pmeas)
end
Since in parallel mode, the model is a GenericDistributedDiscreteModel() which is not supported in original definition, I tried to write a parallel version of it:
tmp = map(local_views(model)) do model
p = Point(1.0,0.5)
trian = Triangulation(model)
cache = _point_to_cell_cache(KDTreeSearch(),trian)
cell = _point_to_cell!(cache, p)
...
end
Yet the _point_to_cell!(cache,p) throughs an error: ERROR: AssertionError: Point (1.0, 0.5) is not inside any active cell
I'm quite sure that point p is in the grid and the serial code runs well. Any idea how this problem results from? Or is there any other parallel application of a concentrated load on a point or a line?
- Lingua principale
- Julia
- Stelle
- 150
- Fork
- 28
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di gridap/GridapDistributed.jl
-
A generic method of the abstract type DistributedDiscreteModel{Dc,Dp} directly accesses to a field name .face_gidsForse di nuovo libera @amartinhuertas l’ha presa 123 giorni fa e non c’è nessuna pull request aperta. Aperta
gridap/GridapDistributed.jl#211 · 1 assegnatario ·
-
Automatically add ghost cells to triangulation whenever a CellField is created out of a DistributedTriangulationForse di nuovo libera @JordiManyer l’ha presa 156 giorni fa e non c’è nessuna pull request aperta. Aperta
gridap/GridapDistributed.jl#209 · 2 assegnatari ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
gridap/GridapDistributed.jl#189 · 1 commento ·
-
Issue with DG-SIP and FullyAssembledRowsForse di nuovo libera @amartinhuertas l’ha presa 361 giorni fa e non c’è nessuna pull request aperta. Aperta
gridap/GridapDistributed.jl#186 · 20 commenti · 1 assegnatario ·
-
Potential issue when interpolating DistributedCelllFields that are only defined on own cellsForse di nuovo libera @JordiManyer l’ha presa 375 giorni fa e non c’è nessuna pull request aperta. Aperta
gridap/GridapDistributed.jl#184 · 1 commento · 2 assegnatari ·
Tutte le issue di gridap/GridapDistributed.jl
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 70/100
WaterLily-jl/WaterLily.jl#376 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
docs: unresolved [`compare_fits_Sigma_table`](@ref) in diagnostics.jl docstring renders as a 404 link (dev/diagnostics → ./@ref)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertadocs
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
`AdaptiveMaxPool` / `AdaptiveMeanPool` throw `DivideError` when the input is smaller than the output sizeForse già presa @parth-patel010 l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
FluxML/Flux.jl#2809 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Out-of-place Rosenbrock time derivative uses the autodiff of the last CompositeAlgorithm memberAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
SciML/OrdinaryDiffEq.jl#4951 ·
I maintainer di solito rispondono entro 5 giorni