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

Leftovers from merge non-relativistic radiation transport: add more output switches, derive IMRadTaskList, etc. #537

Open
5 tasks
felker opened this issue Jul 18, 2023 · 7 comments

Comments

@felker
Copy link
Contributor

felker commented Jul 18, 2023

Mostly from @tomidakn's review that we skipped over to finally merge the monster #492 pull request.

The function is used when we construct angular grid in 1D for the radiation variable. It takes the user provided total number of angles and determine the values of \cos\theta for each angle and the associated weight for each angle based on GL quadrature.

So 2*nmu is the total number of angles, wmu(i) is the weight for each angle and mu(0,0,0,n1,i) is the cos\theta value for each angle.

@tomidakn
Copy link
Contributor

tomidakn commented Jul 20, 2023

Thank you again @yanfeij for all the efforts. I'm trying to use your CR module in a project with my student, and I noticed a few more things.

  • CR Boundary conditions. Can we use user-defined physical BC for CR?
  • User interface should be consistent with other modules. For example, currently the CR opacity is loaded through pcr->EnrollOpacityFunction in InitUserMeshBlockData, but for other modules we provide interfaces in Mesh. Retrospectively, we could move all the interfaces to each physics module and to be called in InitUserMeshBlockData, but anyway I believe we should provide coherently designed interface.
  • Operator splitting mode for CR. This is a long-term topic, but I think it is worth consideration to implement an operator-split integrator for CR as the CR timescale is (and must be) still shorter than the hydrodynamic term. Any thoughts?

@felker
Copy link
Contributor Author

felker commented Jul 25, 2023

Related #502.

@yanfeij
Copy link
Contributor

yanfeij commented Jul 27, 2023

Thank you again @yanfeij for all the efforts. I'm trying to use your CR module in a project with my student, and I noticed a few more things.

  • CR Boundary conditions. Can we use user-defined physical BC for CR?
  • User interface should be consistent with other modules. For example, currently the CR opacity is loaded through pcr->EnrollOpacityFunction in InitUserMeshBlockData, but for other modules we provide interfaces in Mesh. Retrospectively, we could move all the interfaces to each physics module and to be called in InitUserMeshBlockData, but anyway I believe we should provide coherently designed interface.
  • Operator splitting mode for CR. This is a long-term topic, but I think it is worth consideration to implement an operator-split integrator for CR as the CR timescale is (and must be) still shorter than the hydrodynamic term. Any thoughts?

Yes, Kengo, you can use user defined boundary condition for CR. Do you mean sub-time step for CR?

@tomidakn
Copy link
Contributor

I could not find an interface like EnrollCRBoundaryConditions. Can you tell me how to use user-defined BCs for CR?

And yes, I meant subcycling (sub timestep) for CR.

@yanfeij
Copy link
Contributor

yanfeij commented Jul 28, 2023

mesh class has EnrollUserCRBoundaryFunction. Have you tried that? It is very similar to EnrollUserBoundaryFunction

I think it will be useful to make it general to create a type of tasks that can run at a different dt. CR could be just one such tasks.

@tomidakn
Copy link
Contributor

Oh sorry, somehow I missed it. I'll try it.

@felker felker mentioned this issue Apr 1, 2024
@felker
Copy link
Contributor Author

felker commented Apr 30, 2024

delaying until after the 24.0 release

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

3 participants