Modulefpreviousupnextcontents[BIG][Normal][small]
Next: 1.3 The algorithms Up: 1 Direct methods Prev: 1.1 Introduction Contents


1.2 The modules

This part gives a presentation of the different modules currently available in the code, along with their utilization context and parameters. Concrete computational examples are given in chapter 6.

1.2.1 ASEMBV: assembly of B

 

Aim:
Assemble the element right-hand-sides (forces, pressures, stresses, flux, ...) by packets, in order to use the computer's parallelization and vectorization possibilities to the best.

Utilization:

Call the module:

      CALL ASEMBV(M,NOT,NDSM,NCODSB,NFTAE,NITAE,
     +            NFNDL1,NINDL1,NFB,NIB,NTB)

where:

1.2.2 ASMAPS: assembly of MUA

Aim:
Assemble the element symmetric or non-symmetric matrices, in the form of a skyline matrix , A (stiffness matrix, mass matrix, ...), in secondary memory.

Utilization:

Call the module:

      CALL ASMAPS(M,NOT,NFTAE,NITAE,NFNDL1,NINDL1,
     +            NFMUAE,NIMUAE,NFMUAS,NIMUAS)

where

1.2.3 ASMBMS: assembly of B

But:
Assembly of the element RHSs (forces, pressures, stresses, flux, ...) in secondary memory.

Utilization:

Call the module:

      
      CALL ASMBMS(M,NOT,NDSM,NCODSB,NFTAE,NITAE,
     +            NFNDL1,NINDL1,NFB,NIB,NTB)

where:

1.2.4 ASSMUA: assembly of MUA

Aim:
Assemble the element matrices by packets, in the form of a skyline matrix, A   (stiffness matrix, mass matrix, ...), in order to use the computer's parallelization and vectorization possibilities to the best.

Utilization:

Call the module:

      CALL ASSMUA(M,NOT,NFTAE,NITAE,NFNDL1,NINDL1,
     +            NFMUAE,NIMUAE,NFMUAS,NIMUAS)

where:

1.2.5 CHOLPC: Cholesky factorization

Aim:
Perform the Cholesky factorization , in main memory, of a positive definite symmetric matrix A , already assembled in structure MUA.

Utilization:

Call the module:

  
      CALL CHOLPC(M,EPS,NENTRE,NFNDL1,NINDL1,
     +            NFMUAE,NIMUAE,NFMUAS,NIMUAS,NRETOU)

where:

1.2.6 CHOLPS: Cholesky factorization in secondary memory

Aim:
Perform the Cholesky factorization, in secondary memory in direct access , of a positive definite symmetric matrix A , already assembled in a MUA structure.

Utilization:

Call the module:

  
      CALL CHOLPS(M,EPS,NENTRE,NFNDL1,NINDL1,
     +            NFMUAE,NIMUAE,NFMUAS,NIMUAS,NRETOU)

where:

1.2.7 CLIMPC: boundary conditions

Aim:
Impose the boundary conditions  of prescribed value or linear relation type.

Utilization:

(e.g execute module PREPAC, then modules ASSMUA and ASEMBV, to create structures MUA and B)

Call the module:

  
      CALL CLIMPC(M,NIVO,VTG,NFNDL1,NINDL1,
     +            NFMUAE,NIMUAE,NFBE,NIBE,NFBDCL,NIBDCL,
     +            NFMUAS,NIMUAS,NFBS,NIBS)

where:

1.2.8 CLIMPS: boundary conditions

Aim:
Impose the boundary conditions  of prescribed value or linear relation type.

Utilization:
(eg execute module PREPAC, then modules ASMAPS and ASMBMS, to create structures MUA and B.)

Call the module:

  
      CALL CLIMPS(M,NIVO,VTG,NFNDL1,NINDL1,
     +            NFMUAE,NIMUAE,NFBE,NIBE,NFBDCL,NIBDCL,
     +            NFMUAS,NIMUAS,NFBS,NIBS)

where:

1.2.9 CONDL1: construction of NDL1

 

Aim:
Construct D.S. NDL1 using D.S. MAIL. The algorithms described in this guide perform a call to function NDL , to assign the number of the last degree of freedom associated with node I to NDL(I+1) (with NDL(1)=0). To initialize this function, the module performs a call to function LRNDL1, and then

