SIFEL/MEFEL/SRC/mtsolver.cpp File Reference

#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

Function Documentation

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.)

Parameters:
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
Return values:
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.

Returns:
The function does not return anything.

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  ) 
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.

Parameters:
lcid - load case id
Returns:
The function does not return anything.

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().


Generated by  doxygen 1.6.2