deal.II version GIT relicensing-6809-ge913b9bb34 2026-09-25 17:20:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
ALE_Finite_Strain_Plasticity.h File Reference

Go to the source code of this file.

Classes

class  PlasticityLab::ReferencePoint< dim, Number >
 
class  PlasticityLab::RemappedPoint< dim, Number >
 
class  PlasticityLab::RotationFunction< dim, Number >
 
class  PlasticityLab::AngularVelocityFunction< dim, Number >
 
class  PlasticityLab::ScaleComponentFunction< dim, Number, components >
 
class  PlasticityLab::ScaleZFunction< dim, Number, components >
 
class  PlasticityLab::ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >
 
class  PlasticityLab::TimeRateRequest< ValueType, dim, Number >
 
struct  PlasticityLab::NotImplementedException
 

Namespaces

namespace  PlasticityLab
 

Typedefs

using value_type = Number
 
using difference_type = std::ptrdiff_t
 
using pointer = Number *
 
using reference = Number &
 

Enumerations

enum  PlasticityLab::TimeRateUpdateFlags {
  PlasticityLab::default_timerate_update_flags = 0x0000 , PlasticityLab::update_partial_time_rate = 0x0001 , PlasticityLab::update_total_time_rate = 0x0002 , PlasticityLab::update_partial_second_time_rate =0x0004 ,
  PlasticityLab::update_total_second_time_rate =0x0008 , PlasticityLab::update_partial_time_rate_tangent =0x0010 , PlasticityLab::update_total_time_rate_tangent =0x0020 , PlasticityLab::update_partial_second_time_rate_tangent =0x0040 ,
  PlasticityLab::update_total_second_time_rate_tangent
}
 

Functions

***mech_lbc_system increment_interpolation_handlers push_back (scale_z_handler)
 
****code *  mech_lbc_system boundaryLoadAppliers push_back *   (*  3, BodyForceApplier< dim, Number >(dim-1, -40))
 
*  mech_lbc_system boundary_unidirectional_penalty_specs push_back (top_surface_unidirectional_penalty_spec)
 
*mech_lbc_system initial_velocity_interpolation_handlers push_back (constant_velocity_handler)
 
*mech_lbc_system interpolatoryConstraintAppliers push_back * InterpolatoryConstraintApplier (*top_constraint_function_map, *y_component_mask)
 
*  mech_lbc_system increment_interpolation_handlers push_back (scale_rotation_increment)
 
*  mech_lbc_system initial_velocity_interpolation_handlers push_back (constant_angular_velocity_handler)
 
*  NeckingTaperTransform (double factor)
 
*  *  Point< dim > operator() (const Point< dim > &p) const * 
 
*  *  GridGenerator::subdivided_hyper_rectangle *   (0, base_coordinate), *  Point< dim >(radius, top_coordinate), *  true * 
 
****code *  ComponentMask x_component_mask (dim+1, false)
 
*  x_component_mask set (0, true)
 
*  ComponentMask y_component_mask (dim+1, false)
 
*  y_component_mask set (1, true)
 
*  ComponentMask z_component_mask (dim+1, false)
 
*  z_component_mask set (dim-1, true)
 
*  ComponentMask rho_component_mask (dim+1, false)
 
*  rho_component_mask set (dim, true)
 
*  base_constraint_function_map insert *   (2, &mech_lbc_system.zero_function)
 
*  mech_lbc_system interpolatoryConstraintAppliers push_back *   (*  base_constraint_function_map, *  y_component_mask)
 
*  top_constraint_function_map insert *   (3, &mech_lbc_system.zero_function)
 
*  yz_constraint_function_map insert *   (0, &mech_lbc_system.zero_function)
 
*  therm_lbc_system convection_BC_appliers push_back *   (*  1, *  ConvectionBoundaryConditionApplier< dim, Number >(*  0, convection_coefficient, ambient_temperature))
 
*  *  GridGenerator::subdivided_hyper_rectangle *   (0, 0), *  Point< dim >(radius, height), *  true * 
 
*  *  mech_lbc_system increment_interpolation_handlers push_back (push_z_handler)
 
***mech_lbc_system initial_deformation_interpolation_handlers push_back (constant_velocity_angular_handler)
 
*therm_dof_system interpolatoryConstraintAppliers push_back * InterpolatoryConstraintApplier (*thermal_constraint_function_map, ComponentMask(1, true))
 
*  *  GridGenerator::half_hyper_ball *   (0, -10), *  outer_radius * 
 
*  *  for (const auto &cell :triangulation.active_cell_iterators())
 
*  *  triangulation refine_global (n_initial_global_refinements)
 
*  *  mech_lbc_system boundaryLoadAppliers push_back *   (*  1, BodyForceApplier< dim, Number >(dim, 0.8 *4.50e1))
 
*  ComponentMask all_component_mask (dim+1, true)
 
*  yz_constraint_function_map insert *   (1, &mech_lbc_system.zero_function)
 
*  down_constraint_function_map insert *   (INNER_BOUNDARY_ID, &mech_lbc_system.zero_function)
 
****code *  ComponentMask x_component_mask (dim, false)
 
*  ComponentMask y_component_mask (3, false)
 
*  ComponentMask z_component_mask (dim, false)
 
*  *  *  RotationFunction< dim, Number >::RotationFunction PlasticityLab::Number (dim)
 
*  *  *  ScaleComponentFunction< dim, Number, components >::ScaleComponentFunction PlasticityLab::Number (components)
 
*  *  *  ScaleComponentFunction< dim, Number, components >::ScaleComponentFunction *  PlasticityLab::scale_factor (scale_factor)
 
*  *  *  ScaleComponentFunction< dim, Number, components >::ScaleComponentFunction *  *  PlasticityLab::in_component (in_component)
 
*  *  *  ScaleComponentFunction< dim, Number, components >::ScaleComponentFunction *  *  *  PlasticityLab::out_component (out_component)
 
*  *  *  ScaleZFunction< dim, Number, components >::ScaleZFunction *  PlasticityLab::component (component)
 
*  *  *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  ThermoPlasticMaterial *  PlasticityLab::mu (mu)
 
*  *  *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  ThermoPlasticMaterial *  *  PlasticityLab::thermal_expansion_coefficient (thermal_expansion_coefficient)
 
*  *  *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  ThermoPlasticMaterial *  *  *  PlasticityLab::thermal_conductivity (thermal_conductivity)
 
*  *  *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  ThermoPlasticMaterial *  *  *  *  PlasticityLab::heat_capacity (heat_capacity)
 
*  *  *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  ThermoPlasticMaterial *  *  *  *  *  PlasticityLab::reference_temperature (293.15)
 
*  *  *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  ThermoPlasticMaterial *  *  *  *  *  *  PlasticityLab::dissipation_factor (dissipation_factor)
 
*  *  *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  ThermoPlasticMaterial *  *  *  *  *  *  *  PlasticityLab::viscoplastic_yield_law (viscoplastic_yield_law)
 
