Giter Site home page Giter Site logo

Comments (5)

eshemon avatar eshemon commented on September 27, 2024

Tagging @miaoyinb for his comments here on what could potentially be addressed by the upcoming FlexiblePatternGenerator

from libmesh.

roystgnr avatar roystgnr commented on September 27, 2024

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.

miaoyinb avatar miaoyinb commented on September 27, 2024

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.

miaoyinb avatar miaoyinb commented on September 27, 2024
mixed_pattern

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.

miaoyinb avatar miaoyinb commented on September 27, 2024

AdvancedConcentricCircleGenerator is another new MG being developed for pin generation.

from libmesh.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.