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

ode_start() in Generalized_Alpha results into singular system #986

Closed
oriolcg opened this issue Mar 27, 2024 · 2 comments · Fixed by #985
Closed

ode_start() in Generalized_Alpha results into singular system #986

oriolcg opened this issue Mar 27, 2024 · 2 comments · Fixed by #985
Assignees

Comments

@oriolcg
Copy link
Member

oriolcg commented Mar 27, 2024

Hi @AlexandreMagueresse, I'm using the new version of the ODEs and I'm getting a singular exception when solving a problem where the mass matrix is only defined in part of the domain. The overall system is well posed as the stiffness and/or damping have values on the full domain. However, when initializing the solution, the GeneralizedAlpha solves a "mass-only" problem in ode_start

Before it was taking an initial acceleration as input. I don't see an easy way to address this issue that would not involve sending different operator for the initialization (or just pass an initial acceleration as before). Do you have any ideas on this?

Thanks!

Tagging @janmodderman and @shagun751 to follow this discussion.

@JordiManyer JordiManyer linked a pull request Mar 27, 2024 that will close this issue
@JordiManyer
Copy link
Member

Hi @oriolcg . Thanks for reporting this. We are currently preparing the new release in PR #985 . We also found a couple things that need to be changed. We'll take this into account.

@AlexandreMagueresse
Copy link
Collaborator

Hi @oriolcg . Thank you for pointing this out and sorry for the delay in replying. I agree that in this scenario, the n-th order derivative (velocity for GeneralizedAlpha1, acceleration for GeneralizedAlpha2) has to be provided in another way, i.e. as you suggest, either manually, or as the solution of another FEOperator.

I have restored the possibility to directly provide these initial derivatives manually when calling solve as before (see this commit 834289d). You can take a look at the following tests (these links directly point to the lines of interest): Order1ODETests.jl, Order2ODETests.jl, HeatEquationScalarTests.jl or SecondOrderEquationTests.jl. I will also add a note in docs.

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

Successfully merging a pull request may close this issue.

3 participants