# Getting Data into UnstructGridModel

HOOPS Envision for Desktop offers several approaches to getting data into the UnstructGridModel. This page outlines the different way of populating the model with elements and results.

If you only have geometry data, the `Geometry Model` might be a better choice.

Unstructured Grid Model

`UnstructGridModel` defines a specific model structure and functionality for representing scientific and engineering models, e.g. finite element data. Essential to `UnstructGridModel` is a `DataSource` which represents the actual source of model information. Subclasses to DataSource distinguish between `interface/file based` and `programmatic input` of model information.

Getting Data into the DataSource

There are five different ways of getting your own data into a DataSource:

- Create your own data reader
  By deriving from cee::ug::DataReader and using the `cee::ug::DataSourceReader` you can easily create a data source that supports your own data.
- Use VTFx files
  If you are able to save your data to VTFx (Envision file format) you can use the built-in data source `cee::ug::DataSourceVTFx` to read your data.
- Use the ImportCae Component
  If you want to load files from commercial FEA and CFD simulation software systems you can use the `cee::imp::cae::DataSourceCae`.
- Use a DataProvider
  A Data Provider is a plugin for providing CAE data to applications built with HOOPS Envision SDKs, both Desktop and Web. Use an existing plugin or create your own Data Provider plugin to get your data into HOOPS Envision.
- Manually populate the DataSource
  Finally, you can always build the data model by hand, adding the parts, elements, nodes, results etc. using code.

Each of these five methods are described below.

## 1: Create Your Own Data Reader

Creating your own data reader is usually the recommended way of getting your data into HOOPS Envision. By using a `DataSourceInterface` derived class you will leverage the advanced data management capabilities of HOOPS Envision for Desktop. After completing the data reader, you can just specify what you would like to visualize, and the reader will be used to load data (element and results) whenever needed.

Please see the documentation of `DataReader` and the Create a custom DataReader tutorial for a detailed description on how to create your own reader.

| UnstructGrid: Create a Custom DataReader to Add Support for Your File Format Shows how to get your own analysis results into the UnstructGridModel by creating a DataReader. It is a very simple reader that returns one hexahedron element with one scalar, one vector, one displacement and one transformation result, but it will work as a starting point for building your own file reader.

## 2: Using VTFx Files

HOOPS Envision for Desktop contains readers for the Envision file formats VTF and VTFx, `DataSourceVTF` and `DataSourceVTFx`

The VTF and VTFx file formats are Envision’s own formats tailored specifically to carry structural mechanics and fluid dynamics data in a very compact form. VTFx and VTF files can be viewed in several products from Envision. For instance the free viewers, Ceetron Cloud, and HOOPS Envision Demo Viewer. By utilizing XML and zip compression, the VTFx format expands the functionality and usefulness of the well established VTF format by adding features for security, adaptability and the ability to carry multiple cases in one file - without compromising on the file size.

| UnstructGrid: Load Model from File and Set Up Model Specification Shows how to create a data source by loading a VTFx file and how to setup a model specification

## 3: Use the ImportCae Component

The `Import CAE Data Source` supports most commercial FEA and CFD formats. Please note that this component requires a separate feature in the license key and has additional cost of use.

Simulation data from external commercial CAE formats are stored in the `DataSourceCae` data source. See topic: Use Import CAE Component.

## 4: Use a Data Provider

A Data Provider is a plugin for providing CAE data to applications built with HOOPS Envision SDKs, both Desktop and Web. The Data Provider Framework is free to use. Use an existing plugin or create your own Data Provider plugin to get your data into HOOPS Envision for Desktop.

See topic Data Provider Framework and Data Provider Plugins for more information.

## 5: Manually Populate the DataSource

By using a `memory data source` to create a data source “by hand”. All states, geometries and results are added manually. By entering the data manually into the DataSource, you will have full control over the current contents. You also then have the responsibility to provide the needed data before calling `updateVisualization()` on the `model`.

See `DataSourceMemory`

| UnstructGrid: Simple Model with Two Triangles Shows how to create your own part and to use it in a model. The geometry is a very simple structure containing two triangles only.
| UnstructGrid: A Simple Model with Results Shows how to build an UnstructGridModel geometry, part and results. The geometry is a very simple structure containing a single triangle and a scalar result mapped as fringes, a vector result and a displacement result.

See also

- `DataSourceMemory`
- `DataSourceVTF`
- `DataSourceVTFx`
- `DataSourceReader`
- `DataSourceCae`

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Envision for Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Envision for Desktop?
What are the latest release notes for HOOPS Envision for Desktop?
How do I start evaluating HOOPS Envision for Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...