2
/*******************************************************
4
* Copyright (c) 2003-2010 by University of Queensland
5
* Earth Systems Science Computational Center (ESSCC)
6
* http://www.uq.edu.au/esscc
8
* Primary Business: Queensland, Australia
9
* Licensed under the Open Software License version 3.0
10
* http://www.opensource.org/licenses/osl-3.0.php
12
*******************************************************/
14
/**************************************************************/
16
/* Dudley: prints Mesh */
18
/**************************************************************/
22
/**************************************************************/
24
/* prints the mesh to the standarts output: */
26
void Dudley_Mesh_print(Dudley_Mesh * in)
28
dim_t NN, i, j, numDim, NN2;
32
printf("Mesh name: %s\n", in->Name);
36
if (in->Nodes != NULL)
38
numDim = in->Nodes->numDim;
39
printf("=== %1dD-Nodes:\nnumber of nodes=%d\n", numDim, in->Nodes->numNodes);
40
printf("Id,Tag,globalDegreesOfFreedom,degreesOfFreedom,reducedDegreesOfFeedom,node,reducedNode,Coordinates\n");
41
for (i = 0; i < in->Nodes->numNodes; i++)
43
printf("%d,%d,%d,%d,%d,%d,%d ",
44
in->Nodes->Id[i], in->Nodes->Tag[i], in->Nodes->globalDegreesOfFreedom[i],
45
in->Nodes->degreesOfFreedomMapping->target[i],
46
in->Nodes->reducedDegreesOfFreedomMapping->target[i],
47
in->Nodes->nodesMapping->target[i], in->Nodes->reducedNodesMapping->target[i]);
48
for (j = 0; j < numDim; j++)
49
printf(" %20.15e", in->Nodes->Coordinates[INDEX2(j, i, numDim)]);
56
if (in->Elements != NULL)
58
printf("=== %s:\nnumber of elements=%d\ncolor range=[%d,%d]\n",
59
in->Elements->ename, in->Elements->numElements, in->Elements->minColor, in->Elements->maxColor);
60
NN = in->Elements->numNodes;
61
NN2 = in->Elements->numNodes;
62
if (in->Elements->numElements > 0)
64
printf("Id,Tag,Owner,Color,Nodes\n");
65
for (i = 0; i < in->Elements->numElements; i++)
67
printf("%d,%d,%d,%d,", in->Elements->Id[i], in->Elements->Tag[i], in->Elements->Owner[i],
68
in->Elements->Color[i]);
69
for (j = 0; j < NN; j++)
70
printf(" %d", in->Nodes->Id[in->Elements->Nodes[INDEX2(j, i, NN2)]]);
76
/* write face elements: */
78
if (in->FaceElements != NULL)
80
printf("=== %s:\nnumber of elements=%d\ncolor range=[%d,%d]\n",
81
in->FaceElements->ename, in->FaceElements->numElements, in->FaceElements->minColor,
82
in->FaceElements->maxColor);
83
NN = in->FaceElements->numNodes;
84
NN2 = in->FaceElements->numNodes;
85
if (in->FaceElements->numElements > 0)
87
printf("Id,Tag,Owner,Color,Nodes\n");
88
for (i = 0; i < in->FaceElements->numElements; i++)
90
printf("%d,%d,%d,%d,", in->FaceElements->Id[i], in->FaceElements->Tag[i], in->Elements->Owner[i],
91
in->FaceElements->Color[i]);
92
for (j = 0; j < NN; j++)
93
printf(" %d", in->Nodes->Id[in->FaceElements->Nodes[INDEX2(j, i, NN2)]]);
100
if (in->Points != NULL)
102
printf("=== %s:\nnumber of elements=%d\ncolor range=[%d,%d]\n",
103
in->Points->ename, in->Points->numElements, in->Points->minColor, in->Points->maxColor);
104
NN = in->Points->numNodes;
105
NN2 = in->Points->numNodes;
106
if (in->Points->numElements > 0)
108
printf("Id,Tag,Owner,Color,Nodes\n");
109
for (i = 0; i < in->Points->numElements; i++)
111
printf("%d,%d,%d,%d,", in->Points->Id[i], in->Points->Tag[i], in->Elements->Owner[i],
112
in->Points->Color[i]);
113
for (j = 0; j < NN; j++)
114
printf(" %d", in->Nodes->Id[in->Points->Nodes[INDEX2(j, i, NN2)]]);