ufwrite#
Purpose
Write to a Universal File.
Syntax
ufwrite(FileName,UFS,i) ufwrite(FileName,model)
Description
You can export to UFF using the feplot and iiplot export menus.
ufwrite(FileName,UFS,i) appends the dataset i from a curve stack UFS to the file FileName. For details on curve stacks see section 2.1.2. ufwrite(FileName,model) can be used to export FEM models.
For data-sets representing
- models, ufwrite writes a UFF of type 15 for the nodes and a trace line (UFF 82) for test wire frames (all EGID negative) or without FEMLink. With FEMLink, nodes are written in UFF 2411 format and elements in UFF 2412.
- response data, ufwrite writes a response at DOF (UFF 58) for each column of the response set.
- shape data, ufwrite writes a data at nodal DOF (UFF 55) for each row in the shape data set.
Starting from scratch, you define an curve stack DB=xfopt('empty'). You can then copy data sets from the stack XF (previously initialized by iiplot or xfopt) using DB(i)=XF(j). You can also build a new data set by giving its fields (see xfopt for the fields for the three supported dataset types). The following would be a typical example
UF=xfopt('empty') UF(1)={'node',FEnode,'elt',FEelt}; UF(2)={'w',IIw,'xf',IIxf}; UF(3)={'po',IIres,'res',IIres,'dof',XFdof};
Once the curve stack built, ufwrite('NewFile',UF,1:3) will write the three dataset.
With iiplot, you can use the stack to change properties as needed then write selected dataset to a file. For example,
tname=nas2up('tempname .uf'); ci=iicom('CurveLoad','gartid'); ci.Stack{'Test'}.x='frequency'; % modify properties, see xfopt('_datatype') ci.Stack{'Test'}.yn='accele'; iicom('sub'); % reinitialize plot to check ufwrite(tname,ci,'Test'); % write a model ci.Stack{'SE','model'}=demosdt('demo GartDataTest'); ufwrite(tname,ci,'model'); % write a time trace C1=fe_curve('TestRicker .6 2',linspace(0,1.2,120)); C1=ufwrite('_toxf',C1); % Transform to xf format C1.x= xfopt('_datatype','time'); % xfopt('_datatype') give the list of avalaible datatype C1.yn= xfopt('_datatype','Acceleration'); C1.fun= xfopt('_funtype',1); % xfopt('_funtype') give the list of avalaible funtype ci.Stack{'curve','Ricker'}=C1; ufwrite(tname,ci,'Ricker'); UFS=ufread(tname); % reread the UFF to check result
Note that you can edit these properties graphically in the iiplot properties ... figure.
See also