visit_handle SimGetMetaData(void *cbdata) { visit_handle md = VISIT_INVALID_HANDLE; simulation_data *sim = (simulation_data *)cbdata; /* Create metadata. */ if(VisIt_SimulationMetaData_alloc(&md) == VISIT_OKAY) { int i; visit_handle cmd = VISIT_INVALID_HANDLE; /* Set the simulation state. */ VisIt_SimulationMetaData_setMode(md, (sim->runMode == SIM_STOPPED) ? VISIT_SIMMODE_STOPPED : VISIT_SIMMODE_RUNNING); VisIt_SimulationMetaData_setCycleTime(md, sim->cycle, sim->time); /* Add a curve variable. */ if(VisIt_CurveMetaData_alloc(&cmd) == VISIT_OKAY) { VisIt_CurveMetaData_setName(cmd, "sine"); VisIt_CurveMetaData_setXLabel(cmd, "Angle"); VisIt_CurveMetaData_setXUnits(cmd, "radians"); VisIt_CurveMetaData_setYLabel(cmd, "Amplitude"); VisIt_CurveMetaData_setYUnits(cmd, ""); VisIt_SimulationMetaData_addCurve(md, cmd); } /* Add some commands. */ for(i = 0; i < sizeof(cmd_names)/sizeof(const char *); ++i) { if(VisIt_CommandMetaData_alloc(&cmd) == VISIT_OKAY) { VisIt_CommandMetaData_setName(cmd, cmd_names[i]); VisIt_SimulationMetaData_addGenericCommand(md, cmd); } } } return md; }
visit_handle SimGetMetaData(void *cbdata) { visit_handle md = VISIT_INVALID_HANDLE; simulation_data *sim = (simulation_data *)cbdata; /* Create metadata with no variables. */ if(VisIt_SimulationMetaData_alloc(&md) == VISIT_OKAY) { visit_handle m1 = VISIT_INVALID_HANDLE; visit_handle m2 = VISIT_INVALID_HANDLE; visit_handle vmd = VISIT_INVALID_HANDLE; visit_handle cmd = VISIT_INVALID_HANDLE; visit_handle mat = VISIT_INVALID_HANDLE; /* Set the simulation state. */ if(sim->runMode == VISIT_SIMMODE_STOPPED) VisIt_SimulationMetaData_setMode(md, VISIT_SIMMODE_STOPPED); else VisIt_SimulationMetaData_setMode(md, VISIT_SIMMODE_RUNNING); VisIt_SimulationMetaData_setCycleTime(md, sim->cycle, sim->time); /* Set the first mesh's properties.*/ if(VisIt_MeshMetaData_alloc(&m1) == VISIT_OKAY) { /* Set the mesh's properties.*/ VisIt_MeshMetaData_setName(m1, "mesh2d"); VisIt_MeshMetaData_setMeshType(m1, VISIT_MESHTYPE_RECTILINEAR); VisIt_MeshMetaData_setTopologicalDimension(m1, 2); VisIt_MeshMetaData_setSpatialDimension(m1, 2); VisIt_MeshMetaData_setXUnits(m1, "cm"); VisIt_MeshMetaData_setYUnits(m1, "cm"); VisIt_MeshMetaData_setXLabel(m1, "Width"); VisIt_MeshMetaData_setYLabel(m1, "Height"); VisIt_SimulationMetaData_addMesh(md, m1); } /* Set the second mesh's properties.*/ if(VisIt_MeshMetaData_alloc(&m2) == VISIT_OKAY) { /* Set the mesh's properties.*/ VisIt_MeshMetaData_setName(m2, "mesh3d"); VisIt_MeshMetaData_setMeshType(m2, VISIT_MESHTYPE_CURVILINEAR); VisIt_MeshMetaData_setTopologicalDimension(m2, 3); VisIt_MeshMetaData_setSpatialDimension(m2, 3); VisIt_MeshMetaData_setXUnits(m2, "cm"); VisIt_MeshMetaData_setYUnits(m2, "cm"); VisIt_MeshMetaData_setZUnits(m2, "cm"); VisIt_MeshMetaData_setXLabel(m2, "Width"); VisIt_MeshMetaData_setYLabel(m2, "Height"); VisIt_MeshMetaData_setZLabel(m2, "Depth"); VisIt_SimulationMetaData_addMesh(md, m2); } /* Add a zonal scalar variable on mesh2d. */ if(VisIt_VariableMetaData_alloc(&vmd) == VISIT_OKAY) { VisIt_VariableMetaData_setName(vmd, "zonal"); VisIt_VariableMetaData_setMeshName(vmd, "mesh2d"); VisIt_VariableMetaData_setType(vmd, VISIT_VARTYPE_SCALAR); VisIt_VariableMetaData_setCentering(vmd, VISIT_VARCENTERING_ZONE); VisIt_SimulationMetaData_addVariable(md, vmd); } /* Add a nodal scalar variable on mesh3d. */ if(VisIt_VariableMetaData_alloc(&vmd) == VISIT_OKAY) { VisIt_VariableMetaData_setName(vmd, "nodal"); VisIt_VariableMetaData_setMeshName(vmd, "mesh3d"); VisIt_VariableMetaData_setType(vmd, VISIT_VARTYPE_SCALAR); VisIt_VariableMetaData_setCentering(vmd, VISIT_VARCENTERING_NODE); VisIt_SimulationMetaData_addVariable(md, vmd); } /* Add a curve variable. */ if(VisIt_CurveMetaData_alloc(&cmd) == VISIT_OKAY) { VisIt_CurveMetaData_setName(cmd, "sine"); VisIt_CurveMetaData_setXLabel(cmd, "Angle"); VisIt_CurveMetaData_setXUnits(cmd, "radians"); VisIt_CurveMetaData_setYLabel(cmd, "Amplitude"); VisIt_CurveMetaData_setYUnits(cmd, ""); VisIt_SimulationMetaData_addCurve(md, cmd); } /* Add a material */ if(VisIt_MaterialMetaData_alloc(&mat) == VISIT_OKAY) { VisIt_MaterialMetaData_setName(mat, "mat"); VisIt_MaterialMetaData_setMeshName(mat, "mesh2d"); VisIt_MaterialMetaData_addMaterialName(mat, "Iron"); VisIt_MaterialMetaData_addMaterialName(mat, "Copper"); VisIt_MaterialMetaData_addMaterialName(mat, "Nickel"); VisIt_SimulationMetaData_addMaterial(md, mat); } } return md; }