Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1205,22 +1205,30 @@ std::unordered_map<Core::Materials::MaterialType, Core::IO::InputSpec> Global::v
/*----------------------------------------------------------------------*/
// Plastic linear elastic St.Venant Kirchhoff / Drucker Prager plasticity
{
using namespace Core::IO::InputSpecBuilders::Validators;
known_materials[Core::Materials::m_pldruckprag] = group("MAT_Struct_DruckerPrager",
{
parameter<double>("YOUNG", {.description = "Young's modulus"}),
parameter<double>("NUE", {.description = "Poisson's ratio"}),
parameter<double>("DENS", {.description = "Density"}),
parameter<double>("ISOHARD", {.description = "linear isotropic hardening"}),
parameter<double>("TOL", {.description = "Local Newton iteration tolerance"}),
parameter<double>("C", {.description = "cohesion"}),
parameter<double>(
"YOUNG", {.description = "Young's modulus", .validator = positive<double>()}),
parameter<double>(
"NUE", {.description = "Poisson's ratio (must be in (-1, 0.5) for stability)",
.validator = in_range(excl(-1.0), excl(0.5))}),
parameter<double>(
"DENS", {.description = "Density", .validator = positive_or_zero<double>()}),
parameter<double>("ISOHARD", {.description = "linear isotropic hardening",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
parameter<double>("ISOHARD", {.description = "linear isotropic hardening",
parameter<double>("ISOHARD", {.description = "Linear isotropic hardening modulus $H_\\mathrm{iso}$",

same for the other parameters.

.validator = positive_or_zero<double>()}),
parameter<double>("TOL", {.description = "Local Newton iteration tolerance",
.validator = positive<double>()}),
parameter<double>("C", {.description = "cohesion (must be strictly positive)",
.validator = positive<double>()}),
parameter<double>("ETA", {.description = "Drucker Prager Constant Eta"}),
parameter<double>("XI", {.description = "Drucker Prager Constant Xi"}),
parameter<double>("ETABAR", {.description = "Drucker Prager Constant Etabar"}),
parameter<std::string>("TANG", {.description = "Method to compute the material tangent",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the "TANG" parameter should be an enum.

.default_value = "consistent"}),
parameter<int>(
"MAXITER", {.description = "Maximum Iterations for local Neutron Raphson",
.default_value = 50}),
parameter<int>("MAXITER", {.description = "Maximum Iterations for local Newton Raphson",
.default_value = 50,
.validator = positive<int>()}),
},
{.description = "elastic St.Venant Kirchhoff / plastic drucker prager"});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{.description = "elastic St.Venant Kirchhoff / plastic drucker prager"});
{.description = "Linear-elasto-plastic material with a Drucker-Prager yield surface: $\\phi = \\sqrt{J_2} + \\eta*\\mathrm{tr}(\\mathbf{\\sigma}) - \\xi\\cdot(c + H_\\mathrm{iso}\\varepsilon_\\mathrm{p}^\\mathrm{acc}$ and a potentially non-associated plastic potential: = \\sqrt{J_2} + \\overline{\\eta}*\\mathrm{tr}(\\mathbf{\\sigma}) - \\xi\\cdot(c + H_\\mathrm{iso}\\varepsilon_\\mathrm{p}^\\mathrm{acc}$"});

I believe this is what is happening in the material.

}
Expand Down
Loading
Loading