-
Notifications
You must be signed in to change notification settings - Fork 244
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
Newton Raphson Output #4268
Comments
|
The echo level of convergence criteria and strategy should be different. The build time is shows if the echo level of strategy is greater than 0. The convergences is shown if the echo level of the convergence criteria is set. This is what I do in my fancy output in the contact structural mechanics. i still have pending to do something similar in the core.
I do that in my fancy output too
Agree
Agree
This can be done easily if we advance with solving strategies factories...ping #3185 |
I got a scientific output, but it requires a lot o modification of the current logger interface, better to think a better idea (for now I can only think in specialize the template of the logger for doubles): std::stringstream string_out;
string_out
<< " :: [ Obtained ratio = "
<< std::setiosflags(std::ios::scientific)
<< std::setprecision(3)
<< std::uppercase
<< ratio << "; Expected ratio = "
<< std::setiosflags(std::ios::scientific)
<< std::setprecision(3)
<< std::uppercase
<< mRatioTolerance << "; Absolute norm = "
<< std::setiosflags(std::ios::scientific)
<< std::setprecision(3)
<< std::uppercase
<< absolute_norm << "; Expected norm = "
<< std::setiosflags(std::ios::scientific)
<< std::setprecision(3)
<< std::uppercase
<< mAlwaysConvergedNorm << "]" << std::endl;
std::string string_to_print = string_out.str();
KRATOS_INFO_IF("RESIDUAL CRITERION", this->GetEchoLevel() > 0 && rModelPart.GetCommunicator().MyPID() == 0) << string_to_print; Result: SolvingStrategy: MESH MOVED
ResidualBasedBlockBuilderAndSolver: Build time: 0.00270605
ResidualBasedBlockBuilderAndSolver: System solve time: 0.1167
SolvingStrategy: MESH MOVED
RESIDUAL CRITERION: :: [ Obtained ratio = 1.000E+00; Expected ratio = 1.000E-06; Absolute norm = 9.722E-01; Expected norm = 1.000E-09]
ResidualBasedBlockBuilderAndSolver: Build time: 0.0030179
ResidualBasedBlockBuilderAndSolver: System solve time: 0.00258398
SolvingStrategy: MESH MOVED
RESIDUAL CRITERION: :: [ Obtained ratio = 7.332E+03; Expected ratio = 1.000E-06; Absolute norm = 7.129E+03; Expected norm = 1.000E-09]
ResidualBasedBlockBuilderAndSolver: Build time: 0.00380111
ResidualBasedBlockBuilderAndSolver: System solve time: 0.00679779
SolvingStrategy: MESH MOVED
RESIDUAL CRITERION: :: [ Obtained ratio = 3.394E+00; Expected ratio = 1.000E-06; Absolute norm = 3.300E+00; Expected norm = 1.000E-09]
ResidualBasedBlockBuilderAndSolver: Build time: 0.00286198
ResidualBasedBlockBuilderAndSolver: System solve time: 0.00655317
SolvingStrategy: MESH MOVED
RESIDUAL CRITERION: :: [ Obtained ratio = 6.148E-05; Expected ratio = 1.000E-06; Absolute norm = 5.978E-05; Expected norm = 1.000E-09]
ResidualBasedBlockBuilderAndSolver: Build time: 0.002738
ResidualBasedBlockBuilderAndSolver: System solve time: 0.00742292 |
+1 for the idea of having a different echo level for convergence criteria and for the timings. We may well want to have
instead of the output you posted. also nice the formatting I am not sure if we want to show the expected ratios and norm at each iteration |
It would be more comprehensive if we show it only at the beginning of the time-step 👍 |
The uppercase because I like the 1E10 more than 1e10
The idea of different echo levels can be solved easily with the
factories...
El mié., 27 feb. 2019 7:51, Riccardo Rossi <notifications@github.com>
escribió:
… +1 for the idea of having a different echo level for convergence criteria
and for the timings. We may well want to have
RESIDUAL CRITERION: :: [ Obtained ratio = 1.000E+00; Expected ratio = 1.000E-06; Absolute norm = 9.722E-01; Expected norm = 1.000E-09]
ResidualBasedBlockBuilderAndSolver: Build time: 0.0030179
ResidualBasedBlockBuilderAndSolver: System solve time: 0.00258398
SolvingStrategy: MESH MOVED
RESIDUAL CRITERION: :: [ Obtained ratio = 7.332E+03; Expected ratio = 1.000E-06; Absolute norm = 7.129E+03; Expected norm = 1.000E-09]
ResidualBasedBlockBuilderAndSolver: Build time: 0.00380111
RESIDUAL CRITERION: :: [ Obtained ratio = 3.394E+00; Expected ratio = 1.000E-06; Absolute norm = 3.300E+00; Expected norm = 1.000E-09]
RESIDUAL CRITERION: :: [ Obtained ratio = 6.148E-05; Expected ratio = 1.000E-06; Absolute norm = 5.978E-05; Expected norm = 1.000E-09]
instead of the output you posted. also nice the formatting
why the "upper case"?
I am not sure if we want to show the expected ratios and norm at each
iteration
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#4268 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ATEMgJcFhJ7rTfV7V6VzkT61jXavNtbmks5vRir8gaJpZM4bSC0r>
.
|
in yesterday's meeting the @KratosMultiphysics/technical-committee was suggesting to ask @KratosMultiphysics/implementation-committee for a suggestion on this. |
I gave my suggestions, but I am not longer a member of @KratosMultiphysics/implementation-committee |
|
On behalf of the @KratosMultiphysics/implementation-committee, since we see that the issue has been taken up by the @KratosMultiphysics/technical-committee , we agree with 1,2,3,4 with the original proposal by @RiccardoRossi, except for requiring that the build times should go to a higher echo level. |
@KratosMultiphysics/technical-committee agrees with @KratosMultiphysics/implementation-committee. The only comment is the fact that the number 3 is changing the behavior of the strategy. |
guys, what is the status of this? anyone taking over the TODOs? @marandra ? |
Dear All,
i am reporting here some comments that were made by Prof. Oliver when looking at the output of our NR strategy:
1 - it should be possible to have the convergence shown but not to show build and solve times
2 - output of convergence ratio should be in exponential format (1.5e-2) and not in the standard output of cout (@pooyan-dadvand here i tried to add std::precision to the logger input without success. Any suggestion?)
3 - absolute tolerance should be set to zero or very small number by default
4 - if absolute tolerance is set to zero, it would be good not to have this shown in the output
I definitely agree on this points, particularly about the points 1,2,3
could we agree exactly of what should be shown at the different echo levels?
The text was updated successfully, but these errors were encountered: