micromechanical (C++)
Loading...
Searching...
No Matches
micromechanical::core::Options< T > Struct Template Reference

Options for micromechanical models. More...

#include <options.hpp>

Public Attributes

bool update_void_ratio_from_after_isotropic_loading_to_before = false
 whether to update the void ratio after the isotropic loading to the void ratio before the isotropic loading
 
bool update_npv = false
 whether to update npv based on the coordination number and particle radius
 
bool update_fabric_coefs = false
 whether to update fabric coefficients
 
bool kinematic_hypothesis = false
 use the kinematic hypothesis
 
bool separate_mean_deviatoric_stress_strain = false
 apply mean and deviatoric stress/strain separately
 
bool best_fit_strain_averaging = true
 use the best-fit hypothesis for strain averaging
 
bool precise_incremental_volumetric_strain = false
 use the precise volumetric strain to update void ratio
 
bool increment_plastic_displacement = true
 increment plastic displacement to the total displacement
 
bool use_isotropic_fabric_tensor_in_strain_averaging = true
 
bool use_isotropic_fabric_tensor_in_stress_localization = false
 Use isotropic fabric tensor in stress localization.
 
bool use_plastic_strain_in_fabric_evolution = true
 Use plastic strain in fabric evolution.
 
bool ignore_fabric_rotations_for_isotropic_loading = false
 ignore fabric rotations for isotropic loading
 
bool ignore_fabric_evolution_for_isotropic_loading = false
 ignore fabric evolution for isotropic loading
 
bool ignore_distractions = true
 ignore distractions in the calculation
 
bool mixed_load_check_convergence = true
 
bool mixed_load_check_strain_convergence = true
 check convergence of mixed load control with maximum iterations
 
bool mixed_load_check_absolute_convergence = false
 check absolute tolerance for the mixed load
 
mixed_load_absolute_tolerance = 1e-5
 absolute tolerance for the mixed load
 
mixed_load_relative_tolerance = 1e-3
 relative tolerance for the mixed load
 
int mixed_load_max_iterations = 100
 maximum number of iterations for the mixed load control algorithm
 
int mixed_load_max_larger_steps = -1
 maximum number of larger steps for the mixed load control algorithm
 
integration_loading_ratio = 1.0
 
bool integration_substepping_relative_to_increment = false
 whether to use the macro-micro integration substepping relative to the increment of last step
 
integration_max_substepping_ratio = -1.0
 maximum macro-micro integration substepping ratio
 
integration_min_substepping_ratio = -1.0
 minimum macro-micro integration substepping ratio
 
bool integration_check_convergence = true
 check convergence of integration with maximum iterations
 
bool integration_check_absolute_convergence = false
 check absolute contact integration error
 
integration_absolute_tolerance = 1e-10
 absolute tolerance for the unbalanced force
 
integration_relative_tolerance = 1e-3
 relative tolerance for the unbalanced force
 
int integration_max_iterations = 100
 maximum number of iterations for the integration algorithm
 
bool contact_check_convergence = true
 Whether to check the convergence.
 
contact_tolerance = 1e-10
 Contact tolerance.
 
int contact_max_iterations = 100
 Maximum number of iterations.
 
contact_max_increment = 0.1
 Maximum force ratio increment.
 
contact_min_normal_force = 1e-10
 minimum normal force
 
bool contact_friction_angle_combined = false
 Whether to use the combined friction angle.
 
contact_friction_angle_weight_mises = 0.0
 Weight for Von Mises criterion in the friction angle.
 
contact_friction_angle_weight_tresca = 0.0
 Weight for Tresca criterion in the friction angle.
 
contact_friction_angle_weight_mohr_coulomb = 1.0
 Weight for Mohr-Coulomb criterion in the friction angle.
 
contact_friction_angle_weight_smp = 0.0
 Weight for SMP criterion in the friction angle.
 
bool contact_check_plastic_multiplier = true
 Whether to check the sign of plastic multiplier.
 
contact_plastic_method_multiplier = 1.0
 
bool contact_ensure_force_state_on_yield_surface = false
 Whether to ensure the force state is on the yield surface.
 
bool contact_sanisand_constant_hardening_parameter = true
 Whether to use constant hardening parameter h for the SANISAND contact law.
 
bool contact_sanisand_maintain_yield_surface = false
 Whether to maintain the yield surface for the SANISAND contact law.
 
bool contact_linear_critical_state_line = false
 Whether to use linear critical state line for OSIMSAND contact law.
 
int disp_steps = -1
 Print debug information every disp_steps steps.
 
bool verbose = false
 Whether to print verbose information.
 
bool cache = true
 Cache contact variables.
 
int cache_precision = 15
 Cache contact variables precision.
 
bool debug = false
 debug flag
 
int run_steps = -1
 number of steps to run
 
int run_mixed_load_steps = -1
 number of mixed load steps to run
 
