void _IntegrationPointsSwarm_Build( void* integrationPoints, void* data ) { IntegrationPointsSwarm* self = (IntegrationPointsSwarm*) integrationPoints; _Swarm_Build( self, data ); Stg_Component_Build( self->localCoordVariable, data, False ); Stg_Component_Build( self->weightVariable, data, False ); Stg_Component_Build( self->mesh, data, False ); }
void _IntegrationPointsSwarm_Build( void* integrationPoints, void* data ) { IntegrationPointsSwarm* self = (IntegrationPointsSwarm*) integrationPoints; _Swarm_Build( self, data ); Stg_Component_Build( self->localCoordVariable, data, False ); Stg_Component_Build( self->weightVariable, data, False ); Stg_Component_Build( self->mesh, data, False ); if( self->mapper != NULL ); Stg_Component_Build( self->mapper, data, False ); if ( self->timeIntegrator != NULL ) Stg_Component_Build( self->timeIntegrator, data, False ); if ( self->weights != NULL ) Stg_Component_Build( self->weights, data, False ); }
void _GeneralSwarm_Build( void* swarm, void* data ) { GeneralSwarm* self = (GeneralSwarm*) swarm; int commHandler_I; Bool movementCommHandlerFound = False; Stream* errorStream = Journal_Register( Error_Type, (Name)self->type ); int var_I; _Swarm_Build( self, data ); if( self->escapedRoutine != NULL) Stg_Component_Build( self->escapedRoutine, data , False ); /* Since this swarm is being set up to advect a PICellerator material, it should make sure * at least one ParticleMovementHandler-type ParticleCommHandler has been added to the base * Swarm. */ for( commHandler_I=0; commHandler_I < self->commHandlerList->count; commHandler_I++ ) { ParticleCommHandler *pComm = NULL; pComm = (ParticleCommHandler*)(Stg_ObjectList_At( self->commHandlerList, commHandler_I )); if( pComm->type == ParticleMovementHandler_Type ) { movementCommHandlerFound = True; break; } } Journal_Firewall( (Stg_ObjectList_Count(self->commHandlerList) >= 1) && (movementCommHandlerFound == True), errorStream, "Error: for GeneralSwarm Swarms, at least one ParticleMovementHandler" " commHandler must be registered. Please rectify this in your XML / code.\n" ); for( var_I = 0 ; var_I < self->nSwarmVars ; var_I++ ) { Stg_Component_Build( self->swarmVars[var_I], data , False ); } }