void Foam::particle::readFields(CloudType& c)
{
    if (!c.size())
    {
        return;
    }

    IOobject procIO(c.fieldIOobject("origProcId", IOobject::MUST_READ));

    if (procIO.headerOk())
    {
        IOField<label> origProcId(procIO);
        c.checkFieldIOobject(c, origProcId);
        IOField<label> origId(c.fieldIOobject("origId", IOobject::MUST_READ));
        c.checkFieldIOobject(c, origId);

        label i = 0;
        forAllIter(typename CloudType, c, iter)
        {
            particle& p = iter();

            p.origProc_ = origProcId[i];
            p.origId_ = origId[i];
            i++;
        }
    }
示例#2
0
void Foam::WetParcel<ParcelType>::readFields(CloudType& c)
{
    if (!c.size())
    {
        return;
    }

    ParcelType::readFields(c);

    IOField<scalar> Vliq(c.fieldIOobject("Vliq", IOobject::MUST_READ));
    c.checkFieldIOobject(c, Vliq);

    IOField<scalarField>  partVliq(c.fieldIOobject("partVliq", IOobject::MUST_READ));
    c.checkFieldIOobject(c, partVliq);

    IOField<vectorField>  liquidPositions(c.fieldIOobject("liquidPositions", IOobject::MUST_READ));
    c.checkFieldIOobject(c, liquidPositions);

    IOField<vectorField>  liquidPositionVectors(c.fieldIOobject("liquidPositionVectors", IOobject::MUST_READ));
    c.checkFieldIOobject(c, liquidPositionVectors);

    IOField<labelField>  contactList(c.fieldIOobject("contactList", IOobject::MUST_READ));
    c.checkFieldIOobject(c, contactList);

    IOField<labelField>  previousContactList(c.fieldIOobject("previousContactList", IOobject::MUST_READ));
    c.checkFieldIOobject(c, previousContactList);


    label i = 0;

    forAllIter(typename CloudType, c, iter)
    {
        WetParcel<ParcelType>& p = iter();

        p.Vliq_ = Vliq[i];
        p.partVliq_ = partVliq[i];
        p.liquidPositions_ = liquidPositions[i];
        p.liquidPositionVectors_ = liquidPositionVectors[i];
        p.contactList_ = contactList[i];
        p.previousContactList_ = previousContactList[i];

        i++;
    }

}
示例#3
0
void Foam::WetParcel<ParcelType>::readFields(CloudType& c)
{
    if (!c.size())
    {
        return;
    }

    ParcelType::readFields(c);

    IOField<scalar> Vliq(c.fieldIOobject("Vliq", IOobject::MUST_READ));
    c.checkFieldIOobject(c, Vliq);

    label i = 0;

    forAllIter(typename CloudType, c, iter)
    {
        WetParcel<ParcelType>& p = iter();

        p.Vliq_ = Vliq[i];

        i++;
    }

}