SPModel: libSPModel/src/SurfaceMeshCyclicBC.c Source File
VPAC - Computational Software Development
Main | SPModel | StGermain FrameWork |
Main Page | Alphabetical List | Class List | Directories | File List | Class Members | File Members

SurfaceMeshCyclicBC.c

Go to the documentation of this file.
00001 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00002 **
00003 ** Copyright (C), 2004, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
00004 **
00005 ** Authors:
00006 **  Ogar R. Widjaja, Computational Scientist, VPAC.
00007 **  Raquibul Hassan, Software Engineer, VPAC. (raq@vpac.org)
00008 **  Keith Hsuan, Computational Scientist, VPAC (keith@vpac.org)
00009 **  William F. Appelbe, Director, VPAC. (bill@vpac.org)
00010 **  Stevan M. Quenette, Senior Software Engineer, VPAC. (steve@vpac.org)
00011 **  Patrick D. Sunter, Software Engineer, VPAC. (patrick@vpac.org)
00012 **
00013 ** This file may be distributed under the terms of the VPAC Public License
00014 ** as defined by VPAC of Australia and appearing in the file
00015 ** LICENSE.VPL included in the packaging of this file.
00016 **
00017 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00018 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00019 **
00020 */
00030 #include <mpi.h>
00031 #include <StGermain/StGermain.h>
00032 #include <Cascade/cascade.h>
00033 
00034 #include <stdio.h>
00035 #include <stdlib.h>
00036 #include <string.h>
00037 #include <assert.h>
00038 #include <math.h>
00039 #include <limits.h>
00040 #include "types.h"
00041 #include "SurfaceMesh.h"
00042 #include "SurfaceMeshCyclicBC.h"
00043 
00044 /* Textual name of this class */
00045 const Type SurfaceMeshCyclicBC_Type = "_SurfaceMeshCyclicBC";
00046     
00047 _SurfaceMeshCyclicBC                    *_SurfaceMeshCyclicBC_New( SizeT                            _sizeOfSelf,
00048                                     Type                            type,
00049                                     Stg_Class_DeleteFunction*               _delete,
00050                                     Stg_Class_PrintFunction*                _print,
00051                                     Stg_Class_CopyFunction*             _copy, 
00052                                     Stg_Component_DefaultConstructorFunction*   _defaultConstructor,
00053                                     Stg_Component_ConstructFunction*            _construct,
00054                                     Stg_Component_BuildFunction*        _build,
00055                                     Stg_Component_InitialiseFunction*       _initialise,
00056                                     Stg_Component_ExecuteFunction*      _execute,
00057                                     Stg_Component_DestroyFunction*      _destroy,
00058                                     Name                            name,
00059                                     Bool                            initFlag,
00060                                     Dictionary                      *dictionary,
00061                                     SurfaceMesh                     *_mesh,
00062                                     SurfaceMeshCyclicBC_CreateCyclicBC *_createCyclicBC )
00063 {
00064     _SurfaceMeshCyclicBC* self;
00065     
00066     /* Allocate memory */
00067     assert( _sizeOfSelf >= sizeof(_SurfaceMeshCyclicBC) );
00068     self = (_SurfaceMeshCyclicBC*)_Stg_Component_New( _sizeOfSelf, type, _delete, _print, _copy, _defaultConstructor, _construct, _build, 
00069             _initialise, _execute, _destroy, name, NON_GLOBAL );
00070 
00071     assert( dictionary );
00072     assert( _mesh );
00073     assert( _createCyclicBC );
00074     
00075     self->dictionary = dictionary;
00076 
00077     self->mesh = _mesh;
00078     self->createCyclicBC = _createCyclicBC;
00079     
00080     if( initFlag ){
00081         _SurfaceMeshCyclicBC_Init( self );
00082     }
00083 
00084     return self;
00085 }
00086 
00087 void _SurfaceMeshCyclicBC_Init( _SurfaceMeshCyclicBC *self )
00088 {
00089     
00090 }
00091 
00092 void _SurfaceMeshCyclicBC_Print( void *SurfaceMeshCyclicBC, Stream *stream )
00093 {
00094     _SurfaceMeshCyclicBC *self = (_SurfaceMeshCyclicBC*) SurfaceMeshCyclicBC;
00095 
00096     assert( self );
00097     assert( stream );
00098 
00099     /* print parent */
00100     _Stg_Component_Print( (void*) self, stream );
00101 
00102     /* general info */
00103     Journal_Printf( stream, "_SurfaceMeshCyclicBC (ptr): (%p)\n", self );
00104 
00105     /* Virtual Info */
00106 
00107     /* SurfaceMeshCyclicBC Info */
00108 }
00109 
00110 void _SurfaceMeshCyclicBC_Delete( void *surfaceMeshCyclicBC )
00111 {
00112     assert( surfaceMeshCyclicBC );
00113     
00115     _Stg_Component_Delete( surfaceMeshCyclicBC );
00116 }
00117 
00118 void _SurfaceMeshCyclicBC_Construct( void *surfaceMeshCyclicBC, Stg_ComponentFactory *cf )
00119 {
00120     
00121 }
00122 
00123 void _SurfaceMeshCyclicBC_Build( void *surfaceMeshCyclicBC, void *data )
00124 {
00125     
00126 }
00127 
00128 void _SurfaceMeshCyclicBC_Initialise( void *SurfaceMeshCyclicBC, void *data )
00129 {
00130     
00131 }
00132 
00133 void _SurfaceMeshCyclicBC_Execute( void *surfaceMeshCyclicBC, void *data )
00134 {
00135     _SurfaceMeshCyclicBC *self = NULL;
00136     
00137     assert( surfaceMeshCyclicBC );
00138 
00139     self = ( _SurfaceMeshCyclicBC* ) surfaceMeshCyclicBC;
00140 
00141     if( self->createCyclicBC ){
00142         self->createCyclicBC( self, NULL );
00143     }
00144 }
00145 
00146 void _SurfaceMeshCyclicBC_Destroy( void *surfaceMeshCyclicBC, void *data )
00147 {
00148     
00149 }
00150