DENOMINATOR=a0[,...,a29] | Specifies the coefficients of the polynomial in the denominator of the transfer function. Coefficients are listed in order of ascending powers of s, starting with s to the zero power, including any intermediate zero coefficients. The number of coefficients for the denominator must be greater than or equal to the number of coefficients for the numerator. |
NUMERATOR=b0[,...,b29] | Specifies the coefficients of the polynomial in the numerator of the transfer function. Coefficients are listed in order of ascending powers of s, starting with s to the zero power, including any intermediate zero coefficients. The number of coefficients for the numerator must be less than or equal to the number of coefficients for the denominator. |
STATIC_HOLD | Indicates that the TFSISO states are not permitted to change during static and quasi-static analysis. |
U=id | Designates the ARRAY statement in the dataset that is used to define the input (or control) for the transfer function. You must have an ARRAY statement with this identifier in the dataset and it must be of the U type. If you specify the SIZE of the U ARRAY, it must be 1. |
X=id | Designates the ARRAY statement in the dataset that is used to define the state variable array for the transfer function. You must have an ARRAY statement with this identifier in the dataset; it must be of the X type; and it may not be used in any other LSE, GSE, or TFSISO statement. If you specify the SIZE of the X ARRAY, it must be one less than the number of coefficients in the denominator. |
Y=id | Designates the ARRAY statement in the dataset that is used to define the output for the transfer function. You must have an ARRAY statement with this identifier in the dataset; it must be of the Y type; and it may not be used in any other LSE, GSE, or TFSISO statement. If you specify the SIZE of the Y ARRAY, it must be 1. |




Note: | Except in the specific case where the numerator and denominator are of equal orders, qk= 0. |
Tip: | ■Keeping track of which ARRAY statements go with which system elements is easier if all system elements are numbered uniquely and the ARRAY statements are numbered consistently. For example, the X ARRAY that goes with TFSISO/100 could be ARRAY/100; the U ARRAY would then be ARRAY/101, and the Y ARRAY would be ARRAY/102. ■Often, transfer functions are needed where the order of the numerator is larger than the denominator. The classic example of this is the pure differentiator. It is generally possible to avoid this situation in Adams Solver (FORTRAN) by using the derivative of the input, i.e., marker velocity or acceleration instead of displacement or velocity. In other cases, you may need to algebraically incorporate another transfer function into a system or subsystem such that the overall transfer function has a higher degree denominator. |
Caution: | ■Although the TFSISO statement allows for up to 30 numerator and denominator coefficients in the transfer function, the conversion to the canonical state-space form is typically not robust for higher-order systems. Such systems should be used only when you are confident that the problem is well-posed. An alternate approach more suited to Adams Solver (FORTRAN) would be to break up (factor) the large transfer function into a series of smaller ones in separate TFSISO statements. ■Note that, if the output equation defined by the TFSISO statement has no solution or multiple solutions (this is possible because of the general nature of the input ARRAY), Adams Solver (FORTRAN) most likely fails to converge or possibly converge to an unexpected answer. You can avoid this possibility by not referencing the X (state) or Y (output) ARRAYs in the definition of the VARIABLE in the U (input) ARRAY. ■You must be sure to list the coefficients in order of increasing powers of s. Some texts and programs use the opposite convention, listing coefficients in order of decreasing powers of s. ■Adams Solver (FORTRAN) does not check for pole-zero cancellation in the TFSISO numerator and denominator. In this case, the canonical transform used in Adams Solver leads to an unobservable but controllable state space realization. Adams Solver (FORTRAN) models containing such elements when tested for observability in control design software are indicated having some unobservable portions. You should perform any pole-zero cancellation prior to defining the TFSISO data. ■During a static analysis, Adams Solver (FORTRAN) finds equilibrium values for user-defined differential variables (DIFFs, GSEs, LSEs, and TFSISOs), as well as for the displacement and force variables. This changes the initial conditions for a subsequent analysis. If STATIC_HOLD is not specified, during a static analysis, Adams Solver (FORTRAN) sets the time derivatives of the user-defined variables to zero, and uses the user-supplied initial-condition values only as an initial guess for the static solution. Generally, the final equilibrium values are not the same as the initial condition values. Adams Solver (FORTRAN) then uses the equilibrium values of the user-defined variables as the initial values for any subsequent analysis, just as with the equilibrium displacement and force values. ■However, if STATIC_HOLD is specified, the user-specified initial conditions are retained as the static equilibrium values. Thus, the final equilibrium values are the same as the user-specified initial conditions. Note that this does not guarantee that the time derivatives of the user-defined variable are zero after static analysis. |
