Contents     Functions     Index     Previous Next     PDF

7.9  Curves and data sets

Curves are used to specify inputs (for time or frequency domain simulation) and store results from simulations. They can be stored as entries {'curve', Name, data} in the model stack or in the case of inputs in the load.curve cell array. Curves can be displayed using the iiplot interface.

A curve can be used to define a time (or frequency) dependent load {F}=[B]{u}. [B] defines the spatial distribution of the load on DOFs and its unit is the same as F. [B] is defined by a DOFLoad entry in the Case. {u} defines the time (or frequency) dependency as a unitless curve. There should be as many curves as columns in the matrix of a given load def. If a single curve is defined for a multi-load entry, it will affect all the loads of this entry.

As an illustration, let us consider ways to define a time dependent load by defining a .curve field in the load data structure. This field may contain a string referring to an existing curve (name is 'input' here)

 model=fe_time('demo bar');fe_case(model,'info')

 % redefine curve
 model=fe_curve(model,'set','input','TestStep 1e-3');
 % have load reference that curve
 model=fe_case(model,'setcurve','Point load 1','input');

 TimeOpt=fe_time('timeopt newmark .25 .5 0 1e-4 100');
 model=stack_set(model,'info','TimeOpt',TimeOpt);
 def=fe_time(model); feplot(model,def)

or a data structure generated by fe_curve

 model=fe_time('demo bar');fe_case(model,'info')
 model=fe_case(model,'remove','fd'); % loads at both ends
 data=struct('DOF',[1.01;2.01],'def',1e6*eye(2),...
             'curve',{{'test ricker 10e-4 1',...
                       'test ricker 20e-4 1'}});
 model = fe_case(model,'DOFLoad','Point load 1',data);

 TimeOpt=fe_time('timeopt newmark .25 .5 0 1e-4 100');
 model=stack_set(model,'info','TimeOpt',TimeOpt);
 def=fe_time(model); feplot(model,def)

A curve is a data structure with fields


.IDidentification and type of the curve
.Xaxis data. A cell array with as many entries as dimensions of .Y. Contents of each cell can be a vector (for example vector of frequencies or time steps), a cell array describing data vectors in .Y (for example response labels)
 (obsolete) x-axis data.
.XlabA cell array of strings giving the meaning of each entry in .X
.Yresponse data. If a matrix rows correspond to .X values and columns are called channels
.Z(obsolete) should be stored as a third dimension in .Y and filling of .X{3}.
.dataa matrix with one row per channel (column of .Y). This is used to store DOF information for responses, pole information for modes, ...
.*unit(obsolete) a cell array with three columns giving label the meaning of the x axis, ulabel the unit label for the x axis, and typ four values giving the type number, followed by length, force, temperature and time unit exponents (these are used for automated unit system conversion). Typical fields can be generated with fe_curve('DatatypeCell','Time'). This information should now be stored as entries in .X{3}
.namename of the curve
.type'fe_curve'
.unitunit system of the curve (see fe_mat convert)
.Interpoptional interpolation method. Available interpolations are linear, log and stair
.Extrapoptional extrapolation method. Available extrapolations are flat, zero and exp
.PlotInfotype of plotting
©1991-2008 by SDTools
Previous Up Next