FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
fstr_solve_QuasiNewton.f90 File Reference

Go to the source code of this file.

Modules

module  m_fstr_quasinewton
 This module provides functions on nonlinear analysis.
 

Functions/Subroutines

subroutine m_fstr_quasinewton::fstr_quasi_newton (cstep, hecMESH, hecMAT, fstrSOLID, fstrPARAM, restrt_step_num, sub_step, ctime, dtime)
 This subroutine solve nonlinear solid mechanics problems by Newton-Raphson method. More...
 
subroutine m_fstr_quasinewton::fstr_calc_direction_lbfgs (hecMESH, g_prev, s_k, y_k, rho_k, z_k, n_mem)
 
subroutine m_fstr_quasinewton::fstr_addbc_to_direction_vector (z_k, hecMESH, fstrSOLID, cstep)
 
subroutine m_fstr_quasinewton::fstr_apply_alpha0 (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM, z_k, h_prime, pot)
 
subroutine m_fstr_quasinewton::fstr_apply_alpha (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM, z_k, alpha, h_prime, pot)
 
subroutine m_fstr_quasinewton::fstr_init_line_search_range (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM, z_k, h_prime_0, pot_0, alpha_S, h_prime_S, pot_S, alpha_E, h_prime_E, pot_E)
 
subroutine m_fstr_quasinewton::fstr_update_range (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM, z_k, alpha_S, h_prime_S, pot_S, alpha_E, h_prime_E, pot_E, alpha_c, h_prime_c, pot_c, h_prime_0, pot_0)
 
subroutine m_fstr_quasinewton::fstr_get_new_range_with_potential (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM, z_k, pot_0, alpha_a, h_prime_a, pot_a, alpha_b, h_prime_b, pot_b, alpha_c, h_prime_c, pot_c, alpha_a_bar, h_prime_a_bar, pot_a_bar, alpha_b_bar, h_prime_b_bar, pot_b_bar)
 
subroutine m_fstr_quasinewton::fstr_line_search_along_direction (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM, z_k)
 
subroutine m_fstr_quasinewton::fstr_get_secant (a, Fa, b, Fb, c)
 
logical function m_fstr_quasinewton::fstr_wolfe_condition (alpha_c, h_prime_c, pot_c, h_prime_0, pot_0)
 
logical function m_fstr_quasinewton::fstr_approx_wolfe_condition (alpha_c, h_prime_c, pot_c, h_prime_0, pot_0)
 

Variables

real(kind=kreal), parameter m_fstr_quasinewton::c_line_search =2.0
 
real(kind=kreal), parameter m_fstr_quasinewton::psi0_line_search =1.0d-2
 
real(kind=kreal), parameter m_fstr_quasinewton::delta_wolfe =0.2
 
real(kind=kreal), parameter m_fstr_quasinewton::sigma_wolfe =0.9
 
real(kind=kreal), parameter m_fstr_quasinewton::eps_wolfe =1.0d-3
 
real(kind=kreal), parameter m_fstr_quasinewton::omega_wolfe =0.001
 
real(kind=kreal), parameter m_fstr_quasinewton::delta_approx_wolfe =0.7
 
real(kind=kreal) m_fstr_quasinewton::c_wolfe
 
real(kind=kreal) m_fstr_quasinewton::q_wolfe
 
integer, parameter m_fstr_quasinewton::n_mem_max =10
 
integer(kind=kint), parameter m_fstr_quasinewton::maxiter_ls = 10
 
integer(kind=kint), parameter m_fstr_quasinewton::pot_type =1