void _FeEntryPoint_Run_AssembleForceVector( 
		void* feEntryPoint, 
		void* forceVector ) 
{
  FeEntryPoint* self = (FeEntryPoint*)feEntryPoint;
  Hook_Index hookIndex;
  double wallTime;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _FeEntryPoint_Run_AssembleForceVector, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
    wallTime = MPI_Wtime();

    ((FeEntryPoint_AssembleForceVector_Function*)((Hook*)self->hooks->data[hookIndex])->funcPtr) (
      forceVector );

	 #ifdef ENABLE_STGERMAIN_LOG
	 _EntryPoint_ProfileFunction( self->name, self->hooks->data[hookIndex]->name, MPI_Wtime() - wallTime );
	 #endif
	}

	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif
}
Exemple #2
0
void _Snac_EntryPoint_Run_Force(
		void*					entryPoint, 
		void*					context, 
		Node_LocalIndex				node_lI, 
		double					speedOfSnd, 
		Mass*					mass, 
		Mass*					inertialMass, 
		Force*					force, 
		Force*					balance )
{
	Snac_EntryPoint*			self = (Snac_EntryPoint*)entryPoint;
	Hook_Index				hookIndex;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _Snac_EntryPoint_Run_Force, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
		(*(Snac_Force_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)
			( context, node_lI, speedOfSnd, mass, inertialMass, force, balance );
	}

	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif
}
void _FeEntryPoint_Run_AssembleStiffnessMatrix( 
		void* feEntryPoint, 
		void* stiffnessMatrix, 
		Bool bcRemoveQuery,
		void* _sle,
		void* _context )
{
	FeEntryPoint* self = (FeEntryPoint*)feEntryPoint;
	Hook_Index hookIndex;
  double wallTime;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _FeEntryPoint_Run_AssembleStiffnessMatrix, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
    wallTime = MPI_Wtime();

		((FeEntryPoint_AssembleStiffnessMatrix_Function*)((Hook*)self->hooks->data[hookIndex])->funcPtr) (
			stiffnessMatrix,
			bcRemoveQuery,
			_sle,
			_context );

	 #ifdef ENABLE_STGERMAIN_LOG
	 _EntryPoint_ProfileFunction( self->name, self->hooks->data[hookIndex]->name, MPI_Wtime() - wallTime );
	 #endif
	}

	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif
}
void _ContextEntryPoint_Run_Step( void* contextEntryPoint, void* data0, double data1 ) {
	ContextEntryPoint* self = (ContextEntryPoint*)contextEntryPoint;
	Hook_Index hookIndex;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _ContextEntryPoint_Run_Step, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
		((ContextEntryPoint_Step_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)( data0, data1 );
	}

	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif
}
double _ContextEntryPoint_Run_Dt( void* contextEntryPoint, void* data0 ) {
	ContextEntryPoint* self = (ContextEntryPoint*)contextEntryPoint;
	Hook_Index hookIndex;
	double result = 0.0;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _ContextEntryPoint_Run_Dt, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
		result = ((ContextEntryPoint_Dt_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)( data0 );
	}
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif

	return result;
}
Exemple #6
0
void _Snac_EntryPoint_Run_Constitutive(
		void*					entryPoint, 
		void*					context, 
		Element_LocalIndex			element_lI )
{
	Snac_EntryPoint*			self = (Snac_EntryPoint*)entryPoint;
	Hook_Index				hookIndex;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _Snac_EntryPoint_Run_Constitutive, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
		(*(Snac_Constitutive_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)
			( context, element_lI );
	}
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif
}
Exemple #7
0
void _Snac_EntryPoint_Run_UpdateElementMomentum( 
		void*					entryPoint, 
		void*					context, 
		Element_LocalIndex			element_lI, 
		double*					elementMinLengthScale )
{
	Snac_EntryPoint*			self = (Snac_EntryPoint*)entryPoint;
	Hook_Index				hookIndex;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _Snac_EntryPoint_Run_UpdateElementMomentum, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
		(*(Snac_UpdateElementMomentum_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)
			( context, element_lI, elementMinLengthScale );
	}

	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif
}
Exemple #8
0
void _Snac_EntryPoint_Run_UpdateNodeMomentum(
		void*					entryPoint, 
		void*					context,
		Node_LocalIndex				node_lI,
		Mass					inertialMass, 
		Force					force )
{
	Snac_EntryPoint*			self = (Snac_EntryPoint*)entryPoint;
	Hook_Index				hookIndex;
	
	#ifdef USE_PROFILE
		Stg_CallGraph_Push( stgCallGraph, _Snac_EntryPoint_Run_UpdateNodeMomentum, self->name );
	#endif

	for( hookIndex = 0; hookIndex < self->hooks->count; hookIndex++ ) {
		(*(Snac_UpdateNodeMomentum_Cast*)((Hook*)self->hooks->data[hookIndex])->funcPtr)
			( context, node_lI, inertialMass, force );
	}

	#ifdef USE_PROFILE
		Stg_CallGraph_Pop( stgCallGraph );
	#endif
}