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
Scale eigenvector with new Eigenvalue executioner #14500
Comments
My thinking is that the numerical solution in SLEPc solver does not have to be scaled to have a physical meaning. Not sure if this is the right thinking though. But we do want a function in eigen system like Currently |
Reason
Typically the solution to an eigenvalue problem, or eigenvector, can be scaled by anything and still be correct. I believe the SLEPc eigenvalue solver scales the solution to the L2 norm of the solution vector. This type of normalization does not have much physical meaning. However, when using eigenvalue solves to initialize transient simulations or coupling multi-physics, the scale of the eigenvector matters significantly. It would useful to have an input parameter in the Eigenvalue executioner that would allow the eigenvector to be scaled to a user defined quantity after the solve has finished.
Design
After the executioner finishes the solve step, call a function in EigenProblem that scales the variables that have been marked as eigen variables. The scaling would include an inputted postprocessor value and a scaler, which is to have the ability to scale the eigenvector such that a certain postprocessor is a specified value.
Impact
Allow users to transfer and couple an eigenvector with a physically meaningful normalization.
The text was updated successfully, but these errors were encountered: