moose icon indicating copy to clipboard operation
moose copied to clipboard

Add Variational Mesh Smoother API

Open pbehne opened this issue 2 months ago • 3 comments

This PR adds an API and supporting documentation to use libMesh's VariationalMeshSmoother as developed in https://github.com/libMesh/libmesh/issues/4082.

Closes #28424, #22141.

pbehne avatar Dec 11 '25 21:12 pbehne

Job Documentation, step Docs: sync website on d641337 wanted to post the following:

View the site here

This comment will be updated on new commits.

moosebuild avatar Dec 12 '25 01:12 moosebuild

Job Coverage, step Generate coverage on d641337 wanted to post the following:

Framework coverage

65c471 #32085 d64133
Total Total +/- New
Rate 85.98% 85.98% +0.00% 100.00%
Hits 125761 125803 +42 50
Misses 20509 20508 -1 0

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 Dec 12 '25 03:12 moosebuild

One more subtle concern: have you timed the new tests here? The variational smoother tests are currently some of the most heavyweight unit tests in libMesh.

roystgnr avatar Dec 15 '25 15:12 roystgnr

One more subtle concern: have you timed the new tests here? The variational smoother tests are currently some of the most heavyweight unit tests in libMesh.

See latest CIVET post. Looks very reasonable to me!

GiudGiud avatar Dec 15 '25 16:12 GiudGiud

Job Precheck, step Clang format on 0304c57 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/32085/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 c3ab74858132f9163d291e815bc596e3d11065c6

moosebuild avatar Dec 15 '25 21:12 moosebuild

Job Test, step Results summary on d641337 wanted to post the following:

Framework test summary

Compared against 65c471a in job civet.inl.gov/job/3452904.

Removed tests

Test Time (s) Memory (MB)
meshgenerators/smooth_mesh_generator.smooth_mesh_generator_test 0.73 92.92

Added tests

Test Time (s) Memory (MB)
meshgenerators/smooth_mesh_generator.warnings/unused_laplace_params 1.45 85.17
meshgenerators/smooth_mesh_generator.warnings/unused_variational_params 1.32 102.60
meshgenerators/smooth_mesh_generator.algorithms/variational_smooth_mesh_generator 0.99 110.78
meshgenerators/smooth_mesh_generator.algorithms/laplace_smooth_mesh_generator 0.92 95.35

Run time changes

Test Base (s) Head (s) +/- Base (MB) Head (MB)
multiapps/picard.rel_tol 3.90 6.48 +66.19% 139.56 147.90
geomsearch/patch_update_strategy.never_warning 2.59 4.27 +64.82% 131.88 155.66
interfacekernels/2d_interface.jacobian_test 2.04 3.30 +61.79% 86.89 186.76
multiapps/multilevel.console_to_file 2.32 3.75 +61.75% 155.91 171.82
geomsearch/patch_update_strategy.never 2.04 3.26 +59.68% 129.74 125.85
multiapps/steffensen.variables_transient/app_begin_transfers_begin_steffensen_sub 2.39 3.76 +57.17% 155.32 163.28
multiapps/secant.variables_transient/app_begin_transfers_end 4.88 7.63 +56.49% 139.31 143.85
multiapps/picard.abs_tol 3.91 6.11 +56.13% 127.05 132.21
linearfvbcs/robin.diffusion-2d-robin-nonorthogonal 4.67 7.23 +54.83% 225.20 237.59
executioners/multisys-ss-detection.multi-sys-ss 6.36 9.84 +54.63% 112.75 154.16
kernels/ode.test_parsed_sys_impl 2.17 3.35 +54.57% 112.39 123.70
outputs/console/multiapp.ts_both_multi_output 2.99 4.58 +53.39% 134.17 128.63
multiapps/steffensen.variables_transient/app_begin_transfers_begin 2.22 3.39 +52.77% 119.18 118.37
multiapps/secant.variables_transient/sub_cycling 2.19 3.34 +52.44% 122.61 119.49
fviks/one-var-diffusion.harmonic 4.72 7.17 +51.93% 288.38 268.82
convergence/reference_residual_convergence.zero_tolerance_ref 6.01 9.11 +51.51% 137.68 119.24
multiapps/secant_postprocessor.pp_transient/test_rerun 2.49 3.76 +51.20% 119.01 112.50
linearfvkernels/advection.mms-2d-upwind-tris 5.92 8.93 +50.90% 157.34 246.56
multiapps/picard_postprocessor.pp_transient/test_rerun 3.77 5.68 +50.70% 116.71 119.84
multiapps/picard.iteration_adaptive 4.60 6.94 +50.66% 131.64 132.57
outputs/console/multiapp.picard_norm_output 2.41 3.63 +50.49% 113.46 115.56
multiapps/steffensen.variables_transient/sub_cycling 2.03 3.05 +50.39% 132.85 122.05
multiapps/secant_postprocessor.pp_transient/app_end_transfers_end 2.34 3.52 +50.20% 124.39 144.91

