drv.c

Go to the documentation of this file.
00001 /*
00002 %M This modules contains the driver methods to solve a probleam using the 
00003    dynamic relax algorithm.
00004 %a Joao Luiz Elias Campos.
00005 %d September 5th, 1998.
00006 %r $Id: drv.c,v 1.1 2004/06/22 05:29:58 joaoluiz Exp $
00007 %w (C) COPYRIGHT 1995-1996, Eduardo Nobre Lages.
00008    (C) COPYRIGHT 1997-1999, Joao Luiz Elias Campos.
00009    All Rights Reserved
00010    Duplication of this program or any part thereof without the express
00011    written consent of the author is prohibited.
00012 */
00013 /* Modificado por André Luis Muller: 06/2007
00014    Adição das funções:
00015    ImpLinearInit 
00016    ImpNRMInit    
00017    ImpBFGSInit   
00018    HibridInit
00019 */
00020 
00021 /*
00022 ** ------------------------------------------------------------------------
00023 ** Global variables and symbols:
00024 */
00025 #include <stdio.h>
00026 #include <stdlib.h>
00027 #include <string.h>
00028 
00029 #include "drv.h"
00030 #include "fem.h"
00031 #include "load.h"
00032 #include "elm.h"
00033 #include "node.h"
00034 #include "alg.h"
00035 #include "rio.h"
00036 #include "nfi.h"
00037 #include "load.h"
00038 #include "xgplib.h"
00039 
00040 /* 
00041 %V Driver class
00042 */
00043 sDrvClass DrvClass[NumDrvTypes];
00044 
00045 
00046 /*
00047 %V Driver object
00048 */
00049 sDriver *DrvObj = 0L;
00050 
00051 
00052 /*
00053 ** ------------------------------------------------------------------------
00054 ** Local variables and symbols:
00055 */
00056 
00057 /*
00058 ** ------------------------------------------------------------------------
00059 ** Local functions:
00060 */
00061 void StandardInit      ( void );
00062 void StandardVEInit    ( void );
00063 void StandardVEFlacInit( void );
00064 void RezoneInit        ( void );
00065 void LoadStepInit      ( void );
00066 void ImpLinearInit     ( void );
00067 void ImpNRMInit        ( void );
00068 void ImpBFGSInit       ( void );
00069 void HybridInit        ( void );
00070 void LoadCaseInit      ( void );
00071 
00072 
00073 /*
00074 ** ------------------------------------------------------------------------
00075 ** Public functions:
00076 */
00077 
00078 /*
00079 %F This function initializes the globally shared "DrvClass" variable. This
00080    variable holds the pointers to the necessary functions which implement
00081    the driver class methods.
00082 */
00083 void DriverInit( void )
00084 {
00085  int i;
00086 
00087 /* Define the subclasses initialization methods
00088  */
00089  DrvClass[STANDARD].init         = StandardInit;
00090  DrvClass[STANDARD_VE].init      = StandardVEInit;
00091  DrvClass[STANDARD_VE_FLAC].init = StandardVEFlacInit;
00092  DrvClass[REZONE].init           = RezoneInit;
00093  DrvClass[LOAD_STEP].init        = LoadStepInit;
00094  DrvClass[IMPLINEAR].init        = ImpLinearInit;
00095  DrvClass[IMPNRM].init           = ImpNRMInit;
00096  DrvClass[IMPBFGS].init          = ImpBFGSInit;
00097  DrvClass[HYBRID].init           = HybridInit;
00098  DrvClass[LOAD_CASE].init        = LoadCaseInit;
00099  
00100  for( i = 0; i < NumDrvTypes; i++ )
00101   DrvInit( i );
00102 
00103 } /* End of DriverInit */
00104 
00105 
00106 /*
00107 %F This function release memory used by driver super-class.
00108 */
00109 void DriverFree( void )
00110 {
00111 
00112 } /* End of DriverFree */
00113 
00114 
00115 /* =======================================================  End of File  */
00116 

Generated on Tue Oct 23 11:23:29 2007 for Relax by  doxygen 1.5.3