#include <stdio.h>
Go to the source code of this file.
Functions | |
void | nonlinear_nonstat_solv () |
void | nonlinear_nonstat_solv_dform () |
void | nonlinear_nonstat_solv_dform_dneska () |
void | nonlinear_nonstat_solv_fnr_dform () |
void | nonlinear_nonstat_solv_fnr_dform_old () |
void | nonlinear_nonstat_solv_linesearch () |
void | nonlinear_nonstat_solv_new () |
void | nonlinear_nonstat_solv_nr_dform () |
void | nonlinear_nonstat_solv_oldd () |
void | nonlinear_nonstat_solv_pokus () |
void | nonlinear_nonstat_solv_vform () |
long | norm_computation (double *f, double *rhs, double err, long nt, long sc) |
long | norm_computation_vec (double *f, double *rhs, double *err, double *thresh, long nt, long sc) |
void | solve_nonlinear_nonstationary_problem () |
void nonlinear_nonstat_solv | ( | ) |
function solves nonlinear nonstationary transport problem + selective norm
JK, 23.12.2002, 12.5.2005
Function solves system of non-linear TRFEL algebraic by Newton-Raphson method for time-dependent problems
TKr 5.4.2007
Definition at line 22 of file jk_nnpsolvert.cpp.
References actual_previous_nodval(), timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, compute_req_valt(), conductivity_matrix(), probdesct::convergcontrolt, gmatrix::copygm(), timecontr::endtime(), probdesct::err, probdesct::errarr, fluxest, fullnewtont, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, probdesct::hdbcont, timecontr::initialtimeincr(), transmat::initmaterialmodels(), internal_fluxes(), timecontr::isitimptime(), Kmat, lhsrhst::lhsi, lrhst, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, probdesct::ntm, nullv(), probdesct::nvs, Outt, p, probdesct::pnvs, print_closet(), print_flusht(), print_initt(), print_stept(), hdbcontr::restore_stat(), hdbcontr::save_stat(), gmatrix::scalgm(), selectivenorm(), solution_correction(), slesolv::solve_system(), gmatrix::solve_system(), solvert_restore(), solvert_save(), ss(), probdesct::ssle, timecontr::starttime(), probdesct::threshrhs, probdesct::time, probdesct::timecont, Tm, Tp, probdesct::trestype, trfel_right_hand_side(), probdesct::trsolv, transmat::updateipval(), yes, and probdesct::zero.
Referenced by solve_nonlinear_nonstationary_problem().
void nonlinear_nonstat_solv_dform | ( | ) |
function solves nonlinear nonstationary transport problem the d-form version of the generalized trapezoidal method see T.J.R. Hughes: The Finite Element Method; Linear Static and Dynamic Finite Element Analysis
JK, 23.12.2002, revised 24.8.2006
Definition at line 663 of file nnpsolvert.cpp.
References timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, conductivity_matrix(), copyv(), timecontr::endtime(), probdesct::err, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), internal_fluxes(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, norm_computation(), nullv(), Outt, p, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), slesolv::solve_system(), probdesct::ssle, timecontr::starttime(), probdesct::time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
void nonlinear_nonstat_solv_dform_dneska | ( | ) |
function solves nonlinear nonstationary transport problem the d-form version of the generalized trapezoidal method see T.J.R. Hughes: The Finite Element Method; Linear Static and Dynamic Finite Element Analysis
JK, 31.7.2007
Definition at line 1868 of file nnpsolvert.cpp.
References actual_previous_change(), timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, cmulv(), compute_cycles(), conductivity_matrix(), discont_nonlin_nonstat_problem, discont_nonstat_problem, timecontr::endtime(), probdesct::err, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, transtop::ncycl, Ndoft, timecontr::newtime(), probdesct::nii, transtop::nn, nullv(), probdesct::nvs, Outt, p, probdesct::pnvs, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), solution_correction(), slesolv::solve_system(), probdesct::ssle, timecontr::starttime(), probdesct::time, probdesct::timecont, Tm, Tp, probdesct::tprob, trfel_right_hand_side(), Tt, and transmat::updateipval().
void nonlinear_nonstat_solv_fnr_dform | ( | ) |
function solves nonlinear nonstationary transport problem
time discretization is based on the d-form version of the generalized trapezoidal method see T.J.R. Hughes: The Finite Element Method; Linear Static and Dynamic Finite Element Analysis
nonlinearity is solved by the full Newton-Raphson method
JK, 23.4.2008
Definition at line 2442 of file nnpsolvert.cpp.
References actual_previous_nodval(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, conductivity_matrix(), gmatrix::diag_check(), timecontr::dtmin, timecontr::endtime(), probdesct::errarr, f, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, norm_computation_vec(), nullv(), probdesct::nvs, timecontr::oldtime(), Outt, p, probdesct::pnvs, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), solution_correction(), slesolv::solve_system(), probdesct::ssle, timecontr::starttime(), probdesct::threshrhs, probdesct::time, time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
void nonlinear_nonstat_solv_fnr_dform_old | ( | ) |
function solves nonlinear nonstationary transport problem
time discretization is based on the d-form version of the generalized trapezoidal method see T.J.R. Hughes: The Finite Element Method; Linear Static and Dynamic Finite Element Analysis
nonlinearity is solved by the full Newton-Raphson method
JK, 23.4.2008
Definition at line 2174 of file nnpsolvert.cpp.
References timecontr::actualforwtimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, conductivity_matrix(), timecontr::dtmin, timecontr::endtime(), probdesct::err, f, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, nullv(), Outt, p, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), slesolv::solve_system(), probdesct::ssle, timecontr::starttime(), timecontr::time, probdesct::time, time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
void nonlinear_nonstat_solv_linesearch | ( | ) |
function solves nonlinear nonstationary transport problem
JK, 21.2.2005
Definition at line 735 of file jk_nnpsolvert.cpp.
References timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, conductivity_matrix(), timecontr::endtime(), probdesct::err, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), internal_fluxes(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, nullv(), Outt, p, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), slesolv::solve_system(), gmatrix::solve_system(), ss(), probdesct::ssle, timecontr::starttime(), probdesct::time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
void nonlinear_nonstat_solv_new | ( | ) |
function solves nonlinear nonstationary transport problem
TKr, 15.5.2005
Definition at line 565 of file jk_nnpsolvert.cpp.
References timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), intpointst::av, capacity_matrix(), Cmat, conductivity_matrix(), timecontr::endtime(), probdesct::err, fluxest, fullnewtont, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), internal_fluxes(), transmat::ip, Kmat, lhsrhst::lhsi, lrhst, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, norm_computation(), probdesct::ntm, nullv(), Outt, p, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), solution_correction(), slesolv::solve_system(), gmatrix::solve_system(), ss(), probdesct::ssle, timecontr::starttime(), probdesct::time, probdesct::timecont, Tm, Tp, probdesct::trestype, trfel_right_hand_side(), probdesct::trsolv, and transmat::updateipval().
Referenced by solve_nonlinear_nonstationary_problem().
void nonlinear_nonstat_solv_nr_dform | ( | ) |
function solves nonlinear nonstationary transport problem
time discretization is based on the d-form version of the generalized trapezoidal method see T.J.R. Hughes: The Finite Element Method; Linear Static and Dynamic Finite Element Analysis
nonlinearity is solved by the modified Newton-Raphson method
JK, 21.10.2008
Definition at line 2900 of file nnpsolvert.cpp.
References actual_previous_nodval(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, conductivity_matrix(), gmatrix::diag_check(), timecontr::dtmin, timecontr::endtime(), probdesct::errarr, f, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, norm_computation_vec(), nullv(), probdesct::nvs, timecontr::oldtime(), Outt, p, probdesct::pnvs, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), solution_correction(), slesolv::solve_system(), probdesct::ssle, timecontr::starttime(), probdesct::threshrhs, probdesct::time, time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
void nonlinear_nonstat_solv_oldd | ( | ) |
function solves nonlinear nonstationary transport problem + selective norm
JK, 23.12.2002, 12.5.2005
Definition at line 322 of file nnpsolvert.cpp.
References timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), intpointst::av, capacity_matrix(), Cmat, conductivity_matrix(), timecontr::endtime(), probdesct::err, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), internal_fluxes(), transmat::ip, Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, norm_computation(), probdesct::ntm, nullv(), Outt, p, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), solution_correction(), slesolv::solve_system(), ss(), probdesct::ssle, timecontr::starttime(), probdesct::time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
void nonlinear_nonstat_solv_pokus | ( | ) |
function solves nonlinear nonstationary transport problem
TKr, 15.5.2005
Definition at line 353 of file jk_nnpsolvert.cpp.
References timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, conductivity_matrix(), timecontr::endtime(), probdesct::err, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), internal_fluxes(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, nullv(), Outt, p, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), slesolv::solve_system(), gmatrix::solve_system(), ss(), probdesct::ssle, timecontr::starttime(), probdesct::time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
void nonlinear_nonstat_solv_vform | ( | ) |
function solves nonlinear nonstationary transport problem the v-form version of the generalized trapezoidal method see T.J.R. Hughes: The Finite Element Method; Linear Static and Dynamic Finite Element Analysis
JK, 23.12.2002, revised 24.8.2006
Definition at line 502 of file nnpsolvert.cpp.
References timecontr::actualbacktimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, conductivity_matrix(), timecontr::endtime(), probdesct::err, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtt, timecontr::initialtimeincr(), transmat::initmaterialmodels(), internal_fluxes(), Kmat, lhsrhst::lhsi, Lsrst, Mesprt, Ndoft, timecontr::newtime(), probdesct::nii, norm_computation(), nullv(), Outt, p, print_closet(), print_flusht(), print_initt(), print_stept(), gmatrix::scalgm(), slesolv::solve_system(), probdesct::ssle, timecontr::starttime(), probdesct::time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
long norm_computation | ( | double * | f, | |
double * | rhs, | |||
double | err, | |||
long | nt, | |||
long | sc | |||
) |
function computes norm of the vector of unbalanced fluxes it enables computation of Euclidean norm of the vector as well as selective norm (appropriate components are collected togehter, e.g. heat fluxes are handled separately from moisture fluxes, both norms are then compared with required error)
norm of unbalanced fluxes can be scaled with respect to the prescribed fluxes (right hand side of the system of equations)
function returns two possible values 0 means that equilibrium is not reached 1 means that equilibrium is reached and unbalanced fluxes are smaller than required
f | - vector of unbalanced fluxes | |
rhs | - vector of right hand side (prescribed fluxes) | |
err | - required (prescribed) error | |
nt | - type of norm 1 - Euclidean norm 2 - selective norm | |
sc | - scaling by norm of right hand side vector 0 - no scaling 1 - scaling by the norm of the right hand side vector |
JK, 24.8.2006
Definition at line 1568 of file nnpsolvert.cpp.
References transtop::give_dof(), Mesprt, Ndoft, transtop::nn, probdesct::ntm, Tp, and Tt.
Referenced by nonlinear_nonstat_solv_dform(), nonlinear_nonstat_solv_new(), nonlinear_nonstat_solv_oldd(), and nonlinear_nonstat_solv_vform().
long norm_computation_vec | ( | double * | f, | |
double * | rhs, | |||
double * | err, | |||
double * | thresh, | |||
long | nt, | |||
long | sc | |||
) |
function computes norm of the vector of unbalanced fluxes it enables computation of Euclidean norm of the vector as well as selective norm (appropriate components are collected togehter, e.g. heat fluxes are handled separately from moisture fluxes, both norms are then compared with required error)
norm of unbalanced fluxes can be scaled with respect to the prescribed fluxes (right hand side of the system of equations)
function returns two possible values 0 means that equilibrium is not reached 1 means that equilibrium is reached and unbalanced fluxes are smaller than required
f | - vector of unbalanced fluxes | |
rhs | - vector of right hand side (prescribed fluxes) | |
err | - array of required (prescribed) errors | |
thresh | - array of thresholds for particular variables | |
nt | - type of norm 1 - Euclidean norm 2 - selective norm | |
sc | - scaling by norm of right hand side vector 0 - no scaling 1 - scaling by the norm of the right hand side vector |
JK, 24.8.2006
Definition at line 1705 of file nnpsolvert.cpp.
References transtop::give_dof(), Mesprt, Ndoft, transtop::nn, probdesct::ntm, Tp, and Tt.
Referenced by nonlin_nonstat_dform(), nonlinear_nonstat_solv_fnr_dform(), nonlinear_nonstat_solv_nr_dform(), and one_step_nonlinear_dform().
void solve_nonlinear_nonstationary_problem | ( | ) |
Definition at line 7 of file jk_nnpsolvert.cpp.
References nonlinear_nonstat_solv(), and nonlinear_nonstat_solv_new().