TimeIntegrand* TimeIntegrand_New( Name name, DomainContext* context, TimeIntegrator* timeIntegrator, Variable* variable, Index dataCount, Stg_Component** data, Bool allowFallbackToFirstOrder ) { TimeIntegrand* self; self = (TimeIntegrand*) _TimeIntegrand_DefaultNew( name ); _TimeIntegrand_Init( self, context, timeIntegrator, variable, dataCount, data, allowFallbackToFirstOrder ); return self; }
/*------------------------------------------------------------------------------------------------------------------------- ** Constructors */ SwarmAdvector* SwarmAdvector_New( Name name, DomainContext* context, TimeIntegrator* timeIntegrator, FeVariable* velocityField, Bool allowFallbackToFirstOrder, GeneralSwarm* swarm, PeriodicBoundariesManager* periodicBCsManager ) { SwarmAdvector* self = (SwarmAdvector*) _SwarmAdvector_DefaultNew( name ); /* SwarmAdvector_InitAll */ _TimeIntegrand_Init( self, context, timeIntegrator, swarm->particleCoordVariable->variable, 0, NULL, allowFallbackToFirstOrder ); _SwarmAdvector_Init( self, velocityField, swarm, periodicBCsManager ); return self; }
void _TimeIntegrand_AssignFromXML( void* timeIntegrand, Stg_ComponentFactory* cf, void* data ) { TimeIntegrand* self = (TimeIntegrand*)timeIntegrand; Index dataCount = 0; Stg_Component** initData = NULL; Variable* variable = NULL; TimeIntegrator* timeIntegrator = NULL; Bool allowFallbackToFirstOrder = False; DomainContext* context; context = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)"Context", DomainContext, False, data ); if( !self->context ) context = Stg_ComponentFactory_ConstructByName( cf, (Name)"context", DomainContext, False, data ); variable = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)Variable_Type, Variable, False, data ) ; timeIntegrator = Stg_ComponentFactory_ConstructByKey( cf, self->name, (Dictionary_Entry_Key)TimeIntegrator_Type, TimeIntegrator, True, data ) ; initData = Stg_ComponentFactory_ConstructByList( cf, self->name, (Dictionary_Entry_Key)"data", Stg_ComponentFactory_Unlimited, Stg_Component, False, &dataCount, data ); allowFallbackToFirstOrder = Stg_ComponentFactory_GetBool( cf, self->name, (Dictionary_Entry_Key)"allowFallbackToFirstOrder", False ); _TimeIntegrand_Init( self, context, timeIntegrator, variable, dataCount, initData, allowFallbackToFirstOrder ); if( initData != NULL ) Memory_Free( initData ); }