#include <stdio.h>
Go to the source code of this file.
Functions | |
double | par_gnewton_raphson_one_step_mefel (long lcid, nonlinman *nlman, double *fa, double *ra, double *fb, double *dr, double *fi, long istep, long &j, long li, long ini, double ierr) |
void | par_newton_raphson_parcoupl (long lcid) |
void | par_newton_raphson_parcoupl_comp (long lcid) |
void | par_newton_raphson_parcoupl_lin (long lcid) |
void | par_newton_raphson_parcoupl_nonlin (long lcid) |
void | par_nonstat_trfel_init (long lcid, np_glob_vec &np_gv) |
long | par_one_step_mefel (long lcid, double time, double dt, long istep, long li, mt_glob_vec &mt_gv) |
long | par_one_step_trfel_linear (long lcid, double time, double dt, long istep, long li, np_glob_vec &np_gv) |
long | par_one_step_trfel_nonlinear (long lcid, double time, double dt, long istep, long li, np_glob_vec &np_gv) |
void | par_solve_pcouplprob () |
void | par_visco_mefel_init (long lcid, mt_glob_vec &mt_gv) |
double par_gnewton_raphson_one_step_mefel | ( | long | lcid, | |
nonlinman * | nlman, | |||
double * | fa, | |||
double * | ra, | |||
double * | fb, | |||
double * | dr, | |||
double * | fi, | |||
long | istep, | |||
long & | j, | |||
long | li, | |||
long | ini, | |||
double | ierr | |||
) |
Function performs calculation of one parallel load/time step of the Newton-Raphson method for the given load case. Solved equation system does not contain time variable.
lcid | - load case id | |
nlman | - pointer to structure conatining setup of the solver | |
ra | - vector of attained displacements | |
fa | - attained load vector | |
fb | - residual vector or load vector increment - right-hand side vector | |
dr | - vector of displacement increment - left-hand side vector | |
istep | - time/load step id | |
j | - inner loop step id (output parameter, set to -1 if no inner loop was performed) | |
li | - initial value of time/load step id | |
ierr | - required normed error of residual vector |
TKr, 19/02/2013 according to Tomas Koudelka
Definition at line 977 of file ppcsolver.cpp.
References addv(), assemble_stiffness_matrix(), check_divergency(), fillm(), fillv(), Gtm, internal_forces(), probdesc::jstep, Mespr, Mp, Myrank, Ndofm, Out, Psolm, Smat, and subv().
Referenced by par_one_step_mefel().
void par_newton_raphson_parcoupl | ( | long | lcid | ) |
function solves partially coupled thermo-hydro-mechanical time-dependent problem by the Newton-Raphson method
lcid | - load case id |
11.6.2008
function solves partially coupled thermo-hydro-mechanical time-dependent problem by the Newton-Raphson method
lcid | - load case id |
TKo 4.2009
function solves partially coupled thermo-hydro-mechanical time-dependent problem by the Newton-Raphson method
lcid | - load case id |
JK, 5.8.2008
Definition at line 57 of file ppcsolver.cpp.
References nonlinear_nonstationary_problem, nonstationary_problem, par_newton_raphson_parcoupl_lin(), par_newton_raphson_parcoupl_lin_vform(), par_newton_raphson_parcoupl_nonlin(), print_err(), Tp, and probdesct::tprob.
Referenced by par_solve_pcouplprob().
void par_newton_raphson_parcoupl_comp | ( | long | lcid | ) |
function solves parallel partially coupled thermo-hydro-mechanical time-dependent problem by the Newton-Raphson method
lcid | - load case id |
TKr, 19/02/2013, according to JK and TKo
Definition at line 62 of file ppcsolver.cpp.
References timecontr::actualbacktimeincr(), timecontr::actualforwtimeincr(), clean_yes, probdescc::cleanmatrix, Cmat, compute_req_val(), compute_req_valt(), copy_data(), Cp, timecontr::dtmax, timecontr::dtmin, timecontr::endtime(), mt_glob_vec::fb, init_trfel_mefel(), timecontr::initialtimeincr(), mt_glob_vec::istep, np_glob_vec::istep, Kmat, np_glob_vec::lhs, Mespr, Mesprc, Mesprt, Mp, Myrank, Ndoft, timecontr::newtime(), nonlinear_nonstationary_problem, nonstationary_problem, nullv(), timecontr::oldtime(), par_nonstat_trfel_init(), par_one_step_mefel(), par_one_step_trfel_linear(), par_one_step_trfel_nonlinear(), par_visco_mefel_init(), print_close(), print_closet(), print_flush(), print_flusht(), print_step_forced(), print_stept(), np_glob_vec::rhs, Smat, timecontr::starttime(), stat, timecontr::tct, np_glob_vec::tdlhs, gfunct::tfunc, probdesc::time, probdesct::time, probdescc::time, probdesc::timecon, probdescc::timecon, probdesct::timecont, timecontr::timefun, Tp, and probdesct::tprob.
Referenced by par_solve_pcouplprob().
void par_newton_raphson_parcoupl_lin | ( | long | lcid | ) |
function solves system of linear TRFEL algebraic and non-linear MEFEL equations by Newton-Raphson method for time-dependent problems
lcid | - load case id |
15.7.2005 JK, corrected by TKr 5.4.2007
Function solves system of linear TRFEL algebraic and non-linear MEFEL equations by Newton-Raphson method for time-dependent problems
lcid | - load case id |
TKo 4.2009
Function solves system of non-linear TRFEL algebraic and non-linear MEFEL equations by Newton-Raphson method for time-dependent problems.
lcid | - load case id |
TKr 5.4.2007
function solves system of nonlinear algebraic equations by Newton-Raphson method
lcid | - load case id |
19.5.2004 JK, corrected by TKr 5.4.2007
function solves system of nonlinear algebraic equations by Newton-Raphson method
lcid | - load case id |
19.5.2004 - modified by TKr 31.10.2005
Definition at line 86 of file ppcsolver.cpp.
References actual_previous_nodval(), timecontr::actualbacktimeincr(), timecontr::actualforwtimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), approximation_humid(), approximation_inittemper(), approximation_temper(), capacity_matrix(), Cmat, mechbclc::comp_sum(), compute_req_val(), compute_req_valt(), conductivity_matrix(), probdesct::convergcontrolt, Cp, timecontr::dtmin, timecontr::endtime(), probdesct::err, probdesc::errnr, f, probdescc::fcsolv, pprobdescc::feim, pprobdescc::feit, probdesc::filename, fillm(), fillv(), fluxest, pprobdescc::fnim, pprobdescc::fnit, fullnewtonc, fullnewtont, lhsrhs::give_lhs(), lhsrhst::give_lhs(), lhsrhs::give_rhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtm, Gtt, probdesct::hdbcont, probdesc::hdbcont, hdbcontr::hdbtype, incr_internal_forces(), timecontr::initialtimeincr(), transmat::initmaterialmodels(), mechmat::initmaterialmodels(), internal_fluxes(), internal_forces(), timecontr::isitimptime(), Kmat, lhsrhs::lhs, lhsrhst::lhs, linearc, lrhst, lsm_quad(), Lsrs, Lsrst, Mb, mefel_right_hand_side(), Mespr, Mesprc, Mesprt, Mm, Mp, Myrank, Ndofm, Ndoft, timecontr::newtime(), newton_raphson_parcoupl_nonlin_new(), newton_raphson_parcoupl_nonlin_old(), probdesct::nii, probdesc::niilnr, probdesc::nlman, nullv(), timecontr::oldtime(), probdesc::otherstate, Out, Outdm, outdriverm::outfn, Outt, p, par_newton_raphson_parcoupl_nonlin(), probdesc::path, Pcp, print_close(), print_closet(), print_flush(), print_flusht(), print_init(), print_initt(), print_step(), print_step_forced(), print_stept(), Psolm, Psolt, hdbcontr::restore_stat(), lhsrhs::rhs, lhsrhst::rhs, hdbcontr::save_stat(), gmatrix::scalgm(), Smat, solution_correction(), slesolv::solve_system(), solver_restore(), solver_save(), solvert_restore(), solvert_save(), ss(), probdescc::ssle, probdesc::ssle, probdesct::ssle, timecontr::starttime(), stiffness_matrix(), nonlinman::stmat, probdesc::strainstate, probdesc::stressstate, probdesc::suffix, mechbclc::sumcomp, timecontr::take_values(), tangent_stiff, lhsrhst::tdlhs, probdesct::time, probdesc::time, probdescc::time, probdesc::timecon, probdescc::timecon, probdesct::timecont, Tm, Tp, probdesct::trestype, trfel_right_hand_side(), probdesct::trsolv, mechmat::updateipval(), transmat::updateipval(), yes, probdesc::zero, and probdesct::zero.
Referenced by par_newton_raphson_parcoupl().
void par_newton_raphson_parcoupl_nonlin | ( | long | lcid | ) |
Function solves system of non-linear TRFEL algebraic and non-linear MEFEL equations by Newton-Raphson method for time-dependent problems.
lcid | - load case id |
TKr 5.4.2007
function solves partially coupled problems in parallel, transport processes are nonlinear, mechanical analysis is nonlinear systems of nonlinear equations are solved by the Newton-Raphson method
lcid | - load case id |
JK, 19.9.2007, 11.6.2008
Definition at line 1657 of file ppcsolver.cpp.
References actual_previous_nodval(), timecontr::actualforwtimeincr(), gmatrix::addgm(), probdesct::alpha, approximation(), approximation_humid(), approximation_inittemper(), approximation_temper(), capacity_matrix(), Cmat, mechbclc::comp_sum(), compute_req_val(), compute_req_valt(), conductivity_matrix(), probdesct::convergcontrolt, Cp, timecontr::dtmin, timecontr::endtime(), probdesct::err, probdesc::errnr, f, probdescc::fcsolv, pprobdescc::feim, pprobdescc::feit, fillm(), fillv(), fluxest, pprobdescc::fnim, pprobdescc::fnit, fullnewtonc, fullnewtont, lhsrhs::give_lhs(), lhsrhst::give_lhs(), lhsrhs::give_rhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), gmatrix::gmxv(), Gtm, Gtt, probdesct::hdbcont, probdesc::hdbcont, hdbcontr::hdbtype, incr_internal_forces(), timecontr::initialtimeincr(), transmat::initmaterialmodels(), mechmat::initmaterialmodels(), internal_fluxes(), internal_forces(), timecontr::isitimptime(), Kmat, lrhst, lsm_quad(), Lsrs, Lsrst, Mb, mefel_right_hand_side(), Mespr, Mesprc, Mesprt, Mm, Mp, Myrank, Ndofm, Ndoft, timecontr::newtime(), probdesct::nii, probdesc::niilnr, probdesc::nlman, nullv(), timecontr::oldtime(), probdesc::otherstate, Out, Outt, p, Pcp, print_close(), print_closet(), print_flush(), print_flusht(), print_init(), print_initt(), print_step(), print_step_forced(), print_stept(), Psolm, Psolt, hdbcontr::restore_stat(), hdbcontr::save_stat(), gmatrix::scalgm(), Smat, solution_correction(), solver_restore(), solver_save(), solvert_restore(), solvert_save(), timecontr::starttime(), stiffness_matrix(), nonlinman::stmat, probdesc::strainstate, probdesc::stressstate, mechbclc::sumcomp, timecontr::take_values(), tangent_stiff, probdesct::time, probdesc::time, probdescc::time, probdesc::timecon, probdescc::timecon, probdesct::timecont, Tm, Tp, probdesct::trestype, trfel_right_hand_side(), probdesct::trsolv, mechmat::updateipval(), transmat::updateipval(), yes, probdesc::zero, and probdesct::zero.
Referenced by par_newton_raphson_parcoupl(), and par_newton_raphson_parcoupl_lin().
void par_nonstat_trfel_init | ( | long | lcid, | |
np_glob_vec & | np_gv | |||
) |
Function allocates and initializes global vectors used in npsolver It is used in one_step concept solver.
Created by tomas Krejci according to Tomas Koudelka, 02/2013
Definition at line 374 of file ppcsolver.cpp.
References actual_previous_nodval(), np_glob_vec::alloc(), np_glob_vec::alloc_aux(), approximation(), compute_req_valt(), np_glob_vec::f, pprobdescc::feit, pprobdescc::fnit, lhsrhst::give_lhs(), lhsrhst::give_rhs(), lhsrhst::give_tdlhs(), probdesct::hdbcont, timecontr::initialtimeincr(), transmat::initmaterialmodels(), np_glob_vec::istep, np_glob_vec::lhs, Lsrst, Ndoft, nonlinear_nonstationary_problem, probdesct::nvs, Pcp, probdesct::pnvs, print_flusht(), print_initt(), print_stept(), hdbcontr::restore_stat(), np_glob_vec::rhs, solvert_restore(), timecontr::starttime(), np_glob_vec::tdlhs, probdesct::time, probdesct::timecont, Tm, Tp, and probdesct::tprob.
Referenced by par_newton_raphson_parcoupl_comp().
long par_one_step_mefel | ( | long | lcid, | |
double | time, | |||
double | dt, | |||
long | istep, | |||
long | li, | |||
mt_glob_vec & | mt_gv | |||
) |
Function executes one step of parallel time dependent mechanical algorithm (visco-elasticity, visco-plasticity, etc.)
lcid | - load case id | |
time | - actual time | |
dt | - actual time increment | |
istep | - time step id | |
li | - time step id of the first performed time step | |
f | - vector of prescribed nodal forces | |
fi | - vector of computed nodal forces | |
fp | - vector of previous nodal forces | |
dr | - vector of displacement increments | |
r | - vector of total displacements | |
lhsb | - backup of vector of nodal unknowns |
0 | - if the equilibrium was attained with NO inner loop | |
1 | - if the equilibrium was attained and inner loop WAS performed | |
-1 | - if the equilibrium was NOT attained |
TKr, 26/02/2013 according to JK and TKo
Definition at line 828 of file ppcsolver.cpp.
References addv(), mechbclc::comp_sum(), compute_req_val(), copyv(), nonlinman::divc_err, nonlinman::divc_step, mt_glob_vec::dr, probdesc::errnr, mt_glob_vec::f, f, mt_glob_vec::fb, mt_glob_vec::fi, mt_glob_vec::fl, mt_glob_vec::fp, probdesc::hdbcont, incr_internal_forces(), timecontr::isitimptime(), probdesc::istep, mt_glob_vec::lhsb, Mb, mefel_right_hand_side(), Mespr, Mm, Mp, Myrank, Ndofm, probdesc::niilnr, probdesc::nlman, probdesc::otherstate, Out, par_gnewton_raphson_one_step_mefel(), print_flush(), print_step(), mt_glob_vec::r, hdbcontr::save_stat(), solver_save(), probdesc::strainstate, probdesc::stressstate, subv(), probdesc::time, probdesc::timecon, mechmat::updateipval(), and probdesc::zero.
Referenced by par_newton_raphson_parcoupl_comp().
long par_one_step_trfel_linear | ( | long | lcid, | |
double | time, | |||
double | dt, | |||
long | istep, | |||
long | li, | |||
np_glob_vec & | np_gv | |||
) |
function solves parallel linear 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
TKr, 26/02/2013 according to JK
Definition at line 483 of file ppcsolver.cpp.
References actual_previous_nodval(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, compute_req_valt(), conductivity_matrix(), np_glob_vec::d, np_glob_vec::f, f, gmatrix::gmxv(), Gtt, probdesct::hdbcont, timecontr::isitimptime(), probdesct::istep, Kmat, np_glob_vec::lhs, Mesprt, Myrank, Ndoft, probdesct::nvs, Outt, np_glob_vec::p, p, probdesct::pnvs, print_flusht(), print_stept(), Psolt, np_glob_vec::rhs, hdbcontr::save_stat(), gmatrix::scalgm(), solution_correction(), solvert_save(), np_glob_vec::tdlhs, probdesct::time, probdesct::timecont, Tm, Tp, trfel_right_hand_side(), and transmat::updateipval().
Referenced by par_newton_raphson_parcoupl_comp().
long par_one_step_trfel_nonlinear | ( | long | lcid, | |
double | time, | |||
double | dt, | |||
long | istep, | |||
long | li, | |||
np_glob_vec & | np_gv | |||
) |
function solves parallel non-linear nonstationary transport problem by Newton-Raphson method 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
TKr, 26/02/2013 according to JK
Definition at line 594 of file ppcsolver.cpp.
References actual_previous_nodval(), gmatrix::addgm(), probdesct::alpha, approximation(), capacity_matrix(), Cmat, compute_req_valt(), conductivity_matrix(), probdesct::convergcontrolt, gmatrix::copygm(), np_glob_vec::d, probdesct::errarr, np_glob_vec::f, f, np_glob_vec::fb, np_glob_vec::fi, fluxest, fullnewtont, gmatrix::gmxv(), Gtt, probdesct::hdbcont, internal_fluxes(), timecontr::isitimptime(), probdesct::istep, Kmat, np_glob_vec::lhs, lrhst, Mesprt, Myrank, Ndoft, probdesct::nii, nullv(), probdesct::nvs, Outt, np_glob_vec::p, p, probdesct::pnvs, print_flusht(), print_stept(), Psolt, np_glob_vec::rhs, hdbcontr::save_stat(), gmatrix::scalgm(), solution_correction(), solvert_save(), np_glob_vec::tdlhs, probdesct::threshrhs, probdesct::time, probdesct::timecont, Tm, Tp, probdesct::trestype, trfel_right_hand_side(), probdesct::trsolv, transmat::updateipval(), yes, and probdesct::zero.
Referenced by par_newton_raphson_parcoupl_comp().
void par_solve_pcouplprob | ( | ) |
function solves partially coupled thermo-hydro-mechanical time-dependent problem transport problems are linear or nonlinear mechanical analysis is always nonlinear
JK
function solves partially coupled thermo-hydro-mechanical time-dependent problem transport problems are linear or nonlinear mechanical analysis is always nonlinear
4.2009 TKo
function solves partially coupled thermo-hydro-mechanical problem in parallel transport problems are linear or nonlinear mechanical analysis is always nonlinear
JK
Definition at line 29 of file ppcsolver.cpp.
References Cp, newtonc, par_newton_raphson_parcoupl(), par_newton_raphson_parcoupl_comp(), print_err(), and probdescc::tnlinsol.
Referenced by par_solve_metr_problem().
void par_visco_mefel_init | ( | long | lcid, | |
mt_glob_vec & | mt_gv | |||
) |
Function allocates and initializes global vectors used in pmtsolver It is used in one_step concept solver.
TKr, 19/02/2013 according to Tomas Koudelka (mtsolver.cpp)
Definition at line 430 of file ppcsolver.cpp.
References mt_glob_vec::alloc(), probdesc::eigstrains, mt_glob_vec::f, pprobdescc::feim, pprobdescc::fnim, mt_glob_vec::fp, lhsrhs::give_lhs(), lhsrhs::give_rhs(), probdesc::hdbcont, mechmat::initmaterialmodels(), internal_forces(), mt_glob_vec::istep, Lsrs, Mespr, Mm, Mp, Ndofm, Pcp, print_flush(), print_init(), print_step(), mt_glob_vec::r, hdbcontr::restore_stat(), solver_restore(), timecontr::starttime(), probdesc::time, and probdesc::timecon.
Referenced by par_newton_raphson_parcoupl_comp().