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

Add a feature to Chef to double domain in one direction of an existing mesh/simulation-with-solution #346

Open
KennethEJansen opened this issue Jul 11, 2021 · 0 comments
Assignees

Comments

@KennethEJansen
Copy link
Contributor

In our simulations it is not uncommon to run for a time at one domain width and then desire to continue the simulation with twice the domain width at the same resolution (thus doubling the number of elements and (almost) doubling the number of nodes). There are a few ways to do this:

  1. brute force - regenerate the mesh and find some tool to interpolate with wrapped periodicity from the current simulation
  2. duplicate the mesh (including the attached solution) and then condense out and stitch-up the duplicated layer of nodes. This also requires re-evaluating or otherwise correcting the boundary conditions
  3. adapt and scale. Idea here is to split every edge that is purely in the z direction (not any of the diagonals and yes, the meshes in question have mesh lines extending from every point in the plane perpendicular to the direction we want to double BUT the number of points along that z line vary---not a simple extrusion), By splitting the edge and then scaling the domain we avoid the stitching problem though we would have to re-evaluate the solution since the attached solution will get stretched by the scaling step. This could be a 1D interpolation if we stored the original solution as a z + solution for each of the 2D root vertices. Anyway, focusing back on the adapt step and finally getting to my question, how hard would it be to use core adapt tools to:
    A) mark the edges that need to be split
    B) split ONLY those edges
    C) perform face swaps to improve the element shape (see attached figure but, as you can imagine, if you are not splitting any of the edges that are not aligned in Z, those diagonal edges are going to say long and then get 2x longer than desired once the scaling is applied.)

If there are existing tools for option 2 that might be easiest but, in a short conversation with Cameron, option 3 seemed like it might be easier but of course even Cameron does not possess the core-dev crystal ball and maybe some of you have thoughts to share on this
Adapt to expand domain.pdf

Note the original grid is 2B nodes and when we double it (or more) it will be 4 B (or more) so brute force is not very attractive.

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

4 participants