boost::optional<ModelObject> SetpointManagerSingleZoneReheat_Impl::controlZoneAsModelObject() {
   OptionalModelObject result;
   OptionalThermalZone intermediate = controlZone();
   if (intermediate) {
     result = *intermediate;
   }
   return result;
 }
 // 		Info<< "DEBUG BeforeCollisions" << nl
 // 			<< "    Check acceleration              = "
 // 			<< acceleration_ << nl
 // 			<< "    Delta time                      = "
 // 			<< mesh_.time().deltaTValue() << nl
 // 			<< endl;
     forAll(controlZone(), c)
     {
         const List<DynamicList<dsmcParcel*> >& cellOccupancy = cloud_.cellOccupancy();
         const label& cellI = controlZone()[c];
         const List<dsmcParcel*>& molsInCell = cellOccupancy[cellI];
         forAll(molsInCell, mIC)
         {
             dsmcParcel* p = molsInCell[mIC];
             p->U() -= 0.5*acceleration_*mesh_.time().deltaTValue();
         }
void polyTemperatureMaxwellDemon::controlAfterVelocityII()
{
    if(control_)
    {
        Info << "polyTemperatureMaxwellDemon: control" << endl;

        forAll(controlZone(), c)
        {
            const label& cellI = controlZone()[c];
    
            const List<polyMolecule*>& molsInCell = molCloud_.cellOccupancy()[cellI];

            forAll(molsInCell, m)
            {
                polyMolecule* molI = molsInCell[m];

                if(findIndex(molIds_, molI->id()) != -1)
                {
                    if(molCloud_.rndGen().sample01<scalar>() <= p_)
                    {
                        const scalar& massI = molCloud_.cP().mass(molI->id());

                        scalar sigma = sqrt (temperatures_[c]*molCloud_.redUnits().kB() / massI);
    
                        vector molVel
                        (
                            sigma*molCloud_.rndGen().GaussNormalMD<scalar>(),
                            sigma*molCloud_.rndGen().GaussNormalMD<scalar>(),
                            sigma*molCloud_.rndGen().GaussNormalMD<scalar>()
                        );
    
                        molI->v() = velocities_[c] + molVel;
                    }
                }
            }
        }
    }