tmp < DimensionedField <typename DimensionedField<Type, GeoMesh>::cmptType, GeoMesh> > cmptAv(const DimensionedField<Type, GeoMesh>& df) { typedef typename DimensionedField<Type, GeoMesh>::cmptType cmptType; tmp<DimensionedField<cmptType, GeoMesh> > CmptAv ( new DimensionedField<scalar, GeoMesh> ( IOobject ( "cmptAv(" + df.name() + ')', df.instance(), df.db() ), df.mesh(), df.dimensions() ) ); cmptAv(CmptAv().field(), df.field()); return CmptAv; }
tmp<DimensionedField<typename powProduct<Type, r>::type, GeoMesh> > pow ( const DimensionedField<Type, GeoMesh>& df, typename powProduct<Type, r>::type ) { typedef typename powProduct<Type, r>::type powProductType; tmp<DimensionedField<powProductType, GeoMesh> > tPow ( new DimensionedField<powProductType, GeoMesh> ( IOobject ( "pow(" + df.name() + ',' + name(r) + ')', df.instance(), df.db() ), df.mesh(), pow(df.dimensions(), r) ) ); pow<Type, r, GeoMesh>(tPow().field(), df.field()); return tPow; }
tmp<DimensionedField<scalar, GeoMesh> > atan2 ( const dimensionedScalar& ds, const DimensionedField<scalar, GeoMesh>& dsf ) { tmp<DimensionedField<scalar, GeoMesh> > tAtan2 ( new DimensionedField<scalar, GeoMesh> ( IOobject ( "atan2(" + ds.name() + ',' + dsf.name() + ')', dsf.instance(), dsf.db() ), dsf.mesh(), atan2(ds, dsf.dimensions()) ) ); atan2(tAtan2().getField(), ds.value(), dsf.getField()); return tAtan2; }
tmp<DimensionedField<scalar, GeoMesh> > stabilise ( const DimensionedField<scalar, GeoMesh>& dsf, const dimensioned<scalar>& ds ) { tmp<DimensionedField<scalar, GeoMesh> > tRes ( new DimensionedField<scalar, GeoMesh> ( IOobject ( "stabilise(" + dsf.name() + ',' + ds.name() + ')', dsf.instance(), dsf.db() ), dsf.mesh(), dsf.dimensions() + ds.dimensions() ) ); stabilise(tRes().getField(), dsf.getField(), ds.value()); return tRes; }
tmp<DimensionedField<scalar, GeoMesh> > atan2 ( const DimensionedField<scalar, GeoMesh>& dsf1, const DimensionedField<scalar, GeoMesh>& dsf2 ) { tmp<DimensionedField<scalar, GeoMesh> > tAtan2 ( new DimensionedField<scalar, GeoMesh> ( IOobject ( "atan2(" + dsf1.name() + ',' + dsf2.name() + ')', dsf1.instance(), dsf1.db() ), dsf1.mesh(), atan2(dsf1.dimensions(), dsf2.dimensions()) ) ); atan2(tAtan2().getField(), dsf1.getField(), dsf2.getField()); return tAtan2; }
tmp<DimensionedField<scalar, GeoMesh> > pow ( const dimensionedScalar& ds, const DimensionedField<scalar, GeoMesh>& dsf ) { tmp<DimensionedField<scalar, GeoMesh> > tPow ( new DimensionedField<scalar, GeoMesh> ( IOobject ( "pow(" + ds.name() + ',' + dsf.name() + ')', dsf.instance(), dsf.db() ), dsf.mesh(), pow(ds, dsf.dimensions()) ) ); pow(tPow().getField(), ds.value(), dsf.getField()); return tPow; }
tmp<DimensionedField<scalar, GeoMesh> > pow ( const DimensionedField<scalar, GeoMesh>& dsf1, const DimensionedField<scalar, GeoMesh>& dsf2 ) { tmp<DimensionedField<scalar, GeoMesh> > tPow ( new DimensionedField<scalar, GeoMesh> ( IOobject ( "pow(" + dsf1.name() + ',' + dsf2.name() + ')', dsf1.instance(), dsf1.db() ), dsf1.mesh(), pow ( dsf1.dimensions(), dimensionedScalar("1", 1.0, dsf2.dimensions()) ) ) ); pow(tPow().getField(), dsf1.getField(), dsf2.getField()); return tPow; }
tmp<DimensionedField<typename outerProduct<Type, Type>::type, GeoMesh> > sqr(const DimensionedField<Type, GeoMesh>& df) { typedef typename outerProduct<Type, Type>::type outerProductType; tmp<DimensionedField<outerProductType, GeoMesh> > tSqr ( new DimensionedField<outerProductType, GeoMesh> ( IOobject ( "sqr(" + df.name() + ')', df.instance(), df.db() ), df.mesh(), sqr(df.dimensions()) ) ); sqr(tSqr().field(), df.field()); return tSqr; }
tmp<DimensionedField<scalar, GeoMesh> > mag ( const DimensionedField<Type, GeoMesh>& df ) { tmp<DimensionedField<scalar, GeoMesh> > tMag ( new DimensionedField<scalar, GeoMesh> ( IOobject ( "mag(" + df.name() + ')', df.instance(), df.db() ), df.mesh(), df.dimensions() ) ); mag(tMag().field(), df.field()); return tMag; }
tmp<gpuField<Type> > volumeIntegrate(const DimensionedField<Type, volMesh>& df) { return df.mesh().V()*df.field(); }