SIFEL/MEFEL/SRC/slopesol.cpp File Reference

#include "slopesol.h"
#include "arclength.h"
#include "global.h"
#include "globmat.h"
#include "mechprint.h"
#include "loadcase.h"
#include "dloadcase.h"
#include "intpoints.h"
#include "vector.h"
#include "matrix.h"
#include "mathem.h"
#include "gmatrix.h"
#include "tensor.h"
#include "vecttens.h"
#include "nssolver.h"
#include <math.h>
#include <string.h>

Go to the source code of this file.

Functions

double arclengthrv1 (long lcid, double rlambda, double rlerr)
 the arc-length method which reaches given value of the lambda parameter
void newton_raphsonrv1 (long lcid, double rlambda, double rlerr)
 the Newton-Raphson method which reaches given value of the lambda parameter

Function Documentation

double arclengthrv1 ( long  lcid,
double  rlambda,
double  rlerr 
)

the arc-length method which reaches given value of the lambda parameter

The function solves system of nonlinear algebraic equations by the arc-length method. This method was modified to reach the given value rlambda of the lambda parameter. Rlambda value is reached with required error rlerr. Only one right hand side vector is supported with respect to nonlinearity and absence of superposition. Up to rlambda value the constant load vector is treated as proportional and then as constant. Proportional vector grows until the nial number of steps is reached.

Parameters:
lcid - load case id
rlambda - required value of lambda parameter
rlerr - required error between lambda and rlambda
Returns:
The function returns reached lambda parameter.

Created by Tomas Koudelka,

Definition at line 37 of file slopesol.cpp.

References addv(), arclopen(), arclsave(), compute_req_val(), copyv(), displincr(), nonlinman::dlal, nonlinman::dlmaxal, nonlinman::dlminal, nonlinman::erral, f, lhsrhs::give_lhs(), lhsrhs::give_rhs(), Gtm, nonlinman::hdbackupal, internal_forces(), Lsrs, Mespr, Mm, mode, Mp, Ndofm, nonlinman::nial, nonlinman::niilal, probdesc::nlman, normv(), Out, print_flush(), print_step(), nonlinman::psial, quadeqcoeff(), Smat, solv_polynom_2(), slesolv::solve_system(), ss(), probdesc::ssle, stiffness_matrix(), nonlinman::stmat, subv(), tangent_stiff, mechmat::updateipval(), and probdesc::zero.

Referenced by nonlinear_solver().

void newton_raphsonrv1 ( long  lcid,
double  rlambda,
double  rlerr 
)

the Newton-Raphson method which reaches given value of the lambda parameter

Function solves system of nonlinear algebraic equations by Newton-Raphson method. Solved system does not contain time variable. Required value of the reached load coefficient lambda can be specified.

Parameters:
lcid - load case id
rlambda - required value of reached load coefficient
rlerr - tolerance for the reached rlambda
Returns:
The function does not return anything.

Created by Tomas Koudelka, 16.8.2001

Definition at line 378 of file slopesol.cpp.

References compute_req_val(), nonlinman::divc_err, nonlinman::divc_step, nonlinman::errnr, f, fillm(), fillv(), lhsrhs::give_lhs(), lhsrhs::give_rhs(), Gtm, nonlinman::incrnr, internal_forces(), lsm_quad(), Lsrs, nonlinman::maxincrnr, memset(), Mespr, nonlinman::minincrnr, Mm, Mp, Ndofm, nonlinman::niilnr, nonlinman::ninr, probdesc::nlman, normv(), probdesc::otherstate, Out, print_close(), print_flush(), print_init(), print_step(), Smat, slesolv::solve_system(), probdesc::ssle, stiffness_matrix(), nonlinman::stmat, probdesc::strainstate, probdesc::stressstate, tangent_stiff, mechmat::updateipval(), and probdesc::zero.

Referenced by nonlinear_solver().


Generated by  doxygen 1.6.2