求解時に強制的にCG法が利用されるため、チュートリアル18_cavity_flowが解けない
v5.7より動解析陰解法では接触なしでも fstr_solve_dynamic_nlimplicit_contactSLag が用いられるようになった。
反復法を設定した場合(contact_elim==1)の線形方程式の求解は
fstr_solve_dynamic_nlimplicit_contactSLag
↓
solve_LINEQ_contact
↓
solve_LINEQ_contact_elim
という呼び出しとなっている。
このとき、接触なしならば、 solve_LINEQ_contact_elim における
if (is_contact == 0) then
if ((DEBUG >= 1 .and. myrank==0) .or. DEBUG >= 2) write(0,*) 'DEBUG: no contact'
solver_type = hecmw_mat_get_solver_type(hecMAT)
if (solver_type == 1) then
! use CG because the matrix is symmetric
method_org = hecmw_mat_get_method(hecMAT)
call hecmw_mat_set_method(hecMAT, 1)
endif
! solve
call solve_with_MPC(hecMESH, hecMAT)
if (solver_type == 1) then
! restore solver setting
call hecmw_mat_set_method(hecMAT, method_org)
endif
という分岐に入るため、どの反復法ソルバーを設定したとしても、CG法で解かれてしまう。
そのため、流体の問題であるチュートリアル18が解けなくなっている。
Edited by Kanato Kono