#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <time.h>#include "load.h"#include "elm.h"#include "node.h"#include "fem.h"#include "alg.h"#include "nfi.h"#include "rio.h"#include "drv.h"#include "damp.h"#include "constrain.h"#include "csr.h"

Go to the source code of this file.
Defines | |
| #define | PI 3.141592654 |
Functions | |
| static double | _TimeIncrement (void) |
| static void | _UpdateGeometry (double, double *) |
| static int | _ConvergeError () |
| static double | InitialError (double, double *, double *, double *, double *) |
| double | ComputeError (double *FVector, double *UVector, double error0) |
| void | _dUVector (double *UVector, double *UVector0, double *dUVector) |
| int | NeedIteration (double *error, int *iteration, int stop) |
| int | DRSolver (UI_State *R, double *FVector, double *UVector, double *VVector, double *MVector, int loadstep) |
| int | IMPLINEARSolver (UI_State *R, double *FVector, double *UVector, double *VVector, double *MVector, int loadstep) |
| int | IMPBFGSSolver (UI_State *R, double *FVector, double *UVector, double *VVector, double *MVector, int loadstep) |
| int | IMPNRMSolver (UI_State *R, double *FVector, double *UVector, double *VVector, double *MVector, int loadstep) |
| int | HYBRIDSolver (UI_State *R, double *FVector, double *UVector, double *VVector, double *MVector, int loadstep) |
| void | AlgReset (void) |
Variables | |
| sConfig | Config = { 0, 0, 0, 1, 0, 0, 0.0, 0, 0.0, 0.0, 0.0, 0 } |
| eCoupState | State = UNCOUPLED |
| double * | vetError |
| double | delta = 0.0 |
| #define PI 3.141592654 |
Definition at line 102 of file alg.c.
Referenced by AutoGlobalCalc(), ItfMohrCoulombUpdateStress(), MohrCoulombCutOffUpdateStress(), MohrCoulombNACUpdateStress(), MohrCoulombNAVUpdateStress(), MohrCoulombUpdateStress(), and PrincipalTensor().
| static int _ConvergeError | ( | ) | [static] |
Definition at line 150 of file alg.c.
References sConfig::numsteptol, sConfig::tolerance, and vetError.
Referenced by NeedIteration().

| void _dUVector | ( | double * | UVector, | |
| double * | UVector0, | |||
| double * | dUVector | |||
| ) |
Definition at line 290 of file alg.c.
Referenced by DRSolver(), and HYBRIDSolver().

| static double _TimeIncrement | ( | void | ) | [static] |
Definition at line 120 of file alg.c.
References ElmList, ElmTimeStep, NONE, and NumElements.
Referenced by DRSolver(), HYBRIDSolver(), IMPBFGSSolver(), IMPLINEARSolver(), and IMPNRMSolver().

| static void _UpdateGeometry | ( | double | dtime, | |
| double * | VVector | |||
| ) | [static] |
Definition at line 170 of file alg.c.
References sNode::coord, NDof, NodeVector, NumNodes, sCoord::x, sCoord::y, and sCoord::z.
Referenced by DRSolver(), and HYBRIDSolver().

| void AlgReset | ( | void | ) |
Definition at line 1176 of file alg.c.
Referenced by RelaxReset().

| double ComputeError | ( | double * | FVector, | |
| double * | UVector, | |||
| double | error0 | |||
| ) |
Definition at line 255 of file alg.c.
Referenced by BFGS(), DRSolver(), HYBRIDSolver(), LINEAR(), and NRM().

| int DRSolver | ( | UI_State * | R, | |
| double * | FVector, | |||
| double * | UVector, | |||
| double * | VVector, | |||
| double * | MVector, | |||
| int | loadstep | |||
| ) |
Definition at line 360 of file alg.c.
Referenced by LoadCaseAnalysis(), LoadStepAnalysis(), RezoneAnalysis(), StandardAnalysis(), StandardVEAnalysis(), and StandardVEFlacAnalysis().