int run_contact_integration_steps = -1
 number of contact integration steps to run
 

Detailed Description

template<typename T>
struct micromechanical::core::Options< T >

Options for micromechanical models.

Member Data Documentation

◆ best_fit_strain_averaging

template<typename T>
bool micromechanical::core::Options< T >::best_fit_strain_averaging = true

use the best-fit hypothesis for strain averaging

◆ cache

template<typename T>
bool micromechanical::core::Options< T >::cache = true

Cache contact variables.

◆ cache_precision

template<typename T>
int micromechanical::core::Options< T >::cache_precision = 15

Cache contact variables precision.

◆ contact_check_convergence

template<typename T>
bool micromechanical::core::Options< T >::contact_check_convergence = true

Whether to check the convergence.

◆ contact_check_plastic_multiplier

template<typename T>
bool micromechanical::core::Options< T >::contact_check_plastic_multiplier = true

Whether to check the sign of plastic multiplier.

◆ contact_ensure_force_state_on_yield_surface

template<typename T>
bool micromechanical::core::Options< T >::contact_ensure_force_state_on_yield_surface = false

Whether to ensure the force state is on the yield surface.

◆ contact_friction_angle_combined

template<typename T>
bool micromechanical::core::Options< T >::contact_friction_angle_combined = false

Whether to use the combined friction angle.

◆ contact_friction_angle_weight_mises

template<typename T>
T micromechanical::core::Options< T >::contact_friction_angle_weight_mises = 0.0

Weight for Von Mises criterion in the friction angle.

◆ contact_friction_angle_weight_mohr_coulomb

template<typename T>
T micromechanical::core::Options< T >::contact_friction_angle_weight_mohr_coulomb = 1.0

Weight for Mohr-Coulomb criterion in the friction angle.

◆ contact_friction_angle_weight_smp

template<typename T>
T micromechanical::core::Options< T >::contact_friction_angle_weight_smp = 0.0

Weight for SMP criterion in the friction angle.

◆ contact_friction_angle_weight_tresca

template<typename T>
T micromechanical::core::Options< T >::contact_friction_angle_weight_tresca = 0.0

Weight for Tresca criterion in the friction angle.

◆ contact_linear_critical_state_line

template<typename T>
bool micromechanical::core::Options< T >::contact_linear_critical_state_line = false

Whether to use linear critical state line for OSIMSAND contact law.

◆ contact_max_increment

template<typename T>
T micromechanical::core::Options< T >::contact_max_increment = 0.1

Maximum force ratio increment.

◆ contact_max_iterations

template<typename T>
int micromechanical::core::Options< T >::contact_max_iterations = 100

Maximum number of iterations.

◆ contact_min_normal_force

template<typename T>
T micromechanical::core::Options< T >::contact_min_normal_force = 1e-10

minimum normal force

◆ contact_plastic_method_multiplier

template<typename T>
T micromechanical::core::Options< T >::contact_plastic_method_multiplier = 1.0

Multiplier for the contact plastic method

◆ contact_sanisand_constant_hardening_parameter

template<typename T>
bool micromechanical::core::Options< T >::contact_sanisand_constant_hardening_parameter = true

Whether to use constant hardening parameter h for the SANISAND contact law.

◆ contact_sanisand_maintain_yield_surface

template<typename T>
bool micromechanical::core::Options< T >::contact_sanisand_maintain_yield_surface = false

Whether to maintain the yield surface for the SANISAND contact law.

◆ contact_tolerance

template<typename T>
T micromechanical::core::Options< T >::contact_tolerance = 1e-10

Contact tolerance.

◆ debug

template<typename T>
bool micromechanical::core::Options< T >::debug = false

debug flag

◆ disp_steps

template<typename T>
int micromechanical::core::Options< T >::disp_steps = -1

Print debug information every disp_steps steps.

◆ ignore_distractions

template<typename T>
bool micromechanical::core::Options< T >::ignore_distractions = true

ignore distractions in the calculation

◆ ignore_fabric_evolution_for_isotropic_loading

template<typename T>
bool micromechanical::core::Options< T >::ignore_fabric_evolution_for_isotropic_loading = false

ignore fabric evolution for isotropic loading

◆ ignore_fabric_rotations_for_isotropic_loading

template<typename T>
bool micromechanical::core::Options< T >::ignore_fabric_rotations_for_isotropic_loading = false

ignore fabric rotations for isotropic loading

◆ increment_plastic_displacement

template<typename T>
bool micromechanical::core::Options< T >::increment_plastic_displacement = true

increment plastic displacement to the total displacement

◆ integration_absolute_tolerance

template<typename T>
T micromechanical::core::Options< T >::integration_absolute_tolerance = 1e-10

absolute tolerance for the unbalanced force

◆ integration_check_absolute_convergence

template<typename T>
bool micromechanical::core::Options< T >::integration_check_absolute_convergence = false

check absolute contact integration error

