/* Creation implementation / Virtual constructor */
GALEDivergenceForce* _GALEDivergenceForce_New( DIVERGENCEFORCE_DEFARGS)
{
	GALEDivergenceForce* self;
	
	/* Allocate memory */
	assert( _sizeOfSelf >= sizeof(GALEDivergenceForce) );
	self = (GALEDivergenceForce*) _ForceTerm_New( FORCETERM_PASSARGS);
	
	return self;
}
/* Creation implementation / Virtual constructor */
ThermalBuoyancyForceTerm* _ThermalBuoyancyForceTerm_New(  THERMALBUOYANCYFORCETERM_DEFARGS  )
{
	ThermalBuoyancyForceTerm* self;
	
	/* Allocate memory */
	assert( _sizeOfSelf >= sizeof(ThermalBuoyancyForceTerm) );
	/* The following terms are parameters that have been passed into this function but are being set before being passed onto the parent */
	/* This means that any values of these parameters that are passed into this function are not passed onto the parent function
	   and so should be set to ZERO in any children of this class. */
	nameAllocationType = NON_GLOBAL;

	self = (ThermalBuoyancyForceTerm*) _ForceTerm_New(  FORCETERM_PASSARGS  );
	
	/* Virtual info */
	
	return self;
}
/* Creation implementation / Virtual constructor */
VectorAssemblyTerm_NA__Fn* _VectorAssemblyTerm_NA__Fn_New(  FORCEASSEMBLYTERM_NA__FN_DEFARGS  )
{
   VectorAssemblyTerm_NA__Fn* self;

   /* Allocate memory */
   assert( _sizeOfSelf >= sizeof(VectorAssemblyTerm_NA__Fn) );
   /* The following terms are parameters that have been passed into this function but are being set before being passed onto the parent */
   /* This means that any values of these parameters that are passed into this function are not passed onto the parent function
      and so should be set to ZERO in any children of this class. */
   nameAllocationType = NON_GLOBAL;

   self = (VectorAssemblyTerm_NA__Fn*) _ForceTerm_New(  FORCETERM_PASSARGS  );

   /* Virtual info */
   self->cppdata = (void*) new VectorAssemblyTerm_NA__Fn_cppdata;
   self->geometryMesh = NULL;

   return self;
}
/* Creation implementation / Virtual constructor */
SUPGAdvDiffTermPpc* _SUPGAdvDiffTermPpc_New( SUPGADVDIFFTERM_DEFARGS ) {
   SUPGAdvDiffTermPpc* self;
   
   /* Allocate memory */
   assert( _sizeOfSelf >= sizeof(SUPGAdvDiffTermPpc) );

   /* 
    * The following terms are parameters that have been passed into this
    * function but are being set before being passed onto the parent. 
    * This means that any values of these parameters that are passed into this.
    * function are not passed onto the parent function
    * and so should be set to ZERO in any children of this class. 
    */
   nameAllocationType = NON_GLOBAL;

   self = (SUPGAdvDiffTermPpc*) _ForceTerm_New( FORCETERM_PASSARGS );
   
   /* Virtual info */
   self->_upwindParam = _upwindParam;
   
   return self;
}
BuoyancyForceTermPpc* _BuoyancyForceTermPpc_New(  BUOYANCYFORCETERMPPC_DEFARGS  ) {
    BuoyancyForceTermPpc* self;
    assert( _sizeOfSelf >= sizeof(BuoyancyForceTermPpc) );
    self = (BuoyancyForceTermPpc*) _ForceTerm_New(  FORCETERM_PASSARGS  );
    return self;
}