First of all, thank you for your time and consideration! I am a fortran user and quite new with c++, and I need your help to understand some bit of coding that was passed on to me. I am pasting a small part of the code that bothers me most.
tmp<volScalarField> talpha = thermo.alpha();
const volScalarField& alpha = talpha();
tmp<volScalarField> tkappa = thermo.kappa();
const volScalarField& kappa = tkappa();
volScalarField& h = thermo.he();
const volScalarField& betav = betavSolid[i];
fv::IOoptionList& fvOptions = solidHeatSources[i];
My main concern is with the '&' placed at the end of declarations, what does it mean ? Also, why create a tmp field talpha for instance and declare next alpha=talpha ? Why not allocating thermo.alpha() to alpha directly ?