TriGaussParticleLayout* _TriGaussParticleLayout_New(  TRIGAUSSPARTICLELAYOUT_DEFARGS  )
{
	TriGaussParticleLayout* self;
	
   /* hard-wire here */
   coordSystem = LocalCoordSystem;
   weightsInitialisedAtStartup = True;
	/* Allocate memory */
	self = (TriGaussParticleLayout*)_PerCellParticleLayout_New(  PERCELLPARTICLELAYOUT_PASSARGS  );
	
	return self;
}
Пример #2
0
MeshParticleLayout* _MeshParticleLayout_New( 
		SizeT                                                       _sizeOfSelf,
		Type                                                        type,
		Stg_Class_DeleteFunction*                                   _delete,
		Stg_Class_PrintFunction*                                    _print,
		Stg_Class_CopyFunction*                                     _copy,
		Stg_Component_DefaultConstructorFunction*                   _defaultConstructor,
		Stg_Component_ConstructFunction*                            _construct,
		Stg_Component_BuildFunction*                                _build,
		Stg_Component_InitialiseFunction*                           _initialise,
		Stg_Component_ExecuteFunction*                              _execute,
		Stg_Component_DestroyFunction*                              _destroy,
		ParticleLayout_SetInitialCountsFunction*                    _setInitialCounts,
		ParticleLayout_InitialiseParticlesFunction*                 _initialiseParticles,
		PerCellParticleLayout_InitialCountFunction*                 _initialCount,
		PerCellParticleLayout_InitialiseParticlesOfCellFunction*    _initialiseParticlesOfCell,
		Name                                                        name,
		Bool                                                         initFlag,
		Particle_InCellIndex                                        cellParticleCount,
		unsigned int                                                seed )
{
	MeshParticleLayout* self;
	
	/* Allocate memory */
	self = (MeshParticleLayout*)_PerCellParticleLayout_New( 
		_sizeOfSelf, 
		type,
		_delete,
		_print,
		_copy,
		_defaultConstructor,
		_construct,
		_build,
		_initialise,
		_execute,
		_destroy,
		_setInitialCounts,
		_initialiseParticles,
		_initialCount,
		_initialiseParticlesOfCell,
		name,
		initFlag,
		GlobalCoordSystem,
		False );

	if ( initFlag ) {
		_MeshParticleLayout_Init( self, cellParticleCount, seed );
	}
	
	return self;
}
MeshParticleLayout* _MeshParticleLayout_New(  MESHPARTICLELAYOUT_DEFARGS  )
{
	MeshParticleLayout* self;

   coordSystem = GlobalCoordSystem;   
   weightsInitialisedAtStartup = False;
	/* Allocate memory */
	self = (MeshParticleLayout*)_PerCellParticleLayout_New(  PERCELLPARTICLELAYOUT_PASSARGS  );

   self->mesh = mesh;
   self->cellParticleCount = cellParticleCount;
   self->seed = seed;

   self->sobolGenerator[I_AXIS] = SobolGenerator_NewFromTable( "xSobolGenerator" );
   self->sobolGenerator[J_AXIS] = SobolGenerator_NewFromTable( "ySobolGenerator" );
   self->sobolGenerator[K_AXIS] = SobolGenerator_NewFromTable( "zSobolGenerator" );

	return self;
}