-
Notifications
You must be signed in to change notification settings - Fork 54
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
Linear elastoplasticity #62
base: master
Are you sure you want to change the base?
Conversation
This is still a WIP, so please do not review or merge this yet. |
@dealii/dealii I've just finished this code-gallery example. It would be nice if someone could quickly skim over the README file to proof read it. Otherwise, I guess I'll merge it in a couple of days time. |
I'll have a look at the code. Give till the weekend! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Is it justified that no Newton solver is used?
I had some issues to find all the equations in the documentation (maybe if I invested more time, I would have found all). Would it be possible add the equation numbers in the code?
{ | ||
prm.enter_subsection("Finite element system"); | ||
{ | ||
prm.declare_entry("Polynomial degree", "1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could use ParameterHandler::add_parameter()
instead of declare_entry()
+ get()
|
||
// @sect3{Time incrementation} | ||
|
||
class Time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could use the DiscreteTime
time class here.
const SymmetricTensor<4,dim> K_e | ||
= (kappa_e - 2.0/dim*mu_e)*Physics::Elasticity::StandardTensors<dim>::IxI | ||
+ (2.0*mu_e)*Physics::Elasticity::StandardTensors<dim>::S; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible to make the formula consistent with the documentation. Maybe also you could the number of the equation in the latex document.
quadrature_point_history.initialize(triangulation.begin_active(), | ||
triangulation.end(), | ||
n_q_points_cell); | ||
for (typename DoFHandler<dim>::active_cell_iterator |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could use a range-based iterator here.
solve (); | ||
}; | ||
|
||
while (time.current() < time.end()+0.01*time.get_delta_t()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is the 0.01 coming from?
const SymmetricTensor<4,dim> K_p_correction | ||
= - (Utilities::fixed_power<2>(2.0*mu_e))/(2.0*mu_e + 2.0/dim*kappa_e)*n_t_x_n_t | ||
- (Utilities::fixed_power<2>(2.0*mu_e)*delta_lambda_t)/(sigma_dev_trial_norm)*(I_dev - n_t_x_n_t); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this is equ 21-22. Isn't a term missing?
Thanks for reviewing this a few days ago @peterrum. I just wanted to drop by to say thanks, and that your comments have lead me to doing a bit more work on this (I added in a check, and the LHS and RHS of this equality don't match, making me wonder what the source of the discrepancy is). So I'm not ignoring your comments, but am rather trying to figure that potential issue out. Any rewrite parts of the theory along the way >:-| |
Linear elastoplasticity with linear isotropic hardening. Geometries include a notched cylindrical specimen and a tensile specimen.