#include <stdio.h>#include <stdlib.h>#include <math.h>#include "constrain.h"#include "load.h"#include "elm.h"#include "node.h"#include "alg.h"#include "xgplib.h"#include "fem.h"#include "csr.h"#include "pfs.h"

Go to the source code of this file.
Defines | |
| #define | maxcor 30 |
| #define | maxiter 5000 |
| #define | cgtol 1.0e-10 |
| #define | ngr 10e20 |
Functions | |
| static void | ElmKpr (double *, int *, double *) |
| static void | ElmKp (double *, double *, int *, int *, double *) |
| static void | GCSolver (double *, double *, int *, int *, double *) |
| static void | SearchDirection (int i, int k, double *vector, double **w, double **v, int nna, int nnu, int *ia, int *ja, double *avector) |
| void | BuildAVector (int *ia, int *ja, double *avector) |
| void | BFGS (double dtime, double *F, double *U, double *V, int *iteration, double *error, double error0, int loadstep, int nna, int nnu, int *ia, int *ja, double *avector) |
| void | NRM (double dtime, double *F, double *U, double *V, int *iteration, double *error, double error0, int loadstep, int nna, int nnu, int *ia, int *ja, double *avector) |
| void | LINEAR (double dtime, double *F, double *U, double *V, int *iteration, double *error, double error0, int loadstep, int nna, int nnu, int *ia, int *ja, double *avector) |
| void | InternalForces (double dtime, double *F, double *U, double *V) |
| int | DisplacementVelocity (int iteration, double alpha, double dtime, double *FVector, double *VVector, double *UVector, double *MVector) |
| void | MassVector (double *MVector) |
| int | DoRezone (int step, double *FVector) |
| void | PercolationForces (double *F) |
| #define cgtol 1.0e-10 |
| #define maxiter 5000 |
| #define ngr 10e20 |
| void BFGS | ( | double | dtime, | |
| double * | F, | |||
| double * | U, | |||
| double * | V, | |||
| int * | iteration, | |||
| double * | error, | |||
| double | error0, | |||
| int | loadstep, | |||
| int | nna, | |||
| int | nnu, | |||
| int * | ia, | |||
| int * | ja, | |||
| double * | avector | |||
| ) |
Definition at line 444 of file fem.c.
Referenced by HYBRIDSolver(), and IMPBFGSSolver().

| void BuildAVector | ( | int * | ia, | |
| int * | ja, | |||
| double * | avector | |||
| ) |
Definition at line 395 of file fem.c.
Referenced by HYBRIDSolver(), IMPBFGSSolver(), IMPLINEARSolver(), and IMPNRMSolver().

| int DisplacementVelocity | ( | int | iteration, | |
| double | alpha, | |||
| double | dtime, | |||
| double * | FVector, | |||
| double * | VVector, | |||
| double * | UVector, | |||
| double * | MVector | |||
| ) |
Definition at line 816 of file fem.c.
Referenced by DRSolver(), and HYBRIDSolver().

| int DoRezone | ( | int | step, | |
| double * | FVector | |||
| ) |
Definition at line 1066 of file fem.c.
Referenced by RezoneAnalysis().

| static void ElmKp | ( | double * | d, | |
| double * | p, | |||
| int * | ia, | |||
| int * | ja, | |||
| double * | avector | |||
| ) | [static] |
Definition at line 259 of file fem.c.
References NDof, and NumNodes.
Referenced by GCSolver().

| static void ElmKpr | ( | double * | Kp, | |
| int * | ia, | |||
| double * | avector | |||
| ) | [static] |
Definition at line 247 of file fem.c.
References NDof, and NumNodes.
Referenced by GCSolver().

| static void GCSolver | ( | double * | R, | |
| double * | u, | |||
| int * | ia, | |||
| int * | ja, | |||
| double * | avector | |||
| ) | [static] |
Definition at line 276 of file fem.c.
References cgtol, DISPLACEMENT, ElmKp(), ElmKpr(), maxiter, NDof, ngr, NodeVector, and NumNodes.
Referenced by BFGS(), LINEAR(), NRM(), and SearchDirection().


| void InternalForces | ( | double | dtime, | |
| double * | F, | |||
| double * | U, | |||
| double * | V | |||
| ) |
Definition at line 762 of file fem.c.
Referenced by BFGS(), DRSolver(), HYBRIDSolver(), InitialError(), LINEAR(), and NRM().

| void LINEAR | ( | double | dtime, | |
| double * | F, | |||
| double * | U, | |||
| double * | V, | |||
| int * | iteration, | |||
| double * | error, | |||
| double | error0, | |||
| int | loadstep, | |||
| int | nna, | |||
| int | nnu, | |||
| int * | ia, | |||
| int * | ja, | |||
| double * | avector | |||
| ) |
Definition at line 681 of file fem.c.
Referenced by IMPLINEARSolver().

| void MassVector | ( | double * | MVector | ) |
Definition at line 1033 of file fem.c.
Referenced by DRSolver(), HYBRIDSolver(), IMPBFGSSolver(), IMPLINEARSolver(), and IMPNRMSolver().

| void NRM | ( | double | dtime, | |
| double * | F, | |||
| double * | U, | |||
| double * | V, | |||
| int * | iteration, | |||
| double * | error, | |||
| double | error0, | |||
| int | loadstep, | |||
| int | nna, | |||
| int | nnu, | |||
| int * | ia, | |||
| int * | ja, | |||
| double * | avector | |||
| ) |
Definition at line 583 of file fem.c.
Referenced by IMPNRMSolver().

| void PercolationForces | ( | double * | F | ) |
Definition at line 1116 of file fem.c.
Referenced by DRSolver(), and HYBRIDSolver().

| static void SearchDirection | ( | int | i, | |
| int | k, | |||
| double * | vector, | |||
| double ** | w, | |||
| double ** | v, | |||
| int | nna, | |||
| int | nnu, | |||
| int * | ia, | |||
| int * | ja, | |||
| double * | avector | |||
| ) | [static] |
Definition at line 156 of file fem.c.
References Config, GCSolver(), SamgSolver(), and sConfig::solver.
Referenced by BFGS().


1.5.3