Skip to content

Commit 9c75cb0

Browse files
committed
fix the tensor data setting for one case
1 parent 49bc413 commit 9c75cb0

File tree

1 file changed

+44
-9
lines changed

1 file changed

+44
-9
lines changed

src/Core/Algorithms/Legacy/Fields/FieldData/SetFieldData.cc

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -297,90 +297,125 @@ bool SetFieldDataAlgo::setvectordata(VField* ofield, DenseMatrixHandle data, siz
297297

298298
bool SetFieldDataAlgo::settensordata(VField* ofield, DenseMatrixHandle data, size_type numvals, size_type nrows, size_type ncols, size_type numnvals, size_type numevals) const
299299
{
300+
301+
std::cout<<"settensordata"<<std::endl;
300302
/// Fill field with Tensor values
301303
/// Handle 6 by n data
302304
if ((ncols == 6) && (nrows == numvals))
303305
{
306+
std::cout<<"rows, 6 elems"<<std::endl;
304307
Vector v[6];
305308
for (VMesh::index_type i = 0; i < numnvals; i++)
306309
{
307310
v[0] = (*data)(i, 0); v[1] = (*data)(i, 1); v[2] = (*data)(i, 2);
308311
v[3] = (*data)(i, 3); v[4] = (*data)(i, 4); v[5] = (*data)(i, 5);
309312
ofield->set_values(v, i);
313+
std::cout<<"nodes. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<std::endl;
310314
}
311315
for (VMesh::index_type i=numnvals; i< numevals+numnvals; i++)
312316
{
313317
v[0]=(* data)(i,0); v[1]=(* data)(i,1); v[2]=(* data)(i,2);
314318
v[3]=(* data)(i,3); v[4]=(* data)(i,4); v[5]=(* data)(i,5);
315319
ofield->set_evalues(v,i);
320+
std::cout<<"elems. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<std::endl;
316321
}
317322
}
318323
else if ((nrows == 6) && (ncols == numvals))
319324
{
325+
std::cout<<"cols, 6 elems"<<std::endl;
326+
320327
Vector v[6];
321328
for (VMesh::index_type i = 0; i < numnvals; i++)
322329
{
323330
v[0] = (*data)(0, i); v[1] = (*data)(1, i); v[2] = (*data)(2, i);
324331
v[3] = (*data)(3, i); v[4] = (*data)(4, i); v[5] = (*data)(5, i);
325332
ofield->set_values(v, i);
333+
std::cout<<"nodes. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<std::endl;
326334
}
327335
for (VMesh::index_type i=numnvals; i< numevals+numnvals; i++)
328336
{
329337
v[0]=(* data)(0,i); v[1]=(* data)(1,i); v[2]=(* data)(2,i);
330338
v[3]=(* data)(3,i); v[4]=(* data)(4,i); v[5]=(* data)(5,i);
331339
ofield->set_evalues(v,i);
340+
std::cout<<"elems. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<std::endl;
332341
}
333342
}
334343
else if (((nrows == 1) && (ncols == 6)) || ((ncols == 1) && (nrows == 6)))
335344
{
336345
Vector v;
337346
if ((nrows == 1) && (ncols == 6)) { v[0] = (*data)(0, 0); v[1] = (*data)(0, 1); v[2] = (*data)(0, 2); v[3] = (*data)(0, 3); v[4] = (*data)(0, 4); v[5] = (*data)(0, 5); }
338347
if ((ncols == 1) && (nrows == 6)) { v[0] = (*data)(0, 0); v[1] = (*data)(1, 0); v[2] = (*data)(2, 0); v[3] = (*data)(3, 0); v[4] = (*data)(4, 0); v[5] = (*data)(5, 0); }
348+
std::cout<<"constant. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<std::endl;
339349
ofield->set_all_values(v);
340350
}
341351
/// Handle 9 by n data
342352
else if ((ncols == 9) && (nrows == numvals))
343353
{
354+
std::cout<<"rows, 9 elems"<<std::endl;
344355
Vector v[9];
345356
for (VMesh::index_type i = 0; i < numnvals; i++)
346357
{
358+
/*
347359
v[0] = (*data)(i, 0); v[1] = (*data)(i, 1); v[2] = (*data)(i, 2);
348360
v[3] = (*data)(i, 3); v[4] = (*data)(i, 4); v[5] = (*data)(i, 5);
349361
v[6] = (*data)(i, 6); v[7] = (*data)(i, 7); v[8] = (*data)(i, 8);
350362
ofield->set_values(v, i);
363+
std::cout<<"nodes. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<','<<v[6]<<','<<v[7]<<','<<v[8]<<std::endl;
364+
*/
365+
ofield->set_value(Tensor((*data)(i, 0),(*data)(i, 1),(*data)(i, 2),(*data)(i, 3),(*data)(i, 4),(*data)(i, 8)), i);
366+
std::cout<<"nodes. vector = "<<(*data)(i, 0)<<","<<(*data)(i, 1)<<","<<(*data)(i, 2)<<","<<(*data)(i, 3)<<","<<(*data)(i, 4)<<","<<(*data)(i, 8)<<std::endl;
351367
}
352368
for (VMesh::index_type i=numnvals; i< numevals+numnvals; i++)
353369
{
370+
/*
354371
v[0]=(* data)(i,0); v[1]=(* data)(i,1); v[2]=(* data)(i,2);
355372
v[3]=(* data)(i,3); v[4]=(* data)(i,4); v[5]=(* data)(i,5);
356373
v[6]=(* data)(i,6); v[7]=(* data)(i,7); v[8]=(* data)(i,8);
357374
ofield->set_evalues(v,i);
375+
std::cout<<"elems. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<','<<v[6]<<','<<v[7]<<','<<v[8]<<std::endl;
376+
*/
377+
ofield->set_evalue(Tensor((*data)(i, 0),(*data)(i, 1),(*data)(i, 2),(*data)(i, 3),(*data)(i, 4),(*data)(i, 8)), i);
378+
std::cout<<"elems. vector = "<<(*data)(i, 0)<<","<<(*data)(i, 1)<<","<<(*data)(i, 2)<<","<<(*data)(i, 3)<<","<<(*data)(i, 4)<<","<<(*data)(i, 8)<<std::endl;
358379
}
359380
}
360381
else if ((nrows == 9) && (ncols == numvals))
361382
{
383+
std::cout<<"cols, 9 elems"<<std::endl;
362384
Vector v[9];
363385
for (VMesh::index_type i = 0; i < numnvals; i++)
364386
{
365-
v[0] = (*data)(0, i); v[1] = (*data)(1, i); v[2] = (*data)(2, i);
366-
v[3] = (*data)(3, i); v[4] = (*data)(4, i); v[5] = (*data)(5, i);
367-
v[6] = (*data)(6, i); v[7] = (*data)(7, i); v[8] = (*data)(8, i);
368-
ofield->set_values(v, i);
387+
/*
388+
v[0] = (*data)(i, 0); v[1] = (*data)(i, 1); v[2] = (*data)(i, 2);
389+
v[3] = (*data)(i, 3); v[4] = (*data)(i, 4); v[5] = (*data)(i, 5);
390+
v[6] = (*data)(i, 6); v[7] = (*data)(i, 7); v[8] = (*data)(i, 8);
391+
ofield->set_values(v, i);
392+
std::cout<<"nodes. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<','<<v[6]<<','<<v[7]<<','<<v[8]<<std::endl;
393+
*/
394+
ofield->set_value(Tensor((*data)(i, 0),(*data)(i, 1),(*data)(i, 2),(*data)(i, 3),(*data)(i, 4),(*data)(i, 8)), i);
395+
std::cout<<"nodes. vector = "<<(*data)(i, 0)<<","<<(*data)(i, 1)<<","<<(*data)(i, 2)<<","<<(*data)(i, 3)<<","<<(*data)(i, 4)<<","<<(*data)(i, 8)<<std::endl;
369396
}
370397
for (VMesh::index_type i=numnvals; i< numevals+numnvals; i++)
371398
{
372-
v[0]=(* data)(0,i); v[1]=(* data)(1,i); v[2]=(* data)(2,i);
373-
v[3]=(* data)(3,i); v[4]=(* data)(4,i); v[5]=(* data)(5,i);
374-
v[6]=(* data)(6,i); v[7]=(* data)(7,i); v[8]=(* data)(8,i);
375-
ofield->set_evalues(v,i);
376-
}
399+
/*
400+
v[0]=(* data)(i,0); v[1]=(* data)(i,1); v[2]=(* data)(i,2);
401+
v[3]=(* data)(i,3); v[4]=(* data)(i,4); v[5]=(* data)(i,5);
402+
v[6]=(* data)(i,6); v[7]=(* data)(i,7); v[8]=(* data)(i,8);
403+
ofield->set_evalues(v,i);
404+
std::cout<<"elems. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<','<<v[6]<<','<<v[7]<<','<<v[8]<<std::endl;
405+
*/
406+
ofield->set_evalue(Tensor((*data)(i, 0),(*data)(i, 1),(*data)(i, 2),(*data)(i, 3),(*data)(i, 4),(*data)(i, 8)), i);
407+
std::cout<<"elems. vector = "<<(*data)(i, 0)<<","<<(*data)(i, 1)<<","<<(*data)(i, 2)<<","<<(*data)(i, 3)<<","<<(*data)(i, 4)<<","<<(*data)(i, 8)<<std::endl; }
377408
}
378409
else if (((nrows == 1) && (ncols == 9)) || ((ncols == 1) && (nrows == 9)))
379410
{
411+
/*
380412
Vector v;
381413
if ((nrows == 1) && (ncols == 9)) { v[0] = (*data)(0, 0); v[1] = (*data)(0, 1); v[2] = (*data)(0, 2); v[3] = (*data)(0, 3); v[4] = (*data)(0, 4); v[5] = (*data)(0, 5); }
382414
if ((ncols == 1) && (nrows == 9)) { v[0] = (*data)(0, 0); v[1] = (*data)(1, 0); v[2] = (*data)(2, 0); v[3] = (*data)(3, 0); v[4] = (*data)(4, 0); v[5] = (*data)(5, 0); }
383415
ofield->set_all_values(v);
416+
std::cout<<"constant. vector = "<<v[0]<<','<<v[1]<<','<<v[2]<<','<<v[3]<<','<<v[4]<<','<<v[5]<<','<<v[6]<<','<<v[7]<<','<<v[8]<<std::endl;
417+
*/
418+
ofield->set_all_values(Tensor((*data)(i, 0),(*data)(i, 1),(*data)(i, 2),(*data)(i, 3),(*data)(i, 4),(*data)(i, 8)));
384419
}
385420
else
386421
{

0 commit comments

Comments
 (0)