Comments (5)
Tagging @miaoyinb for his comments here on what could potentially be addressed by the upcoming FlexiblePatternGenerator
from libmesh.
I ran across #1902 again today, and I'm wondering if I can kill two birds with one stone here. A flood algorithm that fills an unordered_set (or maybe an id-indexed set; don't want to get burned in parallel again...) of elements would be useful for both identifying disconnected meshes and making copies of connected components for use in MeshedHole
.
But now here's something that scares me a bit: are we likely to come up with cases where a mesh itself is connected but its interior is not? E.g. two quads like:
o---o
| |
| |
o---o---o
| |
| |
o---o
No flood-fill based on neighbor (and for adapted meshes, parent) links will find a connection that only goes through one vertex. We've got other code in libMesh (at least in distributed-memory-mesh repartitioning code paths, possibly elsewhere) that already does not handle this case well, IIRC.
from libmesh.
I am working on this new FlexiblePatternGenerator
that will be able to do what you mentioned here. The new MG allows users to pattern unit meshes based on hexagona/rectuangular/circular and free-style patterns and adopted any closed-loop mesh as the boundary. It then uses XYD to generate the matrix. It should be ready for a PR soon.
from libmesh.
Sample example syntax
[Mesh]
[accg]
type = AdvancedConcentricCircleGenerator
num_sectors = 9
ring_radii = '1 2'
ring_intervals = '2 2'
ring_block_ids = '10 15 20'
ring_block_names = 'inner_tri inner outer'
external_boundary_id = 100
external_boundary_name = 'ext'
create_outward_interface_boundaries = false
[]
[reduced_accg]
type = TransformGenerator
input = 'accg'
transform = SCALE
vector_value = '0.4 0.4 0.4'
[]
[fpg]
type = FlexiblePatternGenerator
inputs = 'accg reduced_accg'
boundary_type = HEXAGON
boundary_pitch = ${fparse 12.0*sqrt(3.0)}
boundary_sectors = 10
hex_patterns = '0 0;
0 2 0;
0 0'
hex_pitches = 7
rect_pitches_x = 3
rect_pitches_y = 5
rect_patterns = '1 1;
1 1'
extra_positions = '0.0 10.0 0.0
0.0 -10.0 0.0'
extra_positions_mg_indices = '1 1'
desired_area = 1.0
verify_holes = false
[]
[]
from libmesh.
AdvancedConcentricCircleGenerator
is another new MG being developed for pin generation.
from libmesh.
Related Issues (20)
- constrain_element_matrix changes the col_dofs vector size HOT 3
- Investigating the possibility of only having one solution vector in systems HOT 3
- Make Abaqus node/side ID maps available
- DM type 'libmesh' did not attach the DM to the matrix HOT 6
- Issues with latest libmesh devel -> master merge HOT 1
- Operator `()` of a petsc vector is not safe if used together with `set()` in a threaded loop.
- The 'mesh.read()' operation encounters errors when executed with 2048 processors HOT 1
- ExodusII IO has variable ID bug which can prevent coordinates from being read-in from a file HOT 4
- The release v1.7.2 doesn't have the tarballs attached HOT 1
- "No rule to make target..." installation error on Windows HOT 3
- Install FParser `fptypes.hh` header
- Libmesh out-of-date on spack HOT 3
- install error with vcpkg on linux HOT 5
- System destructor requires the mesh to still be around, through the dof map HOT 11
- Setting a variable to zero in a given iteration
- Issue with metaphysicl tests when running "make check" HOT 5
- Issue with libmetis.so.5 while make install HOT 3
- Implement static condensation
- make error src/base/libmesh_opt_la-libmesh.lo error 1 HOT 2
- Import from MSH-File: HOT 8
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 libmesh.