Menu

#201 Allow better control of the convergence in the StandardElastoviscoPlascity brick

3.4.0
closed
None
2020-08-18
2020-01-16
No

Discussion

  • Helfer Thomas

    Helfer Thomas - 2020-02-12
    • summary: Allow better control of the convergence in the StandardElasticity brick --> Allow better control of the convergence in the StandardElastoviscoPlascity brick
     
  • Helfer Thomas

    Helfer Thomas - 2020-02-13
    • status: open --> accepted
     
  • Helfer Thomas

    Helfer Thomas - 2020-08-18

    Newton steps rejections based on the change of the flow direction between two successive estimates

    Some stress criteria (Hosford 1972, Barlat 2004, Mohr-Coulomb) shows sharp edges that may cause the failure of the standard Newton algorithm, due to oscillations in the prediction of the flow direction.

    Rejecting Newton steps leading to a too large variation of the flow direction between the new estimate of the flow direction and the previous estimate is a cheap and efficient method to overcome this issue. This method can be viewed as a bisectional linesearch based on the Newton prediction: the Newton steps magnitude is divided by two if its results to a too large change in the flow direction.

    More precisely, the change of the flow direction is estimated by the computation of the cosine of the angle between the two previous estimates:

    [
    \cos\paren{\alpha_{\tenseur{n}}}=\dfrac{\tenseur{n}\,\colon\,\tenseur{n}_{p}}{\norm{\tenseur{n}}\,\norm{\tenseur{n}}}
    ]

    with (\norm{\tenseur{n}}=\sqrt{\tenseur{n}\,\colon\,\tenseur{n}}).

    The Newton step is rejected if the value of (\cos\paren{\alpha_{\tenseur{n}}}) is lower than a user defined threshold. This threshold must be in the range (\left[-1:1\right]), but due to the slow variation of the cosine near (0), a typical value of this threshold is (0.99) which is equivalent to impose that the angle between two successive estimates is below (8\mbox{}^{\circ}).

    Example

    @DSL Implicit;
    @Behaviour HosfordPerfectPlasticity100;
    @Author Thomas Helfer;
    @Description{A simple implementation of a perfect plasticity
                     behaviour using the Hosford stress.};
    
    @ModellingHypotheses{".+"};
    @Epsilon 1.e-16;
    @Theta 1;
    
    @Brick StandardElastoViscoPlasticity{
      stress_potential : "Hooke" {young_modulus : 150e9, poisson_ratio : 0.3},
      inelastic_flow : "Plastic" {
        criterion : "Hosford1972" {a : 100},
        isotropic_hardening : "Linear" {R0 : 150e6},
        cosine_threshold : 0.99,
        maximum_equivalent_stress_factor : 1.5,
        iteration_threshold_factor_for_equivalent_stress_check : 0.4
      }
    };
    

    Maximum equivalent stress in the Plastic flow

    During the Newton iterations, the current estimate of the equivalent stress (\sigmaeq) may be significantly higher than the elastic limit (R). This may lead to a divergence of the Newton algorithm.

    One may reject the Newton steps leading to such high values of the elastic limit by specifying a relative threshold denoted (\alpha), i.e. if (\sigmaeq) is greater than (\alpha\,\cdot\,R). A typical value for (\alpha) is (1.5). This relative threshold is specified by the maximum_equivalent_stress_factor option.

    In some cases, rejecting steps may also lead to a divergence of the Newton algorithm, so one may specify a relative threshold (\beta) on the iteration number which desactivate this check, i.e. the check is performed only if the current iteration number is below (\beta\,\cdot\,i_{\max{}}) where (i_{\max{}}) is the maximum number of iterations allowed for the Newton algorithm. A typical value for (\beta) is (0.4). This relative threshold is specified by the equivalent_stress_check_maximum_iteration_factor option.

    Example

    @DSL Implicit;
    @Behaviour PerfectPlasticity;
    @Author Thomas Helfer;
    @Date 17 / 08 / 2020;
    @Description{};
    
    @Epsilon 1.e-14;
    @Theta 1;
    
    @Brick StandardElastoViscoPlasticity{
      stress_potential : "Hooke" {young_modulus : 200e9, poisson_ratio : 0.3},
      inelastic_flow : "Plastic" {
        criterion : "Mises",
        isotropic_hardening : "Linear" {R0 : 150e6},
        maximum_equivalent_stress_factor : 1.5,
        equivalent_stress_check_maximum_iteration_factor: 0.4
      }
    };
    
     
  • Helfer Thomas

    Helfer Thomas - 2020-08-18
    • status: accepted --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB