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