fem.c File Reference

#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)


Define Documentation

#define cgtol   1.0e-10

Definition at line 130 of file fem.c.

Referenced by GCSolver().

#define maxcor   30

Definition at line 122 of file fem.c.

Referenced by BFGS().

#define maxiter   5000

Definition at line 126 of file fem.c.

Referenced by GCSolver().

#define ngr   10e20

Definition at line 134 of file fem.c.

Referenced by BuildAVector(), and GCSolver().


Function Documentation

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().

Here is the caller graph for this function:

void BuildAVector ( int *  ia,
int *  ja,
double *  avector 
)

Definition at line 395 of file fem.c.

Referenced by HYBRIDSolver(), IMPBFGSSolver(), IMPLINEARSolver(), and IMPNRMSolver().

Here is the caller 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.

Referenced by DRSolver(), and HYBRIDSolver().

Here is the caller graph for this function:

int DoRezone ( int  step,
double *  FVector 
)

Definition at line 1066 of file fem.c.

Referenced by RezoneAnalysis().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

void MassVector ( double *  MVector  ) 

Definition at line 1033 of file fem.c.

Referenced by DRSolver(), HYBRIDSolver(), IMPBFGSSolver(), IMPLINEARSolver(), and IMPNRMSolver().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

void PercolationForces ( double *  F  ) 

Definition at line 1116 of file fem.c.

Referenced by DRSolver(), and HYBRIDSolver().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Tue Oct 23 11:23:51 2007 for Relax by  doxygen 1.5.3