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

[GeoMechanicsApplication] Prescribed acceleration does not result in the expected acceleration values in the respective nodes. #12184

Closed
rfaasse opened this issue Mar 14, 2024 · 1 comment · Fixed by #12208
Assignees
Labels
Bug GeoMechanics Issues related to the GeoMechanicsApplication

Comments

@rfaasse
Copy link
Contributor

rfaasse commented Mar 14, 2024

As a Kratos Geomechanics User, I would like prescribed accelerations to be reflected in the respective nodes, such that I can use this functionality in my analyses.

Acceptance Criteria

Given the user uses a vector constraint process to prescribe the acceleration on certain a certain modelpart.
When the user runs a simulation.
Then the acceleration at the nodes of these model parts are the same as the prescribed acceleration.

Discussed in #12178

Originally posted by muhammedfurkanyilmaz March 13, 2024
Hi @Kratos/geomechanics,
I'm trying to make a site response analysis. I exerted the acceleration trace as acceleration at the bottom nodes of the domain, but the acceleration outputs of the corresponding nodes are quite different from the input motion. What could be the reason?

@rfaasse rfaasse added Bug GeoMechanics Issues related to the GeoMechanicsApplication labels Mar 14, 2024
@rfaasse
Copy link
Contributor Author

rfaasse commented Mar 14, 2024

Had another short look into this bug before we discuss it in planning:
It seems to be related to the updating of the second order derivatives in the time integration scheme, where the is_fixed flag is not taken into account for the acceleration (same for the velocity). When hard-coding the following check into the update function (if (rNode.IsFixed(ACCELERATION_X)) continue;, since the reported issue was about prescribed acceleration in the x-direction), the nodal acceleration seems identical to the prescribed acceleration.

for (const auto& r_second_order_vector_variable : this->GetSecondOrderVectorVariables()) {
            if (!rNode.SolutionStepsDataHas(r_second_order_vector_variable.instance)) continue;
            if (rNode.IsFixed(ACCELERATION_X)) continue;

            noalias(rNode.FastGetSolutionStepValue(r_second_order_vector_variable.second_time_derivative, 0)) =
                ((rNode.FastGetSolutionStepValue(r_second_order_vector_variable.instance, 0) -
                  rNode.FastGetSolutionStepValue(r_second_order_vector_variable.instance, 1)) -
                 this->GetDeltaTime() * rNode.FastGetSolutionStepValue(
                                            r_second_order_vector_variable.first_time_derivative, 1) -
                 (0.5 - GetBeta()) * this->GetDeltaTime() * this->GetDeltaTime() *
                     rNode.FastGetSolutionStepValue(r_second_order_vector_variable.second_time_derivative, 1)) /
                (GetBeta() * this->GetDeltaTime() * this->GetDeltaTime());
        }

This is no solution yet (since we need to be able to only fix certain components), but it seems that correctly taking into account the component-wise 'is_fixed' in the time integration scheme will fix the reported issue.

This means however, we need to keep in mind:

  • This should work for the second and first order derivatives (e.g. also prescribed (angular) velocities as well as (angular) accelerations).
  • Should this also work for e.g. DT_WATER_PRESSURE, i.e. scalar derivatives?
  • We need to fix this in both the Newmark as well as the Backward Euler schemes
  • Do we need to make any changes to the SetTimeFactors function, or is that unrelated?

FYI @avdg81 @WPK4FEM

@rfaasse rfaasse self-assigned this Mar 15, 2024
@rfaasse rfaasse linked a pull request Mar 19, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug GeoMechanics Issues related to the GeoMechanicsApplication
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant