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

Initial conditions for transient problems #188

Open
bradenfrigoletto24 opened this issue Feb 24, 2023 · 0 comments
Open

Initial conditions for transient problems #188

bradenfrigoletto24 opened this issue Feb 24, 2023 · 0 comments
Labels
question Further information is requested

Comments

@bradenfrigoletto24
Copy link
Contributor

The current implementation of TransientProblem requires the setting of initial conditions via the setInitConditions() function. In this function the user can directly set all three initial conditions for states, first time derivative states, and second time derivative states. When integrating in time with TACSIntegrator, the initial states are copied directly for the initial time step. This doesn't seem correct, since at least one of the sets of states should be solved for at initial time through the solution of the ODE. Talking with @timryanb, he noted that this issue also changes depending on the type of analysis being done, elastic vs. thermal, since the thermal problem is first-order while the elastic problem is second-order.

For example, consider a transient elastic problem where the initial displacement and velocity are set to zero. For the case where there is a nonzero force at initial time, then the initial acceleration states would be nonzero and need to be solved for. However, if the user specified them to be zero like the displacement and velocity, then the initial acceleration states would be incorrect. This mismatch in initial states negatively affects the time marching solution. Starting from incorrect initial states will ruin the time-order accuracy of the time-marching scheme, so if high-order schemes like DIRK or ESDIRK are being used then this would be a problem.

Is this a known issue? Is there a reason behind the current implementation or a way to set up the transient problem to avoid this issue?

@timryanb timryanb added the question Further information is requested label Jun 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants