deal.II version 9.8.0
\(\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
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 ()
*  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

using value_type = Number

Definition at line 10361 of file ALE_Finite_Strain_Plasticity.h.

◆ difference_type

using difference_type = std::ptrdiff_t

Definition at line 10362 of file ALE_Finite_Strain_Plasticity.h.

◆ pointer

typedef const Number * pointer = Number *

Definition at line 10363 of file ALE_Finite_Strain_Plasticity.h.

◆ reference

typedef const Number & reference = Number &

Definition at line 10364 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 7915 of file ALE_Finite_Strain_Plasticity.h.

◆ operator()()

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

Definition at line 7917 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]

◆ 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 8219 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 10242 of file ALE_Finite_Strain_Plasticity.h.

◆ main()

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

Definition at line 10172 of file ALE_Finite_Strain_Plasticity.h.

◆ getExponentialHardeningThermoPlasticMaterial()

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

Definition at line 10207 of file ALE_Finite_Strain_Plasticity.h.

◆ SymmetricTensorMutableEntriesView()

*  *  SymmetricTensorMutableEntriesView ( tensor_type & t)
explicit

Definition at line 10355 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 10367 of file ALE_Finite_Strain_Plasticity.h.

◆ operator*()

*  *  reference operator* ( ) const

Definition at line 10369 of file ALE_Finite_Strain_Plasticity.h.

◆ operator++() [1/2]

*  *  const_iterator & operator++ ( )

Definition at line 10371 of file ALE_Finite_Strain_Plasticity.h.

◆ operator++() [2/2]

*  const_iterator operator++ ( int )

Definition at line 10372 of file ALE_Finite_Strain_Plasticity.h.

◆ operator==() [1/2]

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

Definition at line 10374 of file ALE_Finite_Strain_Plasticity.h.

◆ operator!=() [1/2]

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

Definition at line 10378 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 10395 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 10402 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 10406 of file ALE_Finite_Strain_Plasticity.h.

◆ begin()

*  *  const_iterator begin ( )
private

Definition at line 10413 of file ALE_Finite_Strain_Plasticity.h.

◆ end()

*  const_iterator end ( )
private

Definition at line 10414 of file ALE_Finite_Strain_Plasticity.h.

◆ cbegin()

*  const_iterator cbegin ( ) const
private

Definition at line 10418 of file ALE_Finite_Strain_Plasticity.h.

◆ cend()

*  const_iterator cend ( ) const
private

Definition at line 10419 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 10433 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 10440 of file ALE_Finite_Strain_Plasticity.h.

Variable Documentation

◆ total_elongation

*  *  const Number total_elongation = 2 * 80.0

Definition at line 7807 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 7808 of file ALE_Finite_Strain_Plasticity.h.

◆ n_steps

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

Definition at line 7809 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,
*  ComponentMask y_component_mask(dim+1, false)
*const unsigned int n_steps
***const Number total_elongation
MappingQ< dim, spacedim > StaticMappingQ1< dim, spacedim >::mapping
Definition mapping_q1.h:101

Definition at line 7810 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 7831 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,

Definition at line 7836 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 7845 of file ALE_Finite_Strain_Plasticity.h.

◆ drive_speed

*  *  const Number drive_speed = 0.8*314.159/3.0

Definition at line 7857 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,
*  *  *  struct InterferenceTaperTransform *  
****code *  const Number drive_speed
*  ComponentMask rho_component_mask(dim+1, false)

Definition at line 7859 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,

Definition at line 7869 of file ALE_Finite_Strain_Plasticity.h.

◆  

template<int dim>
*  std::vector< Tensor< 1, 2, ADNumberType > > old_solution_grad *  
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

Local to Global Degree of freedom indices

  * #concol_grad now holds the #converged_solution at the Gauss points of the current cell. These are regular numbers.  

Definition at line 7899 of file ALE_Finite_Strain_Plasticity.h.

◆ radius

*  const Number radius = 6.413

Definition at line 7934 of file ALE_Finite_Strain_Plasticity.h.

◆ top_coordinate

*  *   const Number top_coordinate = height/2

Definition at line 7936 of file ALE_Finite_Strain_Plasticity.h.

◆ base_coordinate

*   const Number base_coordinate = 0.0

Definition at line 7937 of file ALE_Finite_Strain_Plasticity.h.

◆ base_repetitions

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

Definition at line 7938 of file ALE_Finite_Strain_Plasticity.h.

◆ aspect_ratio

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

Definition at line 7939 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 7966 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 7982 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 8006 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 8014 of file ALE_Finite_Strain_Plasticity.h.

◆ convection_coefficient

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

Definition at line 8027 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,

Definition at line 8102 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,

Definition at line 8152 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 8189 of file ALE_Finite_Strain_Plasticity.h.

◆ outer_radius

*  *   const Number outer_radius = 60.0

Definition at line 8211 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 8247 of file ALE_Finite_Strain_Plasticity.h.

◆ height

*   const Number height = 25.4

Definition at line 8313 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 8346 of file ALE_Finite_Strain_Plasticity.h.

◆ t_

*  tensor_type * t_ = nullptr
private

Definition at line 10381 of file ALE_Finite_Strain_Plasticity.h.

◆ i_

*  unsigned int i_ = 0
private

Definition at line 10382 of file ALE_Finite_Strain_Plasticity.h.