Reads data from a given file using the 3D CAE Readers. readcae3d uses the CAE readers provided with Activate that require access to model information, such as corner data, averaging method, layer and coordinate system.

## Syntax

readcae3d(filename, datatype, request, component, time, cornerdata, coordsys, averaging, layer)

readcae3d(filename, subcase, datatype, request, component, time, cornerdata, coordsys, averaging, layer)

readcae3d(filename, datatype, request, component, time, [], [], [], [])

readcae3d(filename, subcase, datatype, request, component, time, [], [], [], [])

## Inputs

filename
Path of the file.
Type: string
subcase
Subcase name or index in the file.
Type: string | int
datatype
Type name or index in the file.
Type: string | int
request
Request name or index, list of indices, list of names, or range of indices.
Matrix supported forms are:
[]
Extract all requests. In this case, the values are read and filled in the order that has been received by the CAE Reader, and not necessarily in ascending order of ID.
[i:j]
Extract ith to jth index (inclusive).
[i,j,k,l]
Extract the specified request indices.
Cell supported forms are:
{}
Extract all requests.
{i,j,k,l}
Extract the specified indices.
{'req1','req2','req3'}
Extract the specified requests.
Type: string | int | cell | matrix
component
Component name or index, list of indices, list of names, or range of indices.
Matrix supported forms are:
[]
Extract all components.
[i:j]
Extract ith to jth index (inclusive).
[i,j,k,l]
Extract the specified component indices.
Cell supported forms are:
{}
Extract all components.
{i,j,k,l}
Extract the specified indices.
{'req1','req2','req3'}
Extract the specified components.
Type: string | int | cell | matrix
time
Time name or index, list of indices, list of names, or range of indices.
Matrix supported forms are:
[]
Extract all time steps.
[i:j]
Extract ith to jth index (inclusive).
[i,j,k,l]
Extract the specified time step indices.
Cell supported forms are:
{}
Extract all time steps.
{i,j,k,l}
Extract the specified indices.
{'req1','req2','req3'}
Extract the specified time steps.
Type: string | int | cell | matrix
cornerdata
Flag to enable corner data or not, with values true or false (default). [] uses the default value.
Type: Boolean
coordsys
Coordinate system from where the results will be extracted, with values 'global' (default), 'analysis' or 'elemental'. [] uses the default value.
Supported values are:
'global'
Global default coordinate system.
'analysis'
Coordinate system in which the results were defined for each individual element.
'elemental'
Coordinate system defined from the geometry, that is, the nodal connectivity of the element.
Type: string
averaging
Averaging method, with values 'none' (default), 'simple', 'maximum', 'minimum', 'summation' and 'extreme'. [] uses the default value.
Supported values are:
'simple'
The tensors at the element corners are simply averaged.
'maximum'
The maximum value among the tensors at the element corners is considered.
'minimum'
The minimum value among the tensors at the element corners is considered.
'summation'
The tensors at the element corners are simply averaged.
'extreme'
The extreme value of the tensors at the element corners is considered.
Type: string
layer
Layer of the result (if applicable), with values 'max' (default), 'min', 'extreme', 'sum', 'average', 'range', 'count', 'maxlayer', 'minlayer', 'top' and 'bottom'. [] uses the default value.
Supported values are:
'max'
Maximum value among the layers for each entity.
'min'
Minimum value among the layers for each entity.
'extreme'
Maximum absolute values among the layers for each entity.
'sum'
(Scalar) sum of all values among the layers for each entity.
'average'
(Scalar) average value among the layers which contain data for each entity.
'range'
Difference between the maximum and minimum values among the layers for each entity.
'count'
Count of the layers for the given data type.
'maxlayer'
Layer by name that contributes to the maximum value for each entity.
'minlayer'
Layer by name that contributes to the minimum value for each entity.
'top'
Top layer.
'bottom'
Bottom layer.
Type: string

## Outputs

R
Output in matrix format. The first dimension of the matrix stores the requests, the second dimension stores the different components and the third dimension stores the different time steps.
Type: matrix

## Example 1

Example with default arguments to query all components from all requests from the 1st subcase and the 1st type:

R = readcae3d('tutorials/Comp-plate-1LC.h3d',1,1,[],[],[],[],[],[],[])
R =
slice(:, :, 1) =

1.41119  -29.42254  63.96678  70.42319
1.40949  -19.27447  42.20516  46.41947
1.40967  -19.24108  42.13372  46.34066
1.40985  -19.20770  42.06228  46.26185
1.41003  -19.17431  41.99084  46.18304
1.41021  -19.14092  41.91941  46.10423
1.41040  -19.10754  41.84797  46.02542
1.41059  -19.07415  41.77653  45.94662
1.41076  -19.04077  41.70510  45.86782
1.41095  -19.00738  41.63366  45.78901
(...)

## Example 2

Example with default arguments to query component 'X' from all requests from the the subcase 'Subcase 1 (LC-Tens)', type 'Displacement', using the analysis coordinate system:

R = readcae3d('tutorials/Comp-plate-1LC.h3d','Subcase 1 (LC-Tens)','Displacement',[],'X',[],[],'analysis',[],[])
R =
slice(:, :, 1) =

1.41119
1.40949
1.40967
1.40985
1.41003
1.41021
1.41040
(...)

## Example 3

Example with default arguments to query component all components from the 1st request from the the subcase 'Subcase 1 (LC-Tens)', type 'Displacement', using simple averaging method:

R = readcae3d('tutorials/Comp-plate-1LC.h3d','Subcase 1 (LC-Tens)','Displacement',1,[],[],[],[],'simple',[])
R =
slice(:, :, 1) =

1.41119  -29.42254  63.96678  70.42319

## Example 4

Example with default arguments to query component all components from the 1st request from the the subcase 'Subcase 1 (LC-Tens)', type 'Displacement', enabling corner data, which is not applicable for scalars:

R = readcae3d('tutorials/Comp-plate-1LC.h3d','Subcase 1 (LC-Tens)','Displacement',1,[],[],true,[],[],[])
Warning: corner data is not applicable for vectors and scalars and will be ignored
R =
slice(:, :, 1) =

1.41119  -29.42254  63.96678  70.42319