| int HYBRIDSolver | ( | UI_State * | R, | |
| double * | FVector, | |||
| double * | UVector, | |||
| double * | VVector, | |||
| double * | MVector, | |||
| int | loadstep | |||
| ) |
Definition at line 957 of file alg.c.
Referenced by HybridAnalysis(), LoadCaseAnalysis(), and LoadStepAnalysis().

| int IMPBFGSSolver | ( | UI_State * | R, | |
| double * | FVector, | |||
| double * | UVector, | |||
| double * | VVector, | |||
| double * | MVector, | |||
| int | loadstep | |||
| ) |
Definition at line 653 of file alg.c.
Referenced by ImpBFGSAnalysis(), LoadCaseAnalysis(), and LoadStepAnalysis().

| int IMPLINEARSolver | ( | UI_State * | R, | |
| double * | FVector, | |||
| double * | UVector, | |||
| double * | VVector, | |||
| double * | MVector, | |||
| int | loadstep | |||
| ) |
Definition at line 501 of file alg.c.
Referenced by ImpLinearAnalysis(), LoadCaseAnalysis(), and LoadStepAnalysis().

| int IMPNRMSolver | ( | UI_State * | R, | |
| double * | FVector, | |||
| double * | UVector, | |||
| double * | VVector, | |||
| double * | MVector, | |||
| int | loadstep | |||
| ) |
Definition at line 805 of file alg.c.
Referenced by ImpNRMAnalysis(), LoadCaseAnalysis(), and LoadStepAnalysis().

| static double InitialError | ( | double | dtime, | |
| double * | F, | |||
| double * | U, | |||
| double * | V, | |||
| double * | U0 | |||
| ) | [static] |
Definition at line 187 of file alg.c.
References DISPLACEMENT, sNode::dof, InternalForces(), sConfig::loadfactor, NDof, NodeVector, NONE, NumNodes, sDof::vpx, sDof::vpy, sDof::vpz, sDof::x, sDof::y, and sDof::z.
Referenced by DRSolver(), HYBRIDSolver(), IMPBFGSSolver(), IMPLINEARSolver(), and IMPNRMSolver().


| int NeedIteration | ( | double * | error, | |
| int * | iteration, | |||
| int | stop | |||
| ) |
Definition at line 319 of file alg.c.
Referenced by BFGS(), DRSolver(), HYBRIDSolver(), IMPBFGSSolver(), IMPNRMSolver(), and NRM().

Definition at line 87 of file alg.c.
Referenced by _NfiReadAlgorithmType(), _NfiReadDrawStep(), _NfiReadGeometricallyNonLinear(), _NfiReadMaximumIteration(), _NfiReadNumGaussResults(), _NfiReadNumLoadStep(), _NfiReadNumStepTol(), _NfiReadPrintStep(), _NfiReadSolverType(), _NfiReadTimeFraction(), _NfiReadTimeStep(), _NfiReadTolerance(), _NfiReadTotalTime(), _NfiWriteResultStep(), _Q4PoroPressure(), _T3PoroPressure(), BFGS(), BRICK8StressStrain(), BRICK8WriteGaussResult(), DisplacementVelocity(), DKTWriteGaussResult(), HybridPrintResult(), ImpBFGSPrintResult(), ImpLinearPrintResult(), ImpNRMPrintResult(), INFINITEWriteGaussResult(), INTERFACEWriteGaussResult(), InternalForces(), LINEAR(), LoadCaseAnalysis(), LoadStepAnalysis(), NfiInterpFile(), NfiWriteResults(), NRM(), Q4WriteGaussResult(), SearchDirection(), StandardPrintResult(), StandardVEAnalysis(), StandardVEFlacPrintResult(), StandardVEViscoForces(), T3WriteGaussResult(), TETR4StressStrain(), and TETR4WriteGaussResult().
| eCoupState State = UNCOUPLED |
| double* vetError |
Definition at line 106 of file alg.c.
Referenced by _ConvergeError(), DRSolver(), HYBRIDSolver(), IMPBFGSSolver(), IMPLINEARSolver(), IMPNRMSolver(), and NeedIteration().
1.5.3