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

apparent increase in momentum for large time steps #104

Open
cekees opened this issue Feb 1, 2017 · 0 comments
Open

apparent increase in momentum for large time steps #104

cekees opened this issue Feb 1, 2017 · 0 comments

Comments

@cekees
Copy link

cekees commented Feb 1, 2017

I imagine this is user error, but I'm getting increases in momentum for a simple two body problem depending on the size of the time step even in Implicit Euler and HHT fails after repeated reduction of the time step. If I set the time step small enough with application->SetTimestep(); I can get it to go away, but I'm not sure how to set the time step a priori and was thinking chrono was doing something unconditionally stable and adapting dt based on error tolerances. Here is a video showing the issue:
chrono_momentum_conservation.avi.gz

Here is the code for solver config:

   // Change solver
    msystem.SetSolverType(ChSystem::SOLVER_MINRES);
    msystem.SetSolverWarmStarting(true);  // this helps a lot to speedup convergence in this class of problems
    msystem.SetMaxItersSolverSpeed(200);
    msystem.SetMaxItersSolverStab(200);
    msystem.SetTolForce(1e-10);

    // Change integrator:
    //msystem.SetIntegrationType(chrono::ChSystem::INT_EULER_IMPLICIT_LINEARIZED);  // default: fast, 1st order
    //msystem.SetIntegrationType(chrono::ChSystem::INT_HHT);  // precise, slower, might iterate each step
    msystem.SetIntegrationType(chrono::ChSystem::INT_EULER_IMPLICIT);  // precise, slower, might iterate each step
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant