moose icon indicating copy to clipboard operation
moose copied to clipboard

Transfinite mesh generator

Open oanaoana opened this issue 2 years ago • 3 comments

It can generate meshes within closed domains. Needs a few test examples, address all circular arc cases, add parsed parameterizations and discrete edge capabilities. The underlying algorithm follows https://en.wikipedia.org/wiki/Transfinite_interpolation Extensions for automating circular arcs and other parameterizations have been developed for particular meshes of interest. meshdual

closes #21903

oanaoana avatar Aug 19 '22 21:08 oanaoana

Job Documentation on 1c4ca24 wanted to post the following:

View the site here

This comment will be updated on new commits.

moosebuild avatar Aug 22 '22 15:08 moosebuild

Job Coverage on 1c4ca24 wanted to post the following:

Framework coverage

1542ca #21904 1c4ca2
Total Total +/- New
Rate 85.08% 85.11% +0.04% 99.13%
Hits 86330 86561 +231 227
Misses 15144 15142 -2 2

Diff coverage report

Full coverage report

Modules coverage

Coverage did not change

Full coverage reports

Reports

This comment will be updated on new commits.

moosebuild avatar Aug 23 '22 22:08 moosebuild

Job Precheck on 71242dd wanted to post the following:

Your code requires style changes.

A patch was auto generated and copied here
You can directly apply the patch by running, in the top level of your repository:

curl -s https://mooseframework.inl.gov/docs/PRs/21904/clang_format/style.patch | git apply -v

Alternatively, with your repository up to date and in the top level of your repository:

git clang-format f9a393f53b4d7088fc66ea23947b446be99816b1

moosebuild avatar Oct 24 '22 17:10 moosebuild

I'd scale down the object name, for example by adding '2D' or XY as appropriate so that the next iteration that provides more capability, if ever, does not look more specific than this one

@GiudGiud Not sure which object you are referring to, the main TransfiniteMeshGenerator ->TransfiniteMeshGenerator2D?

oanaoana avatar Oct 24 '22 22:10 oanaoana

This is a good opportunity to get comfortable with adding stuff to the large_media submodule - all of the images should be there and be removed from history

You spotted it right away, I wanted to do large_media but got caught up in the submodule and given the small size I hoped I can get away without. :)

oanaoana avatar Oct 24 '22 22:10 oanaoana

Transfinite2DMeshGenerator ? I m referring to the object name, the one in the input file

GiudGiud avatar Oct 24 '22 22:10 GiudGiud

What do you mean in the input file? Are you saying that type = TransfiniteMeshGenerator doesn't have to correspond name-wise to registerMooseObject("MooseApp", TransfiniteMeshGenerator);, that'd be magic! But I am fine with the Transfinite2D suggestion, seems fitting, just most generators tend to be 2D without naming it as such, and didn't want to diverge or generate extra work.

oanaoana avatar Oct 24 '22 22:10 oanaoana

they do have to correspond. so registerMooseObject("MooseApp", Transfinite2DMeshGenerator)

but since you generate meshes from 4 points, maybe '2D' is still too general

GiudGiud avatar Oct 24 '22 22:10 GiudGiud

they do have to correspond. so registerMooseObject("MooseApp", Transfinite2DMeshGenerator)

but since you generate meshes from 4 points, maybe '2D' is still too general

Well it's not too general cause transfinite requires 4 edges, it actually magically works for DISCRETE to do any other domain, but there are still limitations like same number of points on opposite sides.

oanaoana avatar Oct 24 '22 22:10 oanaoana

The test for naming for me would be: how would you call the next generator that can do transfinite meshes from an arbitrary number of sidesets (in 2D for example)

GiudGiud avatar Oct 24 '22 22:10 GiudGiud

This is a good opportunity to get comfortable with adding stuff to the large_media submodule - all of the images should be there and be removed from history

You spotted it right away, I wanted to do large_media but got caught up in the submodule and given the small size I hoped I can get away without. :)

In general any "media" that isn't required for running the test harness we want in large_media, unfortunately 😆

loganharbour avatar Oct 24 '22 22:10 loganharbour

@sapitts would you mind taking a final review at the documentation since you're the most comfortable with this?

loganharbour avatar Dec 19 '22 20:12 loganharbour

Assignee is Roy. I havent reviewed this but let me know if I should

GiudGiud avatar Dec 19 '22 20:12 GiudGiud

I can probably find time to review this over the break; it's definitely ready for review? IIRC the last time I checked it was still showing CI failures but apparently I should have been checking again more recently...

roystgnr avatar Dec 22 '22 19:12 roystgnr

What’s the status of this?

loganharbour avatar Mar 07 '23 22:03 loganharbour

What’s the status of this?

still very much a desired capability! I sent @oanaoana another set of STM generated geometry sets for testing (that had been misbehaving for me) because I was having trouble narrowing down the cases when the circarc option had trouble calculating the radius--I think that debugging work might be ongoing?

sapitts avatar Mar 09 '23 17:03 sapitts

Job Python spack on aa4dd18 : invalidated by @oanaoana

moosebuild avatar Apr 12 '23 17:04 moosebuild

Job Precheck on 93ba3ec wanted to post the following:

Your code requires style changes.

A patch was auto generated and copied here
You can directly apply the patch by running, in the top level of your repository:

curl -s https://mooseframework.inl.gov/docs/PRs/21904/clang_format/style.patch | git apply -v

Alternatively, with your repository up to date and in the top level of your repository:

git clang-format 1542ca05a186584a315c5643fec9329c9d2b5478

moosebuild avatar Apr 20 '23 18:04 moosebuild

Job Documentation on 1c4ca24 : invalidated by @roystgnr

Kicking a "failed to download" error

moosebuild avatar Apr 20 '23 20:04 moosebuild

🎉

lindsayad avatar Apr 20 '23 23:04 lindsayad