_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 "solversamg.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 *)
static void ElmKp (double *, double *)
static void GCSolver (double *, double *)
static void SearchDirection (int i, int k, double *vector, double **w, double **v)
static void ElmKpParalelo (int, int, int, int, double *, double *, double *, double *, double *, double *)
static void ElmKprParalelo (int, int, int, int, double *, double *, double *, double *, double *, double *, double *)
static void ContourParalelo (int, int, double *, double *)
static void ContourKpParalelo (int, int, double *)
static void ProdEscalarParalelo (int, int, double *, double *, double *, double *, double *, double *)
static void UpDataParalelo (int, int, double *, double *, double, double *, double *, double *, double *, double *, double *, double *)
static void ResParalelo (int, int, double, double *, double *, double *, double *, double *, double *)
static void PreParalelo (int, int, double *, double *, double *, double *, double *, double *, double *)
static void ProdutoEscalar (int n, int nn, double *w, double *v, double *a)
static void SomaVector (int n, int nn, double *w, double *v, double *b, double a)
static void SearchDirectionParalelo (int i, int k, double *vector, double **w, double **v, int ni[], int nf[], int gli[], int glf[])
void BuildAVector (void)
void BFGS (double dtime, double *F, double *U, double *V, int *iteration, double *error, double error0, int loadstep)
void NRM (double dtime, double *F, double *U, double *V, int *iteration, double *error, double error0, int loadstep)
void LINEAR (double dtime, double *F, double *U, double *V, int *iteration, double *error, double error0, int loadstep)
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 126 of file _fem.c.

Referenced by GCSolver().

#define maxcor   30

Definition at line 118 of file _fem.c.

Referenced by BFGS().

#define maxiter   5000

Definition at line 122 of file _fem.c.

Referenced by GCSolver().

#define ngr   10e20

Definition at line 130 of file _fem.c.

Referenced by BuildAVector(), ContourKpParalelo(), ContourParalelo(), and GCSolver().


Function Documentation

void BFGS ( double  dtime,
double *  F,
double *  U,
double *  V,
int *  iteration,
double *  error,
double  error0,
int  loadstep 
)

Definition at line 881 of file _fem.c.

References Config, DISPLACEMENT, _node::dof, _config::loadfactor, maxcor, NodeVector, _dof::vpx, _dof::vpy, _dof::vpz, _dof::y, and _dof::z.

Referenced by HYBRIDSolver(), and IMPBFGSSolver().

Here is the caller graph for this function:

void BuildAVector ( void   ) 

Definition at line 832 of file _fem.c.

References BuildaVector(), DISPLACEMENT, ElmGetDof, ElmKMatrix, ElmList, ngr, NodeVector, and NumElements.

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

Here is the call graph for this function:

Here is the caller graph for this function:

static void ContourKpParalelo ( int  ,
int  ,
double *   
) [static]

Definition at line 623 of file _fem.c.

References DISPLACEMENT, ngr, and NodeVector.

Referenced by ElmKprParalelo().

Here is the caller graph for this function:

static void ContourParalelo ( int  ,
int  ,
double *  ,
double *   
) [static]

Definition at line 603 of file _fem.c.

References DISPLACEMENT, ngr, and NodeVector.

Referenced by ElmKpParalelo().

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 1342 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 1592 of file _fem.c.

Referenced by RezoneAnalysis().

Here is the caller graph for this function:

static void ElmKp ( double *  ,
double *   
) [static]

static void ElmKpParalelo ( int  ,
int  ,
int  ,
int  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
) [static]

Definition at line 583 of file _fem.c.

References ContourParalelo(), and ProdEscalarParalelo().

Referenced by GCSolver().

Here is the call graph for this function:

Here is the caller graph for this function:

static void ElmKpr ( double *   )  [static]

Referenced by GCSolver().

Here is the caller graph for this function:

static void ElmKprParalelo ( int  ,
int  ,
int  ,
int  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
) [static]

Definition at line 564 of file _fem.c.

References ContourKpParalelo(), and PreParalelo().

Referenced by GCSolver().

Here is the call graph for this function:

Here is the caller graph for this function:

static void GCSolver ( double *  ,
double *   
) [static]

Definition at line 716 of file _fem.c.

References cgtol, ElmKpParalelo(), ElmKprParalelo(), maxiter, nf, ResParalelo(), and UpDataParalelo().

Referenced by SearchDirection(), and SearchDirectionParalelo().

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 1250 of file _fem.c.

Referenced by DRSolver(), and HYBRIDSolver().

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 
)

Definition at line 1113 of file _fem.c.

References Config, DISPLACEMENT, _node::dof, _config::loadfactor, NodeVector, _dof::vpx, _dof::vpy, _dof::vpz, _dof::y, and _dof::z.

Referenced by IMPLINEARSolver().

Here is the caller graph for this function:

void MassVector ( double *  MVector  ) 

Definition at line 1559 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 
)

Definition at line 1017 of file _fem.c.

References Config, DISPLACEMENT, _node::dof, _config::loadfactor, NodeVector, _dof::vpx, _dof::vpy, _dof::vpz, _dof::y, and _dof::z.

Referenced by IMPNRMSolver().

Here is the caller graph for this function:

void PercolationForces ( double *  F  ) 

Definition at line 1642 of file _fem.c.

Referenced by DRSolver(), and HYBRIDSolver().

Here is the caller graph for this function:

static void PreParalelo ( int  ,
int  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
) [static]

Definition at line 691 of file _fem.c.

Referenced by ElmKprParalelo().

Here is the caller graph for this function:

static void ProdEscalarParalelo ( int  ,
int  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
) [static]

Definition at line 643 of file _fem.c.

Referenced by ElmKpParalelo().

Here is the caller graph for this function:

static void ProdutoEscalar ( int  n,
int  nn,
double *  w,
double *  v,
double *  a 
) [static]

Definition at line 258 of file _fem.c.

Referenced by SearchDirectionParalelo().

Here is the caller graph for this function:

static void ResParalelo ( int  ,
int  ,
double  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
) [static]

Definition at line 676 of file _fem.c.

Referenced by GCSolver().

Here is the caller graph for this function:

static void SearchDirection ( int  i,
int  k,
double *  vector,
double **  w,
double **  v 
) [static]

Definition at line 170 of file _fem.c.

References Config, GCSolver(), and _config::solver.

Here is the call graph for this function:

static void SearchDirectionParalelo ( int  i,
int  k,
double *  vector,
double **  w,
double **  v,
int  ni[],
int  nf[],
int  gli[],
int  glf[] 
) [static]

Definition at line 279 of file _fem.c.

References Config, GCSolver(), ProdutoEscalar(), _config::solver, and SomaVector().

Here is the call graph for this function:

static void SomaVector ( int  n,
int  nn,
double *  w,
double *  v,
double *  b,
double  a 
) [static]

Definition at line 269 of file _fem.c.

Referenced by SearchDirectionParalelo().

Here is the caller graph for this function:

static void UpDataParalelo ( int  ,
int  ,
double *  ,
double *  ,
double  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
) [static]

Definition at line 657 of file _fem.c.

Referenced by GCSolver().

Here is the caller graph for this function:


Generated on Fri Oct 5 15:54:17 2007 for ReconMS by  doxygen 1.5.1