#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"Include dependency graph for fem.c:

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) |
| 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.
References Config, DISPLACEMENT, _node::dof, _config::loadfactor, maxcor, NDof, NodeVector, _dof::vpx, _dof::vpy, _dof::vpz, _dof::y, and _dof::z.
| void BuildAVector | ( | int * | ia, | |
| int * | ja, | |||
| double * | avector | |||
| ) |
Definition at line 395 of file fem.c.
References BuildaVector(), DISPLACEMENT, ElmGetDof, ElmKMatrix, ElmList, NDof, ngr, NodeVector, and NumElements.
Here is the call graph for this function:

| int DisplacementVelocity | ( | int | iteration, | |
| double | alpha, | |||
| double | dtime, | |||
| double * | FVector, | |||
| double * | VVector, | |||
| double * | UVector, | |||
| double * | MVector | |||
| ) |
Definition at line 816 of file fem.c.
References Config, ConstList, _node::constrain, ConstSlide, ConstToGlobal, ConstToLocal, _node::coord, _constr::curr_elm, DISPLACEMENT, _node::dof, FORCE, _node::id, _config::loadfactor, NodeVector, NONE, OBJECT, pfs_iter, pfs_node, _node::pilot, VELOCITY, _dof::vpx, _dof::vpy, _dof::vpz, _coord::x, _dof::x, _coord::y, _dof::y, _coord::z, and _dof::z.
| int DoRezone | ( | int | step, | |
| double * | FVector | |||
| ) |
Definition at line 1066 of file fem.c.
References DONE, ElmConnect, ElmList, ElmNumNodes, NodeVector, NONE, _rezone::numelm, _element::rezone, Rezone, TODO, and UpdatePrescribedValues().
Here is the call graph for this function:

| static void ElmKp | ( | double * | , | |
| double * | , | |||
| int * | , | |||
| int * | , | |||
| double * | ||||
| ) | [static] |
| static void ElmKpr | ( | double * | , | |
| int * | , | |||
| double * | ||||
| ) | [static] |
| static void GCSolver | ( | double * | , | |
| double * | , | |||
| int * | , | |||
| int * | , | |||
| double * | ||||
| ) | [static] |
Definition at line 276 of file fem.c.
References DISPLACEMENT, ElmKpr(), NDof, ngr, NodeVector, and NumNodes.
Here is the call graph for this function:

| void InternalForces | ( | double | dtime, | |
| double * | F, | |||
| double * | U, | |||
| double * | V | |||
| ) |
Definition at line 762 of file fem.c.
References Config, _node::dof, FORCE, _config::loadfactor, NodeVector, NONE, _dof::vpx, _dof::vpy, _dof::vpz, _dof::y, and _dof::z.
| 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.
References Config, DISPLACEMENT, _node::dof, _config::loadfactor, NDof, NodeVector, _dof::vpx, _dof::vpy, _dof::vpz, _dof::y, and _dof::z.
| void MassVector | ( | double * | MVector | ) |
| 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.
References Config, DISPLACEMENT, _node::dof, _config::loadfactor, NDof, NodeVector, _dof::vpx, _dof::vpy, _dof::vpz, _dof::y, and _dof::z.
| void PercolationForces | ( | double * | F | ) |
| 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(), and _config::solver.
Here is the call graph for this function:

1.5.1