#include "pnewtonraph.h"
#include "pmtsolver.h"
#include "pglobal.h"
#include "seqfilesm.h"
#include "genfile.h"
#include <string.h>
#include "mpi.h"
Go to the source code of this file.
Functions | |
long | par_one_step (long lcid, double time, double dt, long istep, long li, mt_glob_vec &mt_gv) |
void | par_solve_timemech_prob (long lcid) |
void | par_solve_timemech_prob () |
void | par_solve_timemech_prob2 (long lcid) |
void | par_visco_solver_init (long lcid, mt_glob_vec &mt_gv) |
long par_one_step | ( | 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, 19/02/2013 according to JK and TKo
Definition at line 191 of file pmtsolver.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(), 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_solve_timemech_prob2().
void par_solve_timemech_prob | ( | long | lcid | ) |
function solves time dependent mechanical problem in parallel inertial forces are negligible
JK, 24.7.2008
Definition at line 324 of file pmtsolver.cpp.
References timecontr::actualforwtimeincr(), mechbclc::alloc_sumcomp(), gtopology::comp_domain_sizes(), mechbclc::comp_sum(), compute_req_val(), timecontr::dtmin, timecontr::endtime(), probdesc::errnr, f, pprobdesc::fei, fillm(), fillv(), pprobdesc::fni, lhsrhs::give_lhs(), lhsrhs::give_rhs(), Gtm, probdesc::hdbcont, hdbcontr::hdbtype, incr_internal_forces(), timecontr::initialtimeincr(), mechmat::initmaterialmodels(), internal_forces(), timecontr::isitimptime(), lsm_quad(), Lsrs, Mb, mefel_right_hand_side(), Mespr, Mm, Mp, Myrank, Ndofm, timecontr::newtime(), probdesc::niilnr, probdesc::nlman, nullv(), timecontr::oldtime(), probdesc::otherstate, Out, Pmp, print_close(), print_flush(), print_init(), print_step(), print_step_forced(), Psolm, hdbcontr::restore_stat(), Smat, solver_restore(), solver_save(), timecontr::starttime(), stiffness_matrix(), nonlinman::stmat, probdesc::strainstate, probdesc::stressstate, mechbclc::sumcomp, tangent_stiff, probdesc::time, probdesc::timecon, mechmat::updateipval(), and probdesc::zero.
void par_solve_timemech_prob | ( | ) |
Definition at line 10 of file pmtsolver.cpp.
References par_solve_timemech_prob2().
void par_solve_timemech_prob2 | ( | long | lcid | ) |
Function solves parallel time dependent problem (viscoplasticity). It uses one_step concept instead of standard one.
lcid | - load case id |
TKr, 19/02/2013 according to Tomas Koudelka (mtsolver.cpp)
Definition at line 34 of file pmtsolver.cpp.
References timecontr::actualbacktimeincr(), timecontr::actualforwtimeincr(), compute_req_val(), timecontr::dtmax, timecontr::dtmin, timecontr::endtime(), mt_glob_vec::fb, timecontr::initialtimeincr(), mt_glob_vec::istep, Mespr, Mp, Myrank, timecontr::newtime(), timecontr::oldtime(), par_one_step(), par_visco_solver_init(), print_close(), print_flush(), print_step_forced(), stat, timecontr::tct, gfunct::tfunc, probdesc::time, probdesc::timecon, and timecontr::timefun.
Referenced by par_solve_timemech_prob().
void par_visco_solver_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 125 of file pmtsolver.cpp.
References mt_glob_vec::alloc(), probdesc::eigstrains, mt_glob_vec::f, pprobdesc::fei, pprobdesc::fni, 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, Pmp, 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_solve_timemech_prob2().