Skip to content

Added TMOP solver to improve mesh conditioning#2

Open
tboudreaux wants to merge 2 commits into4D-STAR:mainfrom
tboudreaux:feat/C2
Open

Added TMOP solver to improve mesh conditioning#2
tboudreaux wants to merge 2 commits into4D-STAR:mainfrom
tboudreaux:feat/C2

Conversation

@tboudreaux
Copy link
Copy Markdown
Contributor

Meshes are generated as a three domain system, the core, envelope, and vacuum. We need this multi-domain approach as a Cartesian mesh is useful in the core to avoid singularities, a spherical mesh is useful in the envelope to model deformation, and the vacuum is needed to apply boundary conditions. A challenge though is that the boundary between the core and envelope mesh can introduce artificial stiffness into the shape function Jacobians. This resulted in the boundary between these two domains acting as an artificial material change.

I've explored some analytic ways to resolve this; however, generally they have not prooven useful. Instead we use MFEM's built in Target Matrix Optimization Problem (TMOP) solver to automatically deform the nodes interior to the stellar surface following the IDEAL_SHAPE_UNIT_SIZE metric and the 302 TMOP metric. These choices can be adjusted in the future; however, they seem to work well to smooth out the interface boundary.

Note that these metrics involve computing the dense Hessian for the shape functions and then solving a PDE accross the domain. This means that when TMOP is enabled (through the [main.optimization_modes.tmop] parameter in the config file stroid runtime can increase up to 10 -> 30 minutes depending on mesh resolution. This is not a problem as we do not expect to be generating meshes on the fly.

Meshes generated purley algebraically tend to be poorly conditioned. Incorporated MFEM's TMOP support based on a metric of ideal shape and unit size
@tboudreaux tboudreaux added the enhancement New feature or request label Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant