#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 cgtol 1.0e-10 |
| #define maxiter 5000 |
| #define ngr 10e20 |
Definition at line 130 of file _fem.c.
Referenced by BuildAVector(), ContourKpParalelo(), ContourParalelo(), and GCSolver().
| 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] |
| 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:

1.5.1