◆ integration_check_convergence

template<typename T>
bool micromechanical::core::Options< T >::integration_check_convergence = true

check convergence of integration with maximum iterations

◆ integration_loading_ratio

template<typename T>
T micromechanical::core::Options< T >::integration_loading_ratio = 1.0

macro-micro integration loading ratio

◆ integration_max_iterations

template<typename T>
int micromechanical::core::Options< T >::integration_max_iterations = 100

maximum number of iterations for the integration algorithm

◆ integration_max_substepping_ratio

template<typename T>
T micromechanical::core::Options< T >::integration_max_substepping_ratio = -1.0

maximum macro-micro integration substepping ratio

◆ integration_min_substepping_ratio

template<typename T>
T micromechanical::core::Options< T >::integration_min_substepping_ratio = -1.0

minimum macro-micro integration substepping ratio

◆ integration_relative_tolerance

template<typename T>
T micromechanical::core::Options< T >::integration_relative_tolerance = 1e-3

relative tolerance for the unbalanced force

◆ integration_substepping_relative_to_increment

template<typename T>
bool micromechanical::core::Options< T >::integration_substepping_relative_to_increment = false

whether to use the macro-micro integration substepping relative to the increment of last step

◆ kinematic_hypothesis

template<typename T>
bool micromechanical::core::Options< T >::kinematic_hypothesis = false

use the kinematic hypothesis

◆ mixed_load_absolute_tolerance

template<typename T>
T micromechanical::core::Options< T >::mixed_load_absolute_tolerance = 1e-5

absolute tolerance for the mixed load

◆ mixed_load_check_absolute_convergence

template<typename T>
bool micromechanical::core::Options< T >::mixed_load_check_absolute_convergence = false

check absolute tolerance for the mixed load

◆ mixed_load_check_convergence

template<typename T>
bool micromechanical::core::Options< T >::mixed_load_check_convergence = true

◆ mixed_load_check_strain_convergence

template<typename T>
bool micromechanical::core::Options< T >::mixed_load_check_strain_convergence = true

check convergence of mixed load control with maximum iterations

check strain convergence of the mixed load control algorithm

◆ mixed_load_max_iterations

template<typename T>
int micromechanical::core::Options< T >::mixed_load_max_iterations = 100

maximum number of iterations for the mixed load control algorithm

◆ mixed_load_max_larger_steps

template<typename T>
int micromechanical::core::Options< T >::mixed_load_max_larger_steps = -1

maximum number of larger steps for the mixed load control algorithm

◆ mixed_load_relative_tolerance

template<typename T>
T micromechanical::core::Options< T >::mixed_load_relative_tolerance = 1e-3

relative tolerance for the mixed load

◆ precise_incremental_volumetric_strain

template<typename T>
bool micromechanical::core::Options< T >::precise_incremental_volumetric_strain = false

use the precise volumetric strain to update void ratio

◆ run_contact_integration_steps

template<typename T>
int micromechanical::core::Options< T >::run_contact_integration_steps = -1

number of contact integration steps to run

◆ run_mixed_load_steps

template<typename T>
int micromechanical::core::Options< T >::run_mixed_load_steps = -1

number of mixed load steps to run

◆ run_steps

template<typename T>
int micromechanical::core::Options< T >::run_steps = -1

number of steps to run

◆ separate_mean_deviatoric_stress_strain

template<typename T>
bool micromechanical::core::Options< T >::separate_mean_deviatoric_stress_strain = false

apply mean and deviatoric stress/strain separately

◆ update_fabric_coefs

template<typename T>
bool micromechanical::core::Options< T >::update_fabric_coefs = false

whether to update fabric coefficients

◆ update_npv

template<typename T>
bool micromechanical::core::Options< T >::update_npv = false

whether to update npv based on the coordination number and particle radius

◆ update_void_ratio_from_after_isotropic_loading_to_before

template<typename T>
bool micromechanical::core::Options< T >::update_void_ratio_from_after_isotropic_loading_to_before = false

whether to update the void ratio after the isotropic loading to the void ratio before the isotropic loading

◆ use_isotropic_fabric_tensor_in_strain_averaging

template<typename T>
bool micromechanical::core::Options< T >::use_isotropic_fabric_tensor_in_strain_averaging = true

Use isotropic fabric tensor in strain averaging

◆ use_isotropic_fabric_tensor_in_stress_localization

template<typename T>
bool micromechanical::core::Options< T >::use_isotropic_fabric_tensor_in_stress_localization = false

Use isotropic fabric tensor in stress localization.

◆ use_plastic_strain_in_fabric_evolution

template<typename T>
bool micromechanical::core::Options< T >::use_plastic_strain_in_fabric_evolution = true

Use plastic strain in fabric evolution.

◆ verbose

template<typename T>
bool micromechanical::core::Options< T >::verbose = false

Whether to print verbose information.


The documentation for this struct was generated from the following file: