Comments (1)
This is what I've implemented for patch-based smoothers in PR 7. It's probably not general enough, and only works for facets (Df = Dc-1
). Quite inspired by what was done here.
function mark_interface_facets!(model::GridapDistributed.DistributedDiscreteModel{Dc,Dp}) where {Dc,Dp}
face_labeling = get_face_labeling(model)
topo = get_grid_topology(model)
map_parts(local_views(face_labeling),local_views(topo)) do face_labeling, topo
tag_to_name = face_labeling.tag_to_name
tag_to_entities = face_labeling.tag_to_entities
d_to_dface_to_entity = face_labeling.d_to_dface_to_entity
# Create new tag & entity
interface_entity = maximum(map(maximum,tag_to_entities)) + 1
push!(tag_to_entities,[interface_entity])
push!(tag_to_name,"interface")
# Interface faces should also be interior
interior_tag = findfirst(x->(x=="interior"),tag_to_name)
push!(tag_to_entities[interior_tag],interface_entity)
# Select interface entities
boundary_tag = findfirst(x->(x=="boundary"),tag_to_name)
boundary_entities = tag_to_entities[boundary_tag]
f2c_map = Geometry.get_faces(topo,Dc-1,Dc)
num_cells_around_facet = map(length,f2c_map)
mx = maximum(num_cells_around_facet)
for (f,nf) in enumerate(num_cells_around_facet)
is_boundary = (d_to_dface_to_entity[Dc][f] ∈ boundary_entities)
if !is_boundary && (nf != mx)
d_to_dface_to_entity[Dc][f] = interface_entity
end
end
end
end
from gridapdistributed.jl.
Related Issues (20)
- Error: Unable to perform "inner" on the given cell-fields HOT 5
- Allow access to physical groups in distributed fashion HOT 1
- Changes in Gridap#master break Heat equation tests HOT 6
- Retriving/pushing global data HOT 4
- Bug: Integration of HDiv terms on SkeletonTriangulation, for SubAssembledRows strategy HOT 1
- Evaluation of DistributedCellFields at points HOT 6
- PSparseMatrix * PVector fails for certain case HOT 2
- Issue with Periodic BCs after porting to PArrays 0.3 HOT 1
- Move assemble_coo_with_column_owner! to PArrays?
- PLaplacianTests fail with Julia 1.7.3
- Parallelization of a concentrated load using GridapDistributed HOT 3
- Compatible PRanges between FESpaces and linear systems HOT 5
- In-place Assembly of PSparseMatrices HOT 4
- Bug in AffineFEOperator parallel assembly HOT 1
- This function belongs to an interface and could not be used - non linear solver with GridapDistributed.jl HOT 3
- Unable to create *.pvd files. HOT 2
- evaluate function not working HOT 1
- Periodic boundary conditions on multi processors
- Auto-diff error in GridapDistributed code HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gridapdistributed.jl.