Skip to content

Tria socket & parameter cleanup#1175

Open
landinjm wants to merge 14 commits into
prisms-center:masterfrom
landinjm:tria_socket
Open

Tria socket & parameter cleanup#1175
landinjm wants to merge 14 commits into
prisms-center:masterfrom
landinjm:tria_socket

Conversation

@landinjm

@landinjm landinjm commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This is a big PR since I decided to refactor/rewrite a lot of the parameters.

Fundamentally, one thing has changed in how we handle parameters from file. We now have a 5 step process.

  1. Predeclare (new)
  2. Preassign (new)
  3. Declare
  4. Assign
  5. Validate (optional)

The pre steps are necessary so I can use type polymorphism on the mesh classes. With the two extra steps we do a first pass over the parameter file before deciding what sections to check later on. I imagine these will also be useful for other things down the line.

Some of the parameter names have changed, but everything remains backwards compatible. The only breaking change is the access of mesh dimensions in applications. Now, to get the size of a rectangular you have to cast the mesh to whatever your mesh type is. We could make a safer version of this for users later on.

const auto &mesh = dynamic_cast<const RectangularMesh<dim> &>(
      *get_user_inputs().spatial_discretization.mesh);

const dealii::Tensor<1, dim> &mesh_size = mesh.upper_bound - mesh.lower_bound;

Additionally, size is no longer a member for rectangular meshes. There is only upper and lower bounds.

Closes #572 ParameterBase now exists and see above
Closes #606 ParameterBase now exists and see above
Closes #441 MeshBase now exists and see above
Closes #714 This can be set with the UserInputParameters constructor
Closes #1118 This can be set with the UserInputParameters constructor
Closes #959 MeshBase now exists and see above
Closes #671
Closes #502
Closes #713 'MeshBase` requires the definition of a distance function
Closes #146 Parameters are there. Restarts aren't

@landinjm

landinjm commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

Core library compiles. Now there's just a bunch of annoying things to do to make sure the applications compile :(

@landinjm landinjm marked this pull request as ready for review July 2, 2026 15:49
@landinjm

landinjm commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

I also gave up on UserConstants because I hate that class and don't want to deal with it

@fractalsbyx fractalsbyx self-requested a review July 2, 2026 17:54
@landinjm

landinjm commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

All the applications, compile. I ran a few in debug and everything seemed fine.

Nucleation application is broken for unrelated reasons. See #1189

@landinjm

landinjm commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

@fractalsbyx when do you think you'll get a chance to look this over? I'm hoping to get this out to get restarts and file input out tomorrow.

@fractalsbyx

fractalsbyx commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

@landinjm I have been working on it today. I will submit a PR of changes prob tonight.

@landinjm

landinjm commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

Cool thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment