Contents  
Functions  
Index
 
 PDF |
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
| .ID | identification and type of the curve |
| .X | axis 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. | |
| .Xlab | A cell array of strings giving the meaning of each entry in .X |
| .Y | response 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}. |
| .data | a 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} |
| .name | name of the curve |
| .type | 'fe_curve' |
| .unit | unit system of the curve (see fe_mat convert) |
| .Interp | optional interpolation method. Available interpolations are linear, log and stair |
| .Extrap | optional extrapolation method. Available extrapolations are flat, zero and exp |
| .PlotInfo | type of plotting |