Upgraded gadget load to support variable masses. Adjusted simple3DFilter for that too.
This commit is contained in:
parent
7df2cdbe7c
commit
8809d6c255
5 changed files with 26 additions and 10 deletions
|
@ -262,10 +262,18 @@ SimuData *CosmoTool::loadGadgetMulti(const char *fname, int id,
|
|||
}
|
||||
|
||||
if (loadflags & NEED_MASS) {
|
||||
bool do_load = false;
|
||||
|
||||
for (int k = 0; k < 6; k++)
|
||||
{
|
||||
do_load = do_load || ((h.mass[k] == 0)&&(h.npart[k]>0));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
long l = 0;
|
||||
f->beginCheckpoint();
|
||||
if (do_load)
|
||||
f->beginCheckpoint();
|
||||
data->Mass = new float[NumPart];
|
||||
for (int k = 0; k < 6; k++)
|
||||
{
|
||||
|
@ -281,7 +289,8 @@ SimuData *CosmoTool::loadGadgetMulti(const char *fname, int id,
|
|||
}
|
||||
}
|
||||
}
|
||||
f->endCheckpoint();
|
||||
if (do_load)
|
||||
f->endCheckpoint();
|
||||
}
|
||||
catch (const InvalidUnformattedAccess& e)
|
||||
{
|
||||
|
@ -290,6 +299,11 @@ SimuData *CosmoTool::loadGadgetMulti(const char *fname, int id,
|
|||
delete data;
|
||||
return 0;
|
||||
}
|
||||
catch (const EndOfFileException& e)
|
||||
{
|
||||
for (int k = 0; k < 6; k++)
|
||||
cerr << "mass[" << k << "] = " << h.mass[k] << endl;
|
||||
}
|
||||
} else {
|
||||
f->skip(2*4);
|
||||
for (int k = 0; k < 6; k++)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue