void _RateFieldTimeIntegrator_AssignFromXML( void* rateFieldTimeIntegrator, Stg_ComponentFactory* cf, void* data ){
   RateFieldTimeIntegrator*  self = (RateFieldTimeIntegrator*) rateFieldTimeIntegrator;

   /* Construct Parent */
   _TimeIntegrand_AssignFromXML( self, cf, data );

   /** see Underworld/InputFiles/CumulativeTotalStrain.xml for a usage example */
   /** this provided swarm will have each particle extended to store the cumulative integral information */
   self->swarm      = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"MaterialPointsSwarm", MaterialPointsSwarm, True, data  );
   /** this ratefield defines the rate of change used for the time integration */
   self->rateField  = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"RateField"          ,          FeVariable, True, data  );

}
示例#2
0
void _SwarmAdvector_AssignFromXML( void* swarmAdvector, Stg_ComponentFactory* cf, void* data ) {
	SwarmAdvector*	            self          = (SwarmAdvector*) swarmAdvector;
	FeVariable*                 velocityField;
	GeneralSwarm*        swarm;
	PeriodicBoundariesManager*  periodicBCsManager;

	_TimeIntegrand_AssignFromXML( self, cf, data );

	velocityField      = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"VelocityField", FeVariable, True, data  );
	swarm              = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"Swarm", GeneralSwarm, True, data  );
	periodicBCsManager = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"PeriodicBCsManager", PeriodicBoundariesManager, False, data  );

	_SwarmAdvector_Init( self, velocityField, swarm, periodicBCsManager );
}