CalculiX  2.8
A Free Software Three-Dimensional Structural Finite Element Program
 All Classes Files Functions Variables Macros
remastructar.c File Reference
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "CalculiX.h"
Include dependency graph for remastructar.c:

Go to the source code of this file.

Functions

void remastructar (ITG *ipompc, double **coefmpcp, ITG **nodempcp, ITG *nmpc, ITG *mpcfree, ITG *nodeboun, ITG *ndirboun, ITG *nboun, ITG *ikmpc, ITG *ilmpc, ITG *ikboun, ITG *ilboun, char *labmpc, ITG *nk, ITG *memmpc_, ITG *icascade, ITG *maxlenmpc, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, ITG *nactdof, ITG *icol, ITG *jq, ITG **irowp, ITG *isolver, ITG *neq, ITG *nzs, ITG *nmethod, ITG *ithermal, ITG *iperturb, ITG *mass, ITG *mi, ITG *ics, double *cs, ITG *mcs, ITG *mortar, char *typeboun)
 

Function Documentation

void remastructar ( ITG ipompc,
double **  coefmpcp,
ITG **  nodempcp,
ITG nmpc,
ITG mpcfree,
ITG nodeboun,
ITG ndirboun,
ITG nboun,
ITG ikmpc,
ITG ilmpc,
ITG ikboun,
ITG ilboun,
char *  labmpc,
ITG nk,
ITG memmpc_,
ITG icascade,
ITG maxlenmpc,
ITG kon,
ITG ipkon,
char *  lakon,
ITG ne,
ITG nactdof,
ITG icol,
ITG jq,
ITG **  irowp,
ITG isolver,
ITG neq,
ITG nzs,
ITG nmethod,
ITG ithermal,
ITG iperturb,
ITG mass,
ITG mi,
ITG ics,
double *  cs,
ITG mcs,
ITG mortar,
char *  typeboun 
)

Definition at line 24 of file remastructar.c.

33  {
34 
35  /* reconstructs the nonzero locations in the stiffness and mass
36  matrix after a change in MPC's or the generation of contact
37  spring elements: version for frequency calculations (called
38  by arpack and arpackcs) */
39 
40  ITG *nodempc=NULL,*mast1=NULL,*ipointer=NULL,mpcend,mpcmult,
41  callfrommain,i,*irow=NULL,mt;
42 
43  double *coefmpc=NULL;
44 
45  nodempc=*nodempcp;coefmpc=*coefmpcp;irow=*irowp;
46 
47  mt=mi[1]+1;
48 
49  /* decascading the MPC's */
50 
51  printf(" Decascading the MPC's\n\n");
52 
53  callfrommain=0;
54  cascade(ipompc,&coefmpc,&nodempc,nmpc,
55  mpcfree,nodeboun,ndirboun,nboun,ikmpc,
56  ilmpc,ikboun,ilboun,&mpcend,&mpcmult,
57  labmpc,nk,memmpc_,icascade,maxlenmpc,
58  &callfrommain,iperturb,ithermal);
59 
60  /* determining the matrix structure */
61 
62  printf(" Determining the structure of the matrix:\n");
63 
64  if(nzs[1]<10) nzs[1]=10;
65  NNEW(mast1,ITG,nzs[1]);
66  RENEW(irow,ITG,nzs[1]);for(i=0;i<nzs[1];i++) irow[i]=0;
67 
68  if((*mcs==0)||(cs[1]<0)){
69 
70  NNEW(ipointer,ITG,mt**nk);
71 
72  mastruct(nk,kon,ipkon,lakon,ne,nodeboun,ndirboun,nboun,ipompc,
73  nodempc,nmpc,nactdof,icol,jq,&mast1,&irow,isolver,neq,
74  ikmpc,ilmpc,ipointer,nzs,nmethod,ithermal,
75  ikboun,ilboun,iperturb,mi,mortar,typeboun,labmpc);
76 
77  }else{
78 
79  NNEW(ipointer,ITG,8**nk);
80 
81  mastructcs(nk,kon,ipkon,lakon,ne,nodeboun,ndirboun,nboun,
82  ipompc,nodempc,nmpc,nactdof,icol,jq,&mast1,&irow,isolver,
83  neq,ikmpc,ilmpc,ipointer,nzs,nmethod,
84  ics,cs,labmpc,mcs,mi,mortar);
85  }
86 
87  SFREE(ipointer);SFREE(mast1);
88  RENEW(irow,ITG,nzs[2]);
89 
90  *nodempcp=nodempc;*coefmpcp=coefmpc;*irowp=irow;
91 
92  return;
93 }
void cascade(ITG *ipompc, double **coefmpcp, ITG **nodempcp, ITG *nmpc, ITG *mpcfree, ITG *nodeboun, ITG *ndirboun, ITG *nboun, ITG *ikmpc, ITG *ilmpc, ITG *ikboun, ITG *ilboun, ITG *mpcend, ITG *mpcmult, char *labmpc, ITG *nk, ITG *memmpc_, ITG *icascade, ITG *maxlenmpc, ITG *callfrommain, ITG *iperturb, ITG *ithermal)
Definition: cascade.c:34
void mastruct(ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, ITG *nodeboun, ITG *ndirboun, ITG *nboun, ITG *ipompc, ITG *nodempc, ITG *nmpc, ITG *nactdof, ITG *icol, ITG *jq, ITG **mast1p, ITG **irowp, ITG *isolver, ITG *neq, ITG *ikmpc, ITG *ilmpc, ITG *ipointer, ITG *nzs, ITG *nmethod, ITG *ithermal, ITG *ikboun, ITG *ilboun, ITG *iperturb, ITG *mi, ITG *mortar, char *typeboun, char *labmpc)
Definition: mastruct.c:27
#define RENEW(a, b, c)
Definition: CalculiX.h:40
#define SFREE(a)
Definition: CalculiX.h:41
void mastructcs(ITG *nk, ITG *kon, ITG *ipkon, char *lakon, ITG *ne, ITG *nodeboun, ITG *ndirboun, ITG *nboun, ITG *ipompc, ITG *nodempc, ITG *nmpc, ITG *nactdof, ITG *icol, ITG *jq, ITG **mast1p, ITG **irowp, ITG *isolver, ITG *neq, ITG *ikmpc, ITG *ilmpc, ITG *ipointer, ITG *nzs, ITG *nmethod, ITG *ics, double *cs, char *labmpc, ITG *mcs, ITG *mi, ITG *mortar)
Definition: mastructcs.c:27
#define ITG
Definition: CalculiX.h:51
#define NNEW(a, b, c)
Definition: CalculiX.h:39
Hosted by OpenAircraft.com, (Michigan UAV, LLC)