[cig-commits] commit: Do no require a ForceTerm to have a swarm
Mercurial
hg at geodynamics.org
Wed Nov 23 13:38:08 PST 2011
changeset: 818:fded6d907a83
tag: tip
user: Walter Landry <wlandry at caltech.edu>
date: Wed Nov 23 13:37:56 2011 -0800
files: SLE/SystemSetup/src/ForceTerm.cxx
description:
Do no require a ForceTerm to have a swarm
diff -r ee8331550da9 -r fded6d907a83 SLE/SystemSetup/src/ForceTerm.cxx
--- a/SLE/SystemSetup/src/ForceTerm.cxx Mon Nov 21 12:11:43 2011 -0800
+++ b/SLE/SystemSetup/src/ForceTerm.cxx Wed Nov 23 13:37:56 2011 -0800
@@ -146,7 +146,8 @@ void _ForceTerm_Print( void* forceTerm,
_Stg_Component_Print( self, stream );
/* ForceTerm info */
- Journal_Printf( stream, "\tintegrationSwarm (ptr): %p\n", self->integrationSwarm );
+ if(self->integrationSwarm!=NULL)
+ Journal_Printf( stream, "\tintegrationSwarm (ptr): %p\n", self->integrationSwarm );
Journal_Printf( stream, "\textraInfo (ptr): %p\n", self->extraInfo );
}
@@ -165,7 +166,7 @@ void* _ForceTerm_Copy( const void* force
newForceTerm = (ForceTerm*)_Stg_Component_Copy( self, dest, deep, nameExt, map );
newForceTerm->extraInfo = self->extraInfo;
- if( deep ) {
+ if(deep && self->integrationSwarm!=NULL) {
newForceTerm->integrationSwarm = (Swarm*)Stg_Class_Copy( self->integrationSwarm, NULL, deep, nameExt, map );
}
else {
@@ -192,7 +193,7 @@ void _ForceTerm_AssignFromXML( void* for
context = Stg_ComponentFactory_ConstructByName( cf, (Name)"context", FiniteElementContext, True, data );
forceVector = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"ForceVector", ForceVector, True, data ) ;
- swarm = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"Swarm", Swarm, True, data ) ;
+ swarm = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"Swarm", Swarm, False, data ) ;
extraInfo = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"ExtraInfo", Stg_Component, False, data ) ;
_ForceTerm_Init( self, context, forceVector, swarm, extraInfo );
@@ -205,7 +206,8 @@ void _ForceTerm_Build( void* forceTerm,
Stream_IndentBranch( StgFEM_Debug );
/* ensure integrationSwarm is built */
- Stg_Component_Build( self->integrationSwarm, data, False );
+ if(self->integrationSwarm!=NULL)
+ Stg_Component_Build( self->integrationSwarm, data, False );
Stg_Component_Build( self->forceVector, data, False );
if ( self->extraInfo )
@@ -221,7 +223,8 @@ void _ForceTerm_Initialise( void* forceT
Journal_DPrintf( self->debug, "In %s - for %s\n", __func__, self->name );
Stream_IndentBranch( StgFEM_Debug );
- Stg_Component_Initialise( self->integrationSwarm, data, False );
+ if(self->integrationSwarm!=NULL)
+ Stg_Component_Initialise( self->integrationSwarm, data, False );
Stg_Component_Initialise( self->forceVector, data, False );
if ( self->extraInfo )
Stg_Component_Initialise( self->extraInfo, data, False );
@@ -233,13 +236,14 @@ void _ForceTerm_Execute( void* forceTerm
}
void _ForceTerm_Destroy( void* forceTerm, void* data ) {
- ForceTerm* self = (ForceTerm*)forceTerm;
+ ForceTerm* self = (ForceTerm*)forceTerm;
- if ( self->extraInfo )
- Stg_Component_Destroy( self->extraInfo, data, False );
+ if ( self->extraInfo )
+ Stg_Component_Destroy( self->extraInfo, data, False );
- Stg_Component_Destroy( self->integrationSwarm, data, False );
- Stg_Component_Destroy( self->forceVector, data, False );
+ if(self->integrationSwarm!=NULL)
+ Stg_Component_Destroy( self->integrationSwarm, data, False );
+ Stg_Component_Destroy( self->forceVector, data, False );
}
void ForceTerm_AssembleElement(
More information about the CIG-COMMITS
mailing list