Utilization:

Call the module:

  
      CALL CONDL1(M,NNSEG,NFMAIL,NIMAIL,NFNDL1,NINDL1,LNOET,
     +            NNOMAX,ND,NDLMAX)

where:

On exit the module returns:

1.2.10 CROUPC: Crout factorization

Aim:
Performs the Crout factorization , in main memory, of a symmetric matrix A , already assembled in a MUA structure.

Utilization:
(eg execute module PREPAC, then module ASSMUA to create the input data structure MUA)

Call the module:

  
      CALL CROUPC(M,EPS,NENTRE,NFNDL1,NINDL1,NFMUAE,
     +            NIMUAE,NFMUAS,NIMUAS,NRETOU)

where:

1.2.11 DRCHPC: Cholesky forward- and backsubstitution

 

Aim:
Performs the solution of a linear system in main memory, using Cholesky factorization. The lower triangular matrix L is already stored in structure MUA.

Utilization:

Call the module:

  
      CALL DRCHPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1,
     +            NFMUA,NIMUA,NFBE,NIBE,
     +            NFBDCL,NIBDCL,NFBS,NIBS)

where:

1.2.12 DRCRPC: Crout forward- and backsubstitution

 

Aim:
Performs the solution of a linear system in main memory, using Crout factorization. The lower triangular matrix L and the diagonal D are already stored in structure MUA.

Utilization:

Call the module:

  
      CALL DRCRPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1,
     +            NFMUA,NIMUA,NFBE,NIBE,
     +            NFBDCL,NIBDCL,NFBS,NIBS)

where:

1.2.13 DRGAPC: Gauss forward- and backsubstitution

 

Aim:
Performs the solution of a linear system in main memory, using Gauss factorization . The lower triangular matrix L and the upper triangular matrix U are already stored in structure MUA.

Utilization:

Call the module:

  
      CALL DRGAPC(M,NIVEAU,NCLRL,NFNDL1,NINDL1,
     +            NFMUA,NIMUA,NFBE,NIBE,
     +            NFBDCL,NIBDCL,NFBS,NIBS)

where:

1.2.14 FRONT: frontal method

 

Aim:
Assembles the linear system, imposes the boundary conditions, and performs the solution in main memory using the frontal method.

Utilization:

Call the module:

  
      CALL FRONT(M,NFFRON,NFTAEM,NITAEM,NFTAES,NITAES,
     +           NFGAUS,NFBDCL,NIBDCL,NFB,NIB,NTB,
     +           NFNDL1,NINDL1,NTYPFR,LF,
     +           NOT1,NOT2,NDSM,EPS,VTG)

where:

1.2.15 GAUSPC: Gauss factorization

 

Aim:
Perform the Gauss factorization, in main memory, of a non-singular matrix A, already assembled in structure MUA.

Utilization:
(eg execute module PREPAC, then module ASSMUA to create the input data structure MUA)

Call the module:

  
      CALL GAUSPC(M,EPS,NENTRE,NFNDL1,NINDL1,
     +            NFMUAE,NIMUAE,NFMUAS,NIMUAS,NRETOU)

where:

1.2.16 PREPAC: computation of pointers for MUA

 

Aim:
Determine the pointers of matrix A, and compute the sizes of data structures MUA and B.

Utilization:

Call the module:

  
      CALL PREPAC(M,NNOMAX,ND,NDSM,NCLRL,NCODSA,NTY,
     +            NFMAIL,NIMAIL,NFNDL1,NINDL1,
     +            NFBDCL,NIBDCL,NFMUA,NIMUA,NTMUA,
     +            LBDP,LBDPDL,MCNDL1,MCMUA,MCB)

where:

1.2.17 PREPAF: computation of pointers for the frontal method

   

Aim:
Determine the pointers of matrix A and RHSs B, and compute the memory space required for the solution of a linear system by the frontal method.

Utilization:

Call the module:

                                               
      CALL PREPAF(M,NFMAIL,NIMAIL,NFFRON,LFRON,NTYPFR,LF)

where:


Modulefpreviousupnextcontents[BIG][Normal][small]
Next: 1.3 The algorithms Up: 1 Direct methods Prev: 1.1 Introduction Contents