#include <string.h>
#include "mtsolver.h"
#include "backupsol.h"
#include "mtglvec.h"
#include "global.h"
#include "globmat.h"
#include "mechprint.h"
#include "matrix.h"
#include "vector.h"
#include "gmatrix.h"
#include "gtopology.h"
#include "dloadcase.h"
#include "elemswitch.h"
#include "nssolver.h"
#include "newtonraph.h"
#include "mathem.h"
Go to the source code of this file.
Functions | |
long | one_step (long lcid, double time, double dt, double &dtr, long istep, long li, mt_glob_vec &mt_gv) |
function performs one time step of visco_solver2 | |
void | solve_time_dep_prob () |
function invokes solver of time dependent problems | |
void | visco_solver (long lcid) |
solver of time dependent problems, viscous models can be used | |
void | visco_solver2 (long lcid) |
solver of time dependent problems built on one step concept | |
void | visco_solver_init (long lcid, mt_glob_vec &mt_gv) |
initialization phase of visco_solver for one_step concept |
long one_step | ( | long | lcid, | |
double | time, | |||
double | dt, | |||
double & | dtr, | |||
long | istep, | |||
long | li, | |||
mt_glob_vec & | mt_gv | |||
) |
function performs one time step of visco_solver2
Function executes one step of time dependent mechanical algorithm (visco-elasticity, visco-plasticity, etc.)
lcid | - load case id | |
time | - actual time | |
dt | - actual time increment | |
dtr | - the minimum ratio of required time step size to the actual one required by material models (output) | |
istep | - time step id | |
li | - time step id of the first performed time step | |
mt_gv | - structure with pointers to vectors of righthand and lefthand side |
0 | - if the equilibrium was attained with NO inner loop | |
>0 | - if the equilibrium was attained and inner loop WAS performed | |
-1 | - if the equilibrium was NOT attained |
Created by JK, 19.9.2004 Modified by TKo, 11.2011
Definition at line 570 of file mtsolver.cpp.
References addv(), mechbclc::comp_sum(), copyv(), nonlinman::divc_err, nonlinman::divc_step, mt_glob_vec::dr, nonlinman::errnr, mt_glob_vec::f, f, mt_glob_vec::fb, mt_glob_vec::fi, mt_glob_vec::fl, mt_glob_vec::fp, gnewton_raphson_one_step(), incr_internal_forces(), probdesc::istep, probdesc::jstep, mt_glob_vec::lhsb, Mb, mefel_right_hand_side(), Mespr, Mp, Ndofm, nonlinman::niilnr, probdesc::nlman, probdesc::otherstate, Out, mt_glob_vec::r, probdesc::strainstate, probdesc::stressstate, subv(), and probdesc::time.
Referenced by newton_raphson_parcoupl_common_dt(), newton_raphson_parcoupl_comp(), and visco_solver2().
void solve_time_dep_prob | ( | ) |
function invokes solver of time dependent problems
The function calls solver of time dependent problems (viscoplasticity) for each load case.
Created by JK,
Definition at line 33 of file mtsolver.cpp.
References visco_solver2().
Referenced by solve_mefel_deterministic_problem().
void visco_solver | ( | long | lcid | ) |
solver of time dependent problems, viscous models can be used
Function solves time dependent problem (viscoplasticity)
lcid | - load case id |
Created by JK, 27.10.2001 Modified by Tomas Koudelka
Definition at line 57 of file mtsolver.cpp.
References timecontr::actualforwtimeincr(), mechbclc::comp_sum(), compute_req_val(), nonlinman::divc_err, nonlinman::divc_step, probdesc::dtime, timecontr::dtmin, timecontr::endtime(), nonlinman::errnr, f, fillm(), fillv(), lhsrhs::give_lhs(), lhsrhs::give_rhs(), Gtm, probdesc::hdbcont, incr_internal_forces(), timecontr::initialtimeincr(), mechmat::initmaterialmodels(), internal_forces(), timecontr::isitimptime(), probdesc::istep, probdesc::jstep, lsm_quad(), Lsrs, Mb, mefel_right_hand_side(), Mespr, Mm, Mp, Ndofm, timecontr::newtime(), nonlinman::niilnr, probdesc::nlman, nullv(), timecontr::oldtime(), probdesc::otherstate, Out, print_close(), print_flush(), print_init(), print_step(), print_step_forced(), hdbcontr::restore_stat(), hdbcontr::save_stat(), Smat, slesolv::solve_system(), solver_restore(), solver_save(), ss(), probdesc::ssle, timecontr::starttime(), stiffness_matrix(), nonlinman::stmat, probdesc::strainstate, probdesc::stressstate, tangent_stiff, probdesc::time, probdesc::timecon, mechmat::updateipval(), and probdesc::zero.
void visco_solver2 | ( | long | lcid | ) |
solver of time dependent problems built on one step concept
Function solves time dependent problem (viscoplasticity). It uses one_step concept instead of standard one.
lcid | - load case id |
Created by Tomas Koudelka, 11.2011, corrected by TKr 27/03/2013
Definition at line 383 of file mtsolver.cpp.
References compute_req_val(), copyv(), probdesc::dtime, timecontr::dtmax, timecontr::dtmin, timecontr::endtime(), mt_glob_vec::f, mt_glob_vec::fb, mt_glob_vec::fl, mt_glob_vec::fp, probdesc::hdbcont, timecontr::initialtimeincr(), timecontr::isitimptime(), probdesc::istep, mt_glob_vec::istep, Mespr, Mm, Mp, Ndofm, timecontr::newtime(), timecontr::oldtime(), one_step(), print_close(), print_flush(), print_step(), print_step_forced(), mt_glob_vec::r, hdbcontr::save_stat(), solver_save(), probdesc::time, time, probdesc::timecon, mechmat::updateipval(), and visco_solver_init().
Referenced by solve_time_dep_prob().
void visco_solver_init | ( | long | lcid, | |
mt_glob_vec & | mt_gv | |||
) |
initialization phase of visco_solver for one_step concept
Function allocates and initializes global vectors used in mtsolver It is used in one_step concept solver.
Created by Tomas Koudelka, 11.2011
Definition at line 505 of file mtsolver.cpp.
References mt_glob_vec::alloc(), probdesc::eigstrains, mt_glob_vec::f, 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, print_flush(), print_init(), print_step(), mt_glob_vec::r, hdbcontr::restore_stat(), solver_restore(), timecontr::starttime(), probdesc::time, and probdesc::timecon.
Referenced by newton_raphson_parcoupl_common_dt(), newton_raphson_parcoupl_comp(), and visco_solver2().