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++;
        }
    }
void Foam::TemplateCollidingParcel<ParcelType>::readFields(CloudType& c)
{
    if (!c.size())
    {
        return;
    }

    ParcelType::readFields(c);
}
示例#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);

    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++;
    }

}
示例#4
0
void Foam::WetParcel<ParcelType>::writeFields(const CloudType& c)
{
    ParcelType::writeFields(c);

    label np =  c.size();

    IOField<scalar> Vliq(c.fieldIOobject("Vliq", IOobject::NO_READ), np);
    IOField<scalarField>  partVliq(c.fieldIOobject("partVliq", IOobject::NO_READ), np);
    IOField<vectorField>  liquidPositions(c.fieldIOobject("liquidPositions", IOobject::NO_READ), np);
    IOField<vectorField>  liquidPositionVectors(c.fieldIOobject("liquidPositionVectors", IOobject::NO_READ), np);
    IOField<labelField>  contactList(c.fieldIOobject("contactList", IOobject::NO_READ), np);
    IOField<labelField>  previousContactList(c.fieldIOobject("previousContactList", IOobject::NO_READ), np);

    label i = 0;

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

        Vliq[i] = p.Vliq();
        partVliq[i] = p.partVliq();
        liquidPositions[i] = p.liquidPositions();
        liquidPositionVectors[i] = p.liquidPositionVectors();
        contactList[i] = p.contactList();
        previousContactList[i] = p.previousContactList();



        i++;
    }

    Vliq.write();
    partVliq.write();
    liquidPositions.write();
    liquidPositionVectors.write();
    contactList.write();
    previousContactList.write();

}
示例#5
0
void Foam::WetParcel<ParcelType>::writeFields(const CloudType& c)
{
    ParcelType::writeFields(c);

    label np =  c.size();

    IOField<scalar> Vliq(c.fieldIOobject("Vliq", IOobject::NO_READ), np);

    label i = 0;

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

        Vliq[i] = p.Vliq();

        i++;
    }

    Vliq.write();

}
示例#6
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++;
    }

}