#include <nonlinman.h>
Public Member Functions | |
void | allocavec (long n) |
void | deallocavec () |
void | initiate (nonlinman &nm) |
nonlinman (void) | |
void | print (FILE *out) |
void | print_seldof (FILE *out) |
void | print_seldofcoord (FILE *out) |
void | print_selnod (FILE *out) |
void | read (XFILE *in, long mespr) |
void | read_seldof (XFILE *in) |
void | read_seldofcoord (XFILE *in) |
void | read_selnod (XFILE *in) |
~nonlinman (void) | |
Public Attributes | |
char | backupfname [1025] |
backup filename | |
flagsw | check_div |
flag for detection of divergency of inner iteration loop | |
flagsw | check_lambdar |
flag for checking of lambdar | |
flagsw | check_tot_al |
flag for checking of maximum total(cumulative) performed length of the arc | |
displacementnorm | displnorm |
norm measure of displacement increments | |
long | div_min_steps |
double * | divc_err |
array of stored errors (length of array = div_min_steps) | |
double * | divc_step |
array of stored step id (length of array = div_min_steps) | |
double | dlal |
length of arc | |
detlambda | dlam |
determination of increment of load parameter | |
double | dlmaxal |
maximum length of arc | |
double | dlminal |
minimum length of arc | |
double | erral |
required norm of vector of unbalanced forces | |
double | errl |
required error for lambdar tresholds | |
double | errnr |
required norm of vector of unbalanced forces | |
long | hdbackupal |
hard-disc backup | |
long | hdbid |
index of harddisk backup in the harddisk backup file | |
long | hdbr |
harddisk backup restart indicator | |
double | incrnr |
magnitude of increment of loading | |
long | ithstiffchange |
the stiffness matrix is recalculated after ithstiffchange steps in outer loop | |
long | jthstiffchange |
the stiffness matrix is recalculated after jthstiffchange steps in inner loop | |
double | lambdar |
required load coefficient for the proportional vector | |
double | max_tot_al |
maximum total(cumulative) performed length of the arc | |
double | maxincrnr |
maximum magnitude of increment of loading | |
double | minincrnr |
minimum magnitude of increment of loading | |
long | nial |
maximum number of increments | |
long | nienr |
required value of lambda | |
long | niilal |
long | niilnr |
long | ninr |
maximum number of increments | |
long | nsdofal |
number of selected DOFs (for norm computation) | |
long | nsnal |
number of selected nodes (for norm computation) | |
double | nxal |
unit vector between selected nodes | |
double | nyal |
double | nzal |
long | probdimal |
problem dimension (for increment of two node distance) | |
double | psial |
displacement-loading driving switch | |
long * | seldofal |
selected degrees of freedom | |
long * | selnodal |
selected nodes (for norm computations) | |
double * | selnodcoord |
coordinates of selected nodes | |
stiffmatrix | stmat |
nonlinsolvertype | tnlinsol |
type of solver of nonlinear algebraic equation system |
Class nonlinman defines type of solver of systems of nonlinear algebraic equations.
Created by JK, 16.6.2004
Definition at line 17 of file nonlinman.h.
nonlinman | ( | void | ) |
Definition at line 6 of file nonlinman.cpp.
References backupfname, check_div, check_lambdar, displnorm, div_min_steps, divc_err, divc_step, dlal, dlam, dlmaxal, erral, errl, errnr, hdbackupal, hdbid, hdbr, incrnr, initial_stiff, ithstiffchange, jthstiffchange, lambdar, minincrnr, nial, nienr, niilal, niilnr, ninr, nodetermination, nsdofal, nsnal, off, psial, seldofal, selnodal, stmat, and tnlinsol.
~nonlinman | ( | void | ) |
void allocavec | ( | long | n | ) |
void deallocavec | ( | ) |
void initiate | ( | nonlinman & | nm | ) |
The function initializes data from the another nonlinman structure.
nm | - nonlinman structure used fro initialization |
The function does not return anything.
Created by Jaroslav Kruis, 2008
Definition at line 550 of file nonlinman.cpp.
References alldofs, backupfname, check_div, check_lambdar, check_tot_al, displnorm, div_min_steps, divc_err, divc_step, dlal, dlam, dlmaxal, dlminal, erral, errl, errnr, hdbackupal, hdbid, hdbr, incrnr, ithstiffchange, jthstiffchange, lambdar, long(), max_tot_al, maxincrnr, minincrnr, nial, nienr, niilal, niilnr, ninr, nodesdistincr, nsdofal, nsnal, nxal, nyal, nzal, on, print_err(), probdimal, psial, seldofal, seldofs, seldofscoord, selecnodes, selnodal, selnodcoord, stmat, and tnlinsol.
void print | ( | FILE * | out | ) |
The function prints parameters for individual types of solvers to the opened text file.
out | - pointer to the opened text file for output |
Created by Jaroslav Kruis, 2008 Modified by Tomas Koudelka, 08.2011
Definition at line 275 of file nonlinman.cpp.
References alldofs, arcl, arclg, arclrv, arclrv1, backupfname, check_div, check_lambdar, check_tot_al, displctrl, displctrlrv, displnorm, div_min_steps, dlal, dlam, dlmaxal, dlminal, erral, errl, errnr, hdbid, hdbr, ijth_tangent_stiff, incr_tangent_stiff, incrnr, initial_stiff, ithstiffchange, jthstiffchange, lambdar, max_tot_al, maxincrnr, minincrnr, newton, newtong, newtonrestart, newtonrv1, nial, nienr, niilal, niilnr, ninr, nodesdistincr, nsdofal, nsnal, on, print_err(), print_seldof(), print_seldofcoord(), print_selnod(), probdimal, psial, secant_stiff, seldofs, seldofscoord, selecnodes, stmat, tangent_stiff, and tnlinsol.
Referenced by probdesc::print().
void print_seldof | ( | FILE * | out | ) |
void print_seldofcoord | ( | FILE * | out | ) |
The function prints coordinates of selected dofs for arclength control.
in | - pointer to the opened text file |
Created by Jaroslav Kruis, 2008
Definition at line 529 of file nonlinman.cpp.
References nsdofal, seldofal, and selnodcoord.
Referenced by print().
void print_selnod | ( | FILE * | out | ) |
The function prints selected nodes for arclength control.
in | - pointer to the opened text file |
Created by Jaroslav Kruis, 2008
Definition at line 487 of file nonlinman.cpp.
References nsnal, and selnodal.
Referenced by print().
void read | ( | XFILE * | in, | |
long | mespr | |||
) |
The function reads parameters for individual types of solvers.
in | - pointer to the opened text file | |
mespr | - flag for message printing control (0 = no messages are printed, 1 = messages are sentto stdout) |
Created by Jaroslav Kruis, 2008 Modified by Tomas Koudelka, 08.2011
Definition at line 77 of file nonlinman.cpp.
References adaptram, alldofs, arcl, arclg, arclrv, arclrv1, check_div, check_lambdar, check_tot_al, detlambda_kwdset(), displacementnorm_kwdset(), displctrl, displctrlrv, displnorm, div_min_steps, divc_err, divc_step, dlal, dlam, dlmaxal, dlminal, erral, errl, errnr, flagsw_kwdset(), ijth_tangent_stiff, incr_tangent_stiff, incrnr, initial_stiff, ithstiffchange, jthstiffchange, lambdar, max_tot_al, maxincrnr, minincrnr, newton, newtong, newtonrv1, nial, niilal, niilnr, ninr, nodesdistincr, nonlinsolvertype_kwdset(), nsdofal, nsnal, on, print_err(), print_warning(), probdimal, psial, read_seldof(), read_seldofcoord(), read_selnod(), secant_stiff, seldofal, seldofs, seldofscoord, selecnodes, selnodal, selnodcoord, stiffmatrix_kwdset(), stmat, tangent_stiff, tnlinsol, and xfscanf().
Referenced by probdesc::read().
void read_seldof | ( | XFILE * | in | ) |
The function reads selected dofs for arclength control.
in | - pointer to the opened text file |
Created by Jaroslav Kruis, 2008
Definition at line 444 of file nonlinman.cpp.
References nsdofal, seldofal, selnodal, and xfscanf().
Referenced by read().
void read_seldofcoord | ( | XFILE * | in | ) |
The function reads coordinates of selected dofs for arclength control.
in | - pointer to the opened text file |
Created by Jaroslav Kruis, 2008
Definition at line 466 of file nonlinman.cpp.
References nsdofal, seldofal, selnodcoord, and xfscanf().
Referenced by read().
void read_selnod | ( | XFILE * | in | ) |
char backupfname[1025] |
backup filename
Definition at line 142 of file nonlinman.h.
Referenced by initiate(), newton_raphson_restart(), nonlinman(), and print().
flag for detection of divergency of inner iteration loop
Definition at line 107 of file nonlinman.h.
Referenced by check_divergence(), check_divergency(), initiate(), nonlinman(), probdesc::print(), print(), probdesc::read(), and read().
flag for checking of lambdar
Definition at line 99 of file nonlinman.h.
Referenced by assemble_attained_load_vector(), garclength(), gnewton_raphson(), gnewton_raphson2(), initiate(), loadincr(), nonlinear_solver(), nonlinman(), one_step_arcl(), print(), and read().
flag for checking of maximum total(cumulative) performed length of the arc
Definition at line 94 of file nonlinman.h.
Referenced by garclength(), initiate(), one_step_arcl(), print(), and read().
norm measure of displacement increments
Definition at line 54 of file nonlinman.h.
Referenced by displincr(), initiate(), loadincr(), nonlinman(), parseldofinit(), print(), quadeqcoeff(), read(), and seldofinit().
long div_min_steps |
the minimum number of performed inner iteration steps before the loop can be interrupted due to divergency (div_min_steps has to be greater or equal to 3)
Definition at line 111 of file nonlinman.h.
Referenced by check_divergence(), check_divergency(), initiate(), nonlinman(), probdesc::print(), print(), probdesc::read(), and read().
double* divc_err |
array of stored errors (length of array = div_min_steps)
Definition at line 115 of file nonlinman.h.
Referenced by check_divergency(), initiate(), newton_raphson_gparcoupl_nonlin(), newton_raphson_parcoupl_lin(), newton_raphsonrv1(), nonlinman(), one_step(), par_one_step(), par_one_step_mefel(), read(), solve_prob_constr_phases(), visco_solver(), and ~nonlinman().
double* divc_step |
array of stored step id (length of array = div_min_steps)
Definition at line 113 of file nonlinman.h.
Referenced by check_divergency(), initiate(), newton_raphson_gparcoupl_nonlin(), newton_raphson_parcoupl_lin(), newton_raphsonrv1(), nonlinman(), one_step(), par_one_step(), par_one_step_mefel(), read(), solve_prob_constr_phases(), visco_solver(), and ~nonlinman().
double dlal |
length of arc
Definition at line 67 of file nonlinman.h.
Referenced by arclength(), arclength15(), arclengthadapt(), arclengthrv(), arclengthrv1(), garclength(), initiate(), nonlinman(), one_step_arcl(), print(), and read().
determination of increment of load parameter
Definition at line 56 of file nonlinman.h.
Referenced by arclengthrv(), determine_dlambda(), initiate(), nonlinman(), print(), quadeqcoeff(), and read().
double dlmaxal |
maximum length of arc
Definition at line 71 of file nonlinman.h.
Referenced by arclength(), arclength15(), arclengthadapt(), arclengthrv(), arclengthrv1(), garclength(), initiate(), nonlinman(), one_step_arcl(), print(), and read().
double dlminal |
minimum length of arc
Definition at line 69 of file nonlinman.h.
Referenced by arclength(), arclength15(), arclengthadapt(), arclengthrv(), arclengthrv1(), garclength(), initiate(), one_step_arcl(), print(), and read().
double erral |
required norm of vector of unbalanced forces
Definition at line 65 of file nonlinman.h.
Referenced by arclength(), arclength15(), arclengthadapt(), arclengthrv(), arclengthrv1(), garclength(), initiate(), nonlinman(), one_step_arcl(), print(), and read().
double errl |
required error for lambdar tresholds
Definition at line 104 of file nonlinman.h.
Referenced by arclengthrv(), garclength(), initiate(), nonlinear_solver(), nonlinman(), print(), and read().
double errnr |
required norm of vector of unbalanced forces
Definition at line 124 of file nonlinman.h.
Referenced by displ_control(), gnewton_raphson(), gnewton_raphson2(), gnewton_raphson_one_step(), initiate(), newton_raphson(), newton_raphson_restart(), newton_raphsonep(), newton_raphsonrv1(), nonlin_newmark_method(), nonlinman(), one_step(), probdesc::print(), print(), probdesc::read(), read(), and visco_solver().
long hdbackupal |
hard-disc backup
Definition at line 58 of file nonlinman.h.
Referenced by arclength(), arclengthadapt(), arclengthrv(), arclengthrv1(), initiate(), nonlinman(), and solve_nonlinear_statics().
long hdbid |
index of harddisk backup in the harddisk backup file
Definition at line 140 of file nonlinman.h.
Referenced by initiate(), newton_raphson_restart(), nonlinman(), and print().
long hdbr |
harddisk backup restart indicator
Definition at line 138 of file nonlinman.h.
Referenced by initiate(), newton_raphson_restart(), nonlinman(), and print().
double incrnr |
magnitude of increment of loading
Definition at line 126 of file nonlinman.h.
Referenced by displ_control(), gnewton_raphson(), gnewton_raphson2(), initiate(), newton_raphson(), newton_raphson_restart(), newton_raphsonep(), newton_raphsonrv1(), nonlinman(), print(), and read().
long ithstiffchange |
the stiffness matrix is recalculated after ithstiffchange steps in outer loop
Definition at line 48 of file nonlinman.h.
Referenced by assemble_stiffness_matrix(), initiate(), nonlinman(), probdesc::print(), print(), probdesc::read(), and read().
long jthstiffchange |
the stiffness matrix is recalculated after jthstiffchange steps in inner loop
Definition at line 50 of file nonlinman.h.
Referenced by assemble_stiffness_matrix(), initiate(), nonlinman(), probdesc::print(), print(), probdesc::read(), and read().
double lambdar |
required load coefficient for the proportional vector
Definition at line 101 of file nonlinman.h.
Referenced by assemble_attained_load_vector(), garclength(), gnewton_raphson(), gnewton_raphson2(), initiate(), loadincr(), nonlinear_solver(), nonlinman(), one_step_arcl(), print(), and read().
double max_tot_al |
maximum total(cumulative) performed length of the arc
Definition at line 96 of file nonlinman.h.
Referenced by arclengthrv(), garclength(), initiate(), one_step_arcl(), print(), and read().
double maxincrnr |
maximum magnitude of increment of loading
Definition at line 130 of file nonlinman.h.
Referenced by gnewton_raphson(), gnewton_raphson2(), initiate(), newton_raphsonrv1(), print(), and read().
double minincrnr |
minimum magnitude of increment of loading
Definition at line 128 of file nonlinman.h.
Referenced by displ_control(), gnewton_raphson(), gnewton_raphson2(), initiate(), newton_raphson(), newton_raphson_restart(), newton_raphsonep(), newton_raphsonrv1(), nonlinman(), print(), and read().
long nial |
maximum number of increments
Definition at line 60 of file nonlinman.h.
Referenced by arclength(), arclengthadapt(), arclengthrv(), arclengthrv1(), garclength(), initiate(), nonlinear_solver_adaptiv(), nonlinman(), print(), and read().
long nienr |
required value of lambda
number of steps in the initial loop for equilibrium
Definition at line 136 of file nonlinman.h.
Referenced by initiate(), newton_raphson_restart(), nonlinman(), and print().
long niilal |
maximum number of iterations in inner loop maximum number of iterations in one increment
Definition at line 63 of file nonlinman.h.
Referenced by arclength(), arclength15(), arclengthadapt(), arclengthrv(), arclengthrv1(), garclength(), initiate(), nonlinman(), one_step_arcl(), print(), and read().
long niilnr |
maximum number of iterations in inner loop maximum number of iterations in one increment
Definition at line 122 of file nonlinman.h.
Referenced by displ_control(), gnewton_raphson(), gnewton_raphson2(), gnewton_raphson_one_step(), initiate(), newton_raphson(), newton_raphson_restart(), newton_raphsonep(), newton_raphsonrv1(), nonlin_newmark_method(), nonlinman(), one_step(), probdesc::print(), print(), probdesc::read(), read(), and visco_solver().
long ninr |
maximum number of increments
Definition at line 119 of file nonlinman.h.
Referenced by displ_control(), gnewton_raphson(), gnewton_raphson2(), initiate(), newton_raphson(), newton_raphson_restart(), newton_raphsonep(), newton_raphsonrv1(), nonlinman(), print(), and read().
long nsdofal |
number of selected DOFs (for norm computation)
Definition at line 79 of file nonlinman.h.
Referenced by arclopen(), arclsave(), displincr(), initiate(), loadincr(), nonlinman(), parseldofinit(), print(), print_seldof(), print_seldofcoord(), quadeqcoeff(), read(), read_seldof(), read_seldofcoord(), and seldofinit().
long nsnal |
number of selected nodes (for norm computation)
Definition at line 75 of file nonlinman.h.
Referenced by initiate(), nonlinman(), parseldofinit(), print(), print_selnod(), read(), read_selnod(), and seldofinit().
double nxal |
unit vector between selected nodes
Definition at line 87 of file nonlinman.h.
Referenced by displincr(), initiate(), and seldofinit().
double nyal |
Definition at line 87 of file nonlinman.h.
Referenced by displincr(), initiate(), and seldofinit().
double nzal |
Definition at line 87 of file nonlinman.h.
Referenced by displincr(), initiate(), and seldofinit().
long probdimal |
problem dimension (for increment of two node distance)
Definition at line 85 of file nonlinman.h.
Referenced by displincr(), initiate(), print(), and read().
double psial |
displacement-loading driving switch
Definition at line 73 of file nonlinman.h.
Referenced by arclength(), arclength15(), arclengthadapt(), arclengthrv(), arclengthrv1(), garclength(), initiate(), nonlinman(), one_step_arcl(), print(), and read().
long* seldofal |
selected degrees of freedom
Definition at line 81 of file nonlinman.h.
Referenced by arclopen(), arclsave(), displincr(), initiate(), loadincr(), nonlinman(), parseldofinit(), prdisplincr(), print_seldof(), print_seldofcoord(), quadeqcoeff(), read(), read_seldof(), read_seldofcoord(), seldofinit(), and ~nonlinman().
long* selnodal |
selected nodes (for norm computations)
Definition at line 77 of file nonlinman.h.
Referenced by initiate(), nonlinman(), parseldofinit(), print_seldof(), print_selnod(), read(), read_seldof(), read_selnod(), seldofinit(), and ~nonlinman().
double* selnodcoord |
coordinates of selected nodes
Definition at line 83 of file nonlinman.h.
Referenced by initiate(), print_seldofcoord(), read(), and read_seldofcoord().
TYPE OF STIFFNESS MATRIX stmat=1 - initial elastic stiffness stmat=2 - tangent stiffness stmat=3 - secant stiffness matrix stmat=5 - incr_tangent_stiff - the stiffness matrix is recalculated after one increment of the outer loop stmat=6 - ijth_tangent_stiff - the stiffness matrix is recalculated after i-th step of the outer loop and after j-th step in the inner loop
Definition at line 46 of file nonlinman.h.
Referenced by arclength(), arclengthrv1(), assemble_stiffness_matrix(), initiate(), visplast::matstiff(), splas1d::matstiff(), shefplast::matstiff(), scaldamcc::matstiff(), scaldam::matstiff(), ortodamrot::matstiff(), ortodam::matstiff(), mohrcoulombpar::matstiff(), mohrcoulomb::matstiff(), j2flow2::matstiff(), j2flow::matstiff(), hissplas::matstiff(), glasgowdam::matstiff(), glasgmech::matstiff(), fixortodam::matstiff(), drprag::matstiff(), damplast::matstiff(), chen::matstiff(), camclaycoup::matstiff(), camclay::matstiff(), boermat::matstiff(), anisodamrot::matstiff(), anisodam::matstiff(), drprag2::matstiff(), doubdp::matstiff(), newton_raphson_gparcoupl_lin(), newton_raphson_gparcoupl_nonlin(), newton_raphson_parcoupl_lin(), newton_raphson_parcoupl_nonlin(), newton_raphson_restart(), newton_raphsonrv1(), nonlinman(), par_newton_raphson_gparcoupl_lin(), par_newton_raphson_gparcoupl_nonlin(), par_newton_raphson_parcoupl_lin(), par_newton_raphson_parcoupl_nonlin(), par_solve_prob_constr_phases(), par_solve_timemech_prob(), probdesc::print(), print(), probdesc::read(), read(), and visco_solver().
type of solver of nonlinear algebraic equation system
Definition at line 38 of file nonlinman.h.
Referenced by initiate(), nonlinear_solver(), nonlinear_solver_adaptiv(), nonlinman(), print(), read(), and solve_nonlinear_statics().