Modules test summary

Compared against 65c471a in job civet.inl.gov/job/3452904.

No added tests

Run time changes

Test Base (s) Head (s) +/- Base (MB) Head (MB)
solid_mechanics/test:rate_independent_cyclic_hardening.nonlin_kinharden_symmetric_strain_controlled 5.49 8.91 +62.20% 118.72 116.54
solid_mechanics/test:smeared_cracking.rz_exponential 13.47 21.58 +60.15% 134.80 123.09
solid_mechanics/test:rate_independent_cyclic_hardening.nonlin_isokinharden_symmetric_strain_controlled 12.10 19.38 +60.07% 129.54 121.58
stochastic_tools/test:transfers/sampler_reporter.transfer/normal 8.31 13.19 +58.71% 156.90 168.28
solid_mechanics/test:combined_creep_plasticity.creepWithPlasticity 6.24 9.84 +57.74% 116.77 119.24
solid_mechanics/test:combined_creep_plasticity.combined 6.67 10.41 +55.90% 118.99 119.60
solid_mechanics/test:smeared_cracking.cracking_rotation_pres_dir_xz 4.54 6.99 +53.90% 136.73 134.72
solid_mechanics/test:rate_independent_cyclic_hardening.1D_ratcheting_nonlin_kinharden_stress_controlled 4.49 6.90 +53.56% 110.03 113.36
solid_mechanics/test:beam/static.euler_finite_y_with_action 3.96 6.07 +53.34% 126.44 113.89
solid_mechanics/test:combined_creep_plasticity.combined_start_time 6.84 10.44 +52.61% 120.03 119.63
solid_mechanics/test:rate_independent_cyclic_hardening.linear_kinharden_symmetric_strain_controlled 5.71 8.71 +52.44% 118.91 122.16
solid_mechanics/test:beam/static.euler_finite_rot_z 4.17 6.35 +52.13% 132.82 121.30
combined/test:combined_plasticity_temperature.ad_temp_dep_yield-jac 7.91 12.01 +51.81% 181.32 161.79
solid_mechanics/test:smeared_cracking.xyz 3.37 5.10 +51.47% 135.61 123.61
solid_mechanics/test:beam/static.euler_finite_rot_y 3.94 5.95 +51.29% 115.75 122.63
solid_mechanics/test:temperature_dependent_hardening.test 2.70 4.08 +51.26% 113.01 118.73
solid_mechanics/test:smeared_cracking.exponential 4.68 7.06 +51.08% 113.98 124.08
solid_mechanics/test:dynamics/acceleration_bc.acceleration_bc 4.15 6.27 +51.05% 130.72 120.41
stochastic_tools/test:transfers/sampler_reporter.transfer/distributed 4.05 6.10 +50.65% 475.43 465.66
solid_mechanics/test:lagrangian/materials/correctness.elastoplastic_linear_hardening 3.09 4.65 +50.31% 142.74 132.85
solid_mechanics/test:rate_independent_cyclic_hardening.linear_kinharden_nonsymmetric_stress_controlled 5.37 8.07 +50.21% 113.87 126.03
stochastic_tools/test:web_server_control.stochastic_control/batch_reset_multi 2.86 4.29 +50.07% 248.34 245.97
solid_mechanics/test:rate_independent_cyclic_hardening.nonlin_isoharden_symmetric_strain_controlled 4.16 6.24 +50.05% 119.43 121.36

moosebuild avatar Dec 16 '25 19:12 moosebuild

Wait a minute, Guillaume just started his vacation, didn't he? On a plane today, and hopefully having fun rather than reviewing smoother code during the next three weeks? I'll say you addressed his review well enough and take the flak if we're wrong. ;-)

roystgnr avatar Dec 17 '25 00:12 roystgnr

Guillaume just started his vacation, didn't he?

Is Guillaume ever REALLY on vacation?

pbehne avatar Dec 17 '25 15:12 pbehne