*  *  PlasticityLab::if (update_pressure &update_flags) *  compute_pressure(constitutive_request
 
*  *  PlasticityLab::if ((update_stress_deviator|update_mechanical_dissipation) &update_flags) *  compute_stress_deviator_and_d_gamma(constitutive_request
 
*  *  PlasticityLab::if (update_heat_flux &update_flags) *  compute_heat_flux(constitutive_request
 
*  *  PlasticityLab::if (update_thermoelastic_heating &update_flags) *  compute_thermo_elastic_heating(constitutive_request
 
*  *  PlasticityLab::if (update_stored_heat &update_flags) *  compute_stored_heat_rate(constitutive_request
 
*  state_parameters PlasticityLab::reserve (get_material_parameter_count())
 
*  state_parameters PlasticityLab::push_back (std::log(1+point_history.hardening_parameters.equivalent_plastic_strain))
 
*  *  PlasticityLab::for (const auto &element :*  dealii_utils::symmetric_tensor_entries(log_of_b_e))
 
*  *  PlasticityLab::for (const auto &element :*  dealii_utils::symmetric_tensor_entries(*  point_history.hardening_parameters.kinematic_hardening) * )
 
*  *  state_parameters PlasticityLab::push_back (std::log(std::pow(reference_transformation_Jacobian, 1) *point_history.material_Jacobian))
 
*  *  PlasticityLab::for (auto &element :*  dealii_utils::symmetric_tensor_entries(log_of_b_e))
 
*  *  PlasticityLab::for (auto &element :*  dealii_utils::symmetric_tensor_entries(*  point_history.hardening_parameters.kinematic_hardening * ))
 
template<int dim, typename ViscoplasticYieldLaw , typename Number >
*  *  *  void *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  PlasticityLab::compute_pressure (ConstitutiveModelRequest< dim, Number > &constitutive_request, *  const point_index_t &)
 
*  PlasticityLab::if (std::isnan(b_e_bar_next.norm()))
 
*  constitutive_request PlasticityLab::set_b_e_bar (b_e_bar_next)
 
*  constitutive_request PlasticityLab::set_mu ((0.5 *mu))
 
*  *  PlasticityLab::if (0< trial_yield_criterion &&constitutive_request.get_is_plastic())
 
*  constitutive_request PlasticityLab::set_is_plastic (false)
 
*  PlasticityLab::if (update_stress_deviator &update_flags)
 
*  PlasticityLab::if (update_mechanical_dissipation &update_flags)
 
*  *endcode **The following is only necessary if the total Jacobian is PlasticityLab::tracked (J_c *J_m)
 
*  *endcode **The following is only necessary if the total Jacobian is rather than just J_m **code *  PlasticityLab::if (update_material_point_history &update_flags)
 
*  constitutive_request PlasticityLab::set_heat_flux (thermal_conductivity *thermal_gradient)
 
*  constitutive_request PlasticityLab::set_heat_flux_tangent_moduli (thermal_conductivity *unit_symmetric_tensor< dim, Number >())
 
*  PlasticityLab::if (J !=0 and previous_J !=0)
 
*  constitutive_request PlasticityLab::set_thermo_elastic_heating_tangent_modulus (0)
 
*  constitutive_request PlasticityLab::set_stored_heat_rate (stored_heat_rate)
 
*  constitutive_request PlasticityLab::set_stored_heat_rate_tangent_modulus (heat_capacity)
 
template<int dim, typename ViscoplasticYieldLaw , typename Number >
*  *  *  *  void *  ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >  PlasticityLab::determine_delta_gamma (Number &delta_gamma, Number &alpha_n_plus_1, *  const Number norm_ksi_trial, *  const Number mu_bar, *  const Number alpha_n, *  const Number temperature, *  const Number time_increment, *  const Number tol, *  const unsigned int max_iter) const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  TimeRateRequest< ValueType, dim, Number >  PlasticityLab::TimeRateRequest (TimeRateUpdateFlags update_flags)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_value (const ValueType &value)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_previous_value (const ValueType &previous_value)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_second_previous_value (const ValueType &second_previous_value)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_time_increment (const Number time_increment)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_previous_time_increment (const Number previous_time_increment)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_previous_partial_time_rate (const ValueType &previous_partial_time_rate)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_previous_total_time_rate (const ValueType &previous_total_time_rate)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_velocity (const ::Tensor< 1, dim, Number > &velocity)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_partial_time_rate () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_total_time_rate () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_partial_second_time_rate () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_total_second_time_rate () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_partial_time_rate_tangent (const ValueType &value_increment) const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_partial_second_time_rate_tangent (const ValueType &value_increment) const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  *  *  TimeRateUpdateFlags TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_update_flags () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_value () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_previous_value () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_second_previous_value () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  Number TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_time_increment () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  Number TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_previous_time_increment () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_previous_partial_time_rate () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ValueType TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_previous_total_time_rate () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  ::Tensor< 1, dim, Number > TimeRateRequest< ValueType, dim, Number >  PlasticityLab::get_velocity () const
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_partial_time_rate (const ValueType &partial_time_rate)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_total_time_rate (const ValueType &total_time_rate)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_partial_second_time_rate (const ValueType &partial_second_time_rate)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_total_second_time_rate (const ValueType &total_second_time_rate)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_partial_time_rate_tangent (const ValueType &partial_time_rate_tangent)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_total_time_rate_tangent (const ValueType &total_time_rate_tangent)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_partial_second_time_rate_tangent (const ValueType &partial_second_time_rate_tangent)
 
template<typename ValueType , int dim, typename Number >
*  *  *  *  void TimeRateRequest< ValueType, dim, Number >  PlasticityLab::set_total_second_time_rate_tangent (const ValueType &total_second_time_rate_tangent)
 
*  *  *  TimeRateUpdateFlags *  PlasticityLab::operator| (TimeRateUpdateFlags f1, TimeRateUpdateFlags f2)
 
*  *  *  const TimeRateUpdateFlags &*  PlasticityLab::operator|= (TimeRateUpdateFlags &f1, TimeRateUpdateFlags f2)
 
*  *  *  TimeRateUpdateFlags *  PlasticityLab::operator& (TimeRateUpdateFlags f1, TimeRateUpdateFlags f2)
 
*  *  *  const TimeRateUpdateFlags &*  PlasticityLab::operator&= (TimeRateUpdateFlags &f1, TimeRateUpdateFlags f2)
 
*  *  *endcode< a name="ann-src/main.cpp"></a >< h1 > Annotated version of src main cpp</h1 > Ansi style **  *  PlasticityLab::ThermoPlasticMaterial< DIM+1, PlasticityLab::JohnsonCookThermoviscoplasticYieldLaw< double >, double > *  getJohnsonCookThermoPlasticMaterial ()
 
*  *  int main (int argc, char **argv)
 
*  *  PlasticityLab::ThermoPlasticMaterial< DIM+1, PlasticityLab::ExponentialHardeningThermoviscoplasticYieldLaw< double >, double > *  getExponentialHardeningThermoPlasticMaterial ()
 
*  *  SymmetricTensorMutableEntriesView (tensor_type &t)
 
*  *  iterator ()=default
 
*  iterator (tensor_type *t, unsigned int i)
 
*  *  reference operator* () const
 
*  *  iterator & operator++ ()
 
*  iterator operator++ (int)
 
*  *  friend bool operator== (const iterator &a, const iterator &b) * 
 
*  friend bool operator!= (const iterator &a, const iterator &b)
 
*  *  const_iterator ()=default
 
*  const_iterator (const tensor_type *t, unsigned int i)
 
*  *  friend bool operator== (const const_iterator &a, const const_iterator &b) * 
 
*  friend bool operator!= (const const_iterator &a, const const_iterator &b)
 
*  *  iterator begin ()
 
*  iterator end ()
 
*  const_iterator cbegin () const
 
*  const_iterator cend () const
 
template<int rank, int dim, typename Number >
*  *  *endcode **Factories **code *  *  SymmetricTensorConstEntriesView< rank, dim, Number > *  symmetric_tensor_entries (const ::SymmetricTensor< rank, dim, Number > &t) * 
 
template<int rank, int dim, typename Number >
*  *  *  SymmetricTensorMutableEntriesView< rank, dim, Number > *  symmetric_tensor_entries (::SymmetricTensor< rank, dim, Number > &t) * 
 
*  *static   MPI_Comm PlasticityLab::mpi_communicator (MPI_COMM_WORLD)
 

Variables

***const Number total_elongation = 2 * 80.0
 
*const Number elongation_rate = time_since_start < 6.0? 0.05 : 1.75
 
*const unsigned int n_steps = ceil(total_elongation/(elongation_rate*time_increment))
 
*auto scale_z_handler
 
*  *  auto top_surface_unidirectional_penalty_spec = new BoundaryUnidirectionalPenaltySpec<Number>(3, 1e-2, 0, 1e4 / (time_increment * time_increment) )
 
*  *endcode **auto constant_velocity_handler
 
*std::map< types::boundary_id, const Function< dim, Number > * > top_constraint_function_map
 
****code *  const Number drive_speed = 0.8*314.159/3.0
 
*  *  auto scale_rotation_increment
 
*  *  auto constant_angular_velocity_handler
 
template<int dim>
*  *  *  struct InterferenceTaperTransform *  
 
*  const Number radius = 6.413
 
*  *  const Number top_coordinate = height/2
 
*  const Number base_coordinate = 0.0
 
*  const unsigned int base_repetitions = std::pow(2, n_initial_global_refinements)
 
*  const unsigned int aspect_ratio = std::ceil(0.5 * height / radius)
 
*  *  std::map< types::boundary_id, const Function< dim, Number > * > base_constraint_function_map
 
*  *  std::map< types::boundary_id, const Function< dim, Number > * > yz_constraint_function_map
 
*  *  std::map< types::boundary_id, const Function< dim, Number > * > top_rotation_constraint_function_map
 
*  *  std::map< types::boundary_id, const Function< dim, Number > * > axial_rotation_constraint_function_map
 
*  *endcode **Thermal constraints **code *  const Number convection_coefficient = 17.5e-6
 
*  *  auto push_z_handler
 
*  *endcode **auto constant_velocity_angular_handler
 
*  *endcode **std::map< types::boundary_id, const Function< dim, Number > * > thermal_constraint_function_map
 
*  *  const Number outer_radius = 60.0
 
*  *  std::map< types::boundary_id, const Function< dim, Number > * > down_constraint_function_map
 
*  const Number height = 25.4
 
*  *  std::map< types::boundary_id, const Function< dim, Number > * > axial_constraint_function_map
 
template<int dim, typename Number >
*  *  *  RotationFunction< dim, Number >::RotationFunction PlasticityLab:: 
 
*  *  PlasticityLab::point_index
 
template<int dim, typename ViscoplasticYieldLaw , typename Number >
*  *  *  *  std::vector< Number > ThermoPlasticMaterial< dim, ViscoplasticYieldLaw, Number >::get_state_parameters   PlasticityLab::const
 
*  *  const PointHistory< dim, Number > & PlasticityLab::point_history = material_point_history.at(point_index)
 
*  *  const Number PlasticityLab::reference_transformation_Jacobian = determinant(reference_transformation)
 
*  const auto PlasticityLab::isochoric_reference_transformation
 
*  *  const SymmetricTensor< 2, dim, Number > PlasticityLab::log_of_b_e
 
*  *  return PlasticityLab::state_parameters
 
*  size_t PlasticityLab::cursor = 0
 
*  *  point_history hardening_parameters PlasticityLab::equivalent_plastic_strain = std::exp(state_parameters[cursor++]) - 1
 
*  const auto PlasticityLab::inverse_isochoric_reference_transformation
 
*  *  point_history PlasticityLab::plastic_strain
 
*  *  point_history PlasticityLab::material_Jacobian = std::pow(reference_transformation_Jacobian, -1) * std::exp(state_parameters[cursor++])
 
*  const Tensor< 2, dim, Number > PlasticityLab::b_e = material_point_history[point_index].plastic_strain
 
*  PointHistory< dim, Number >::HardeningParameters PlasticityLab::hardening_parameters
 
*  const Tensor< 2, dim, Number > PlasticityLab::isochoric_deformation_gradient = constitutive_request.get_deformation_gradient()
 
*  const Number PlasticityLab::temperature = constitutive_request.get_temperature()
 
*  const auto PlasticityLab::b_e_bar_next
 
*  const auto PlasticityLab::epsilon_e_bar_next = get_log_of_tensor<>(b_e_bar_next)
 
*  const SymmetricTensor< 2, dim, Number > PlasticityLab::dev_stress_trial = deviator((0.5 * mu) * epsilon_e_bar_next)
 
**code *  const SymmetricTensor< 2, dim, Number > PlasticityLab::ksi_trial
 
*  const Number PlasticityLab::norm_ksi_trial = ksi_trial.norm()
 
*  const Number PlasticityLab::mu_bar = (0.5 * mu)
 
**code *  const SymmetricTensor< 2, dim, Number > PlasticityLab::stress_flow_direction
 
*  const Number PlasticityLab::time_increment = constitutive_request.get_time_increment()
 
*  *  const Number PlasticityLab::trial_yield_criterion
 
*  PlasticityLab::else
 
*  const Number PlasticityLab::J = constitutive_request.get_deformation_Jacobian()
 
*  const Number PlasticityLab::previous_J = constitutive_request.get_previous_deformation_Jacobian()
 
*  const Number PlasticityLab::J_time_rate = constitutive_request.get_deformation_Jacobian_time_rate()
 
*  const Number PlasticityLab::theta = constitutive_request.get_temperature()
 
*  const Number PlasticityLab::previous_theta = constitutive_request.get_previous_temperature()
 
*  *  template class PlasticityLab::ThermoPlasticMaterial< 3, ExponentialHardeningThermoviscoplasticYieldLaw< double >, double >
 
*  template class PlasticityLab::ThermoPlasticMaterial< 2, ExponentialHardeningThermoviscoplasticYieldLaw< double >, double >
 
*  *  template class PlasticityLab::ThermoPlasticMaterial< 3, JohnsonCookThermoviscoplasticYieldLaw< double >, double >
 
*  template class PlasticityLab::ThermoPlasticMaterial< 2, JohnsonCookThermoviscoplasticYieldLaw< double >, double >
 
*  tensor_type * t_ = nullptr
 
*  unsigned int i_ = 0
 

Typedef Documentation

◆ value_type

typedef Number value_type

Definition at line 10345 of file ALE_Finite_Strain_Plasticity.h.

◆ difference_type

typedef std::ptrdiff_t difference_type

Definition at line 10346 of file ALE_Finite_Strain_Plasticity.h.

◆ pointer

typedef const Number * pointer

Definition at line 10347 of file ALE_Finite_Strain_Plasticity.h.

◆ reference

typedef const Number & reference

Definition at line 10348 of file ALE_Finite_Strain_Plasticity.h.

Function Documentation

◆ push_back() [1/7]

*  *  mech_lbc_system increment_interpolation_handlers push_back ( scale_z_handler  )

◆  () [1/12]

****code *  mech_lbc_system boundaryLoadAppliers push_back *   ( *   3,
BodyForceApplier< dim, Number >  dim-1, -40 
)

◆ push_back() [2/7]

*  mech_lbc_system boundary_unidirectional_penalty_specs push_back ( top_surface_unidirectional_penalty_spec  )

◆ push_back() [3/7]

*  *  mech_lbc_system initial_velocity_interpolation_handlers push_back ( constant_velocity_handler  )

◆ InterpolatoryConstraintApplier() [1/2]

*mech_lbc_system interpolatoryConstraintAppliers push_back * InterpolatoryConstraintApplier ( *  top_constraint_function_map,
*  y_component_mask 
)

◆ push_back() [4/7]

*  mech_lbc_system increment_interpolation_handlers push_back ( scale_rotation_increment  )

◆ push_back() [5/7]

*  mech_lbc_system initial_velocity_interpolation_handlers push_back ( constant_angular_velocity_handler  )

◆ NeckingTaperTransform()

*  NeckingTaperTransform ( double  factor)

Definition at line 7899 of file ALE_Finite_Strain_Plasticity.h.

◆ operator()()

*  *  Point< dim > operator() ( const Point< dim > &  p) const

Definition at line 7901 of file ALE_Finite_Strain_Plasticity.h.

◆  () [2/12]

◆ x_component_mask() [1/2]

*  *  ComponentMask x_component_mask ( dim+  1,
false   
)

◆ set() [1/4]

*  x_component_mask set ( 0  ,
true   
)

◆ y_component_mask() [1/2]

*  ComponentMask y_component_mask ( dim+  1,
false   
)

◆ set() [2/4]

*  y_component_mask set ( 1  ,
true   
)

◆ z_component_mask() [1/2]

*  ComponentMask z_component_mask ( dim+  1,
false   
)

◆ set() [3/4]

*  z_component_mask set ( dim-  1,
true   
)

◆ rho_component_mask()

*  ComponentMask rho_component_mask ( dim+  1,
false   
)

◆ set() [4/4]

*  rho_component_mask set ( dim  ,
true   
)

◆  () [3/12]

*  base_constraint_function_map insert *   ( 2  ,
&mech_lbc_system.  zero_function 
)

◆  () [4/12]

*  mech_lbc_system interpolatoryConstraintAppliers push_back *   ( *   base_constraint_function_map,
*   y_component_mask 
)

◆  () [5/12]

*  top_constraint_function_map insert *   ( 3  ,
&mech_lbc_system.  zero_function 
)

◆  () [6/12]

*  yz_constraint_function_map insert *   ( 0  ,
&mech_lbc_system.  zero_function 
)

◆  () [7/12]

*  therm_lbc_system convection_BC_appliers push_back *   ( *   1,
*  ConvectionBoundaryConditionApplier< dim, Number > *0,,  ambient_temperature 
)

◆  () [8/12]

*  *  GridGenerator::subdivided_hyper_rectangle *   ( 0  ,
0   
)

◆ push_back() [6/7]

*  *  mech_lbc_system increment_interpolation_handlers push_back ( push_z_handler  )

◆ push_back() [7/7]

*  *  mech_lbc_system initial_deformation_interpolation_handlers push_back ( constant_velocity_angular_handler  )

◆ InterpolatoryConstraintApplier() [2/2]

*therm_dof_system interpolatoryConstraintAppliers push_back * InterpolatoryConstraintApplier ( *  thermal_constraint_function_map,
ComponentMask(1, true)   
)

◆  () [9/12]

*  *  GridGenerator::half_hyper_ball *   ( 0  ,
-  10 
)

◆ for()

*  *  for ( const auto &cell :triangulation.  active_cell_iterators())

Definition at line 8203 of file ALE_Finite_Strain_Plasticity.h.

◆ refine_global()

*  *  triangulation refine_global ( n_initial_global_refinements  )

◆  () [10/12]

*  *  mech_lbc_system boundaryLoadAppliers push_back *   ( *   1,
BodyForceApplier< dim, Number >  dim, 0.8 *4.50e1 
)

◆ all_component_mask()

*  ComponentMask all_component_mask ( dim+  1,
true   
)

◆  () [11/12]

*  yz_constraint_function_map insert *   ( 1  ,
&mech_lbc_system.  zero_function 
)

◆  () [12/12]

*  down_constraint_function_map insert *   ( INNER_BOUNDARY_ID  ,
&mech_lbc_system.  zero_function 
)

◆ x_component_mask() [2/2]

****code *  ComponentMask x_component_mask ( dim  ,
false   
)

◆ y_component_mask() [2/2]

*  ComponentMask y_component_mask ( 3  ,
false   
)

◆ z_component_mask() [2/2]

*  ComponentMask z_component_mask ( dim  ,
false   
)

◆ getJohnsonCookThermoPlasticMaterial()

*  *  PlasticityLab::ThermoPlasticMaterial< DIM+1, PlasticityLab::JohnsonCookThermoviscoplasticYieldLaw< double >, double > *  getJohnsonCookThermoPlasticMaterial ( )

Definition at line 10226 of file ALE_Finite_Strain_Plasticity.h.

◆ main()

*  *  int main ( int  argc,
char **  argv 
)

Definition at line 10156 of file ALE_Finite_Strain_Plasticity.h.

◆ getExponentialHardeningThermoPlasticMaterial()

*  *  PlasticityLab::ThermoPlasticMaterial< DIM+1, PlasticityLab::ExponentialHardeningThermoviscoplasticYieldLaw< double >, double > *  getExponentialHardeningThermoPlasticMaterial ( )

Definition at line 10191 of file ALE_Finite_Strain_Plasticity.h.

◆ SymmetricTensorMutableEntriesView()

*  *  SymmetricTensorMutableEntriesView ( tensor_type &  t)
explicit

Definition at line 10339 of file ALE_Finite_Strain_Plasticity.h.

◆ iterator() [1/2]

*  *  iterator ( )
default

◆ iterator() [2/2]

*  iterator ( tensor_type *  t,
unsigned int  i 
)

Definition at line 10351 of file ALE_Finite_Strain_Plasticity.h.

◆ operator*()

*  *  reference operator* ( ) const

Definition at line 10353 of file ALE_Finite_Strain_Plasticity.h.

◆ operator++() [1/2]

*  *  const_iterator & operator++ ( )

Definition at line 10355 of file ALE_Finite_Strain_Plasticity.h.

◆ operator++() [2/2]

*  const_iterator operator++ ( int  )

Definition at line 10356 of file ALE_Finite_Strain_Plasticity.h.

◆ operator==() [1/2]

*  *  friend bool operator== ( const iterator &  a,
const iterator &  b 
)

Definition at line 10358 of file ALE_Finite_Strain_Plasticity.h.

◆ operator!=() [1/2]

*  friend bool operator!= ( const iterator &  a,
const iterator &  b 
)

Definition at line 10362 of file ALE_Finite_Strain_Plasticity.h.

◆ const_iterator() [1/2]

*  *  const_iterator ( )
privatedefault

Definition at line 183 of file petsc_matrix_base.h.

◆ const_iterator() [2/2]

*  const_iterator ( const tensor_type *  t,
unsigned int  i 
)
private

Definition at line 10379 of file ALE_Finite_Strain_Plasticity.h.

◆ operator==() [2/2]

*  *  friend bool operator== ( const const_iterator &  a,
const const_iterator &  b 
)
private

Definition at line 10386 of file ALE_Finite_Strain_Plasticity.h.

◆ operator!=() [2/2]

*  friend bool operator!= ( const const_iterator &  a,
const const_iterator &  b 
)
private

Definition at line 10390 of file ALE_Finite_Strain_Plasticity.h.

◆ begin()

*  *  const_iterator begin ( )
private

Definition at line 10397 of file ALE_Finite_Strain_Plasticity.h.

◆ end()

*  const_iterator end ( )
private

Definition at line 10398 of file ALE_Finite_Strain_Plasticity.h.

◆ cbegin()

*  const_iterator cbegin ( ) const
private

Definition at line 10402 of file ALE_Finite_Strain_Plasticity.h.

◆ cend()

*  const_iterator cend ( ) const
private

Definition at line 10403 of file ALE_Finite_Strain_Plasticity.h.

◆ symmetric_tensor_entries() [1/2]

template<int rank, int dim, typename Number >
*  *  *endcode **Factories **code *  *  SymmetricTensorConstEntriesView< rank, dim, Number > *  symmetric_tensor_entries ( const ::SymmetricTensor< rank, dim, Number > &  t)
private

Definition at line 10417 of file ALE_Finite_Strain_Plasticity.h.

◆ symmetric_tensor_entries() [2/2]

template<int rank, int dim, typename Number >
*  *  *  SymmetricTensorMutableEntriesView< rank, dim, Number > *  symmetric_tensor_entries ( ::SymmetricTensor< rank, dim, Number > &  t)
private

Definition at line 10424 of file ALE_Finite_Strain_Plasticity.h.

Variable Documentation

◆ total_elongation

*  *  const Number total_elongation = 2 * 80.0

Definition at line 7791 of file ALE_Finite_Strain_Plasticity.h.

◆ elongation_rate

*  const Number elongation_rate = time_since_start < 6.0? 0.05 : 1.75

Definition at line 7792 of file ALE_Finite_Strain_Plasticity.h.

◆ n_steps

*  const unsigned int n_steps = ceil(total_elongation/(elongation_rate*time_increment))

Definition at line 7793 of file ALE_Finite_Strain_Plasticity.h.

◆ scale_z_handler

*  *  auto scale_z_handler
Initial value:
= new IncrementInterpolationHandler<dim, Number, dim+1>(
* new ConstantFunction<dim, Number>({0, -total_elongation/(static_cast<Number>(n_steps)), 0}),
* true,
* false,
* ComponentMask(dim+1, false),
* 3,
* mapping)
*  ComponentMask y_component_mask(dim+1, false)
*const unsigned int n_steps
***const Number total_elongation

Definition at line 7794 of file ALE_Finite_Strain_Plasticity.h.

◆ top_surface_unidirectional_penalty_spec

*  *   auto top_surface_unidirectional_penalty_spec = new BoundaryUnidirectionalPenaltySpec<Number>(3, 1e-2, 0, 1e4 / (time_increment * time_increment) )

Definition at line 7815 of file ALE_Finite_Strain_Plasticity.h.

◆ constant_velocity_handler

*  *  auto constant_velocity_handler
Initial value:
= new IncrementInterpolationHandler<dim, Number, dim+1>(
* new ScaleZFunction<dim, Number, dim+1>(-total_elongation/(static_cast<Number>(n_steps)*time_increment), dim-1),
* true,
* false,
* ComponentMask(dim+1, false),
* 0,
* mapping)

Definition at line 7820 of file ALE_Finite_Strain_Plasticity.h.

◆ top_constraint_function_map

*  *  std::map< types::boundary_id, const Function< dim, Number > * > top_constraint_function_map

Definition at line 7829 of file ALE_Finite_Strain_Plasticity.h.

◆ drive_speed

*  *  const Number drive_speed = 0.8*314.159/3.0

Definition at line 7841 of file ALE_Finite_Strain_Plasticity.h.

◆ scale_rotation_increment

*  *  auto scale_rotation_increment
Initial value:
= new IncrementInterpolationHandler<dim, Number, dim+1>(
*   new ScaleComponentFunction<dim, Number, dim+1>(drive_speed * time_increment, 0, dim),
*   true,
*   false,
*   ComponentMask(dim+1, false),
*   3,
*   mapping)
****code *  const Number drive_speed
*  *  *  struct InterferenceTaperTransform *  
*  ComponentMask rho_component_mask(dim+1, false)

Definition at line 7843 of file ALE_Finite_Strain_Plasticity.h.

◆ constant_angular_velocity_handler

*  auto constant_angular_velocity_handler
Initial value:
= new IncrementInterpolationHandler<dim, Number, dim+1>(
*   new ScaleComponentFunction<dim, Number, dim+1>(drive_speed, 0, dim),
*   true,
*   false,
*   ComponentMask(dim+1, false),
*   3,
*   mapping)

Definition at line 7853 of file ALE_Finite_Strain_Plasticity.h.

◆  

template<int dim>
*  
Initial value:
{
*   Point<dim> operator()(const Point<dim> &p) const
*   {
*   Point<dim> q = p;
*   if (p[0]>=35 && p[0]<=300 && p[1]<=0 && p[1]>=-150)
*   {
*   q[0] += 5 * ((p[1] + 150) / 150) * ((p[0]-300) / (35-300));
*   }
*   return q;
*   }
*   }
*  *  Point< dim > operator()(const Point< dim > &p) const * 
Definition point.h:111

Definition at line 7883 of file ALE_Finite_Strain_Plasticity.h.

◆ radius

*  const Number radius = 6.413

Definition at line 7918 of file ALE_Finite_Strain_Plasticity.h.

◆ top_coordinate

*  *   const Number top_coordinate = height/2

Definition at line 7920 of file ALE_Finite_Strain_Plasticity.h.

◆ base_coordinate

*   const Number base_coordinate = 0.0

Definition at line 7921 of file ALE_Finite_Strain_Plasticity.h.

◆ base_repetitions

*  *  const unsigned int base_repetitions = std::pow(2, n_initial_global_refinements)

Definition at line 7922 of file ALE_Finite_Strain_Plasticity.h.

◆ aspect_ratio

*  const unsigned int aspect_ratio = std::ceil(0.5 * height / radius)

Definition at line 7923 of file ALE_Finite_Strain_Plasticity.h.

◆ base_constraint_function_map

*  *  std::map< types::boundary_id, const Function< dim, Number > * > base_constraint_function_map

Definition at line 7950 of file ALE_Finite_Strain_Plasticity.h.

◆ yz_constraint_function_map

*  *  std::map< types::boundary_id, const Function< dim, Number > * > yz_constraint_function_map

Definition at line 7966 of file ALE_Finite_Strain_Plasticity.h.

◆ top_rotation_constraint_function_map

*  *  std::map< types::boundary_id, const Function< dim, Number > * > top_rotation_constraint_function_map

Definition at line 7990 of file ALE_Finite_Strain_Plasticity.h.

◆ axial_rotation_constraint_function_map

*  *  std::map< types::boundary_id, const Function< dim, Number > * > axial_rotation_constraint_function_map

Definition at line 7998 of file ALE_Finite_Strain_Plasticity.h.

◆ convection_coefficient

*  *endcode **Thermal constraints **code *  const Number convection_coefficient = 17.5e-6

Definition at line 8011 of file ALE_Finite_Strain_Plasticity.h.

◆ push_z_handler

*  *  auto push_z_handler
Initial value:
= new IncrementInterpolationHandler<dim, Number, dim+1>(
*   new ConstantFunction<dim, Number>(std::vector< Number >{0, -total_elongation/static_cast<Number>(n_steps), 0}),
*   true,
*   false,
*   ComponentMask(dim+1, false),
*   0,
*   mapping)

Definition at line 8086 of file ALE_Finite_Strain_Plasticity.h.

◆ constant_velocity_angular_handler

*  *  auto constant_velocity_angular_handler
Initial value:
= new IncrementInterpolationHandler<dim, Number, dim+1>(
* new ScaleComponentFunction<dim, Number, dim+1>(0.0e-3, 0, dim),
* true,
* false,
* ComponentMask(dim+1, false),
* 0,
* mapping)

Definition at line 8136 of file ALE_Finite_Strain_Plasticity.h.

◆ thermal_constraint_function_map

*  *endcode **std::map< types::boundary_id, const Function< dim, Number > * > thermal_constraint_function_map

Definition at line 8173 of file ALE_Finite_Strain_Plasticity.h.

◆ outer_radius

*  *   const Number outer_radius = 60.0

Definition at line 8195 of file ALE_Finite_Strain_Plasticity.h.

◆ down_constraint_function_map

*  *   std::map< types::boundary_id, const Function< dim, Number > * > down_constraint_function_map

Definition at line 8231 of file ALE_Finite_Strain_Plasticity.h.

◆ height

*   const Number height = 25.4

Definition at line 8297 of file ALE_Finite_Strain_Plasticity.h.

◆ axial_constraint_function_map

*  *   std::map< types::boundary_id, const Function< dim, Number > * > axial_constraint_function_map

Definition at line 8330 of file ALE_Finite_Strain_Plasticity.h.

◆ t_

*  tensor_type * t_ = nullptr
private

Definition at line 10365 of file ALE_Finite_Strain_Plasticity.h.

◆ i_

*  unsigned int i_ = 0
private

Definition at line 10366 of file ALE_Finite_Strain_Plasticity.h.