part create equation linear_state_equation
Allows you to create a linear_state_equation.
Format:
part create equation linear_state_equation |
|---|
linear_state_equation_name = | a new lse |
adams_id = | adams_id |
comments = | string |
x_state_array_name = | an existing array |
u_input_array_name = | an existing array |
y_output_array_name = | an existing array |
ic_array_name = | an existing array |
a_state_matrix_name = | an existing matrix |
b_input_matrix_name = | an existing matrix |
c_output_matrix_name = | an existing matrix |
d_feedforward_matrix_name = | an existing matrix |
static_hold = | on_off |
Example:
part create equation linear_state_equation & |
|---|
linear_state_equation_name = | lse__1 & |
adams_id = | 10 & |
comments = | "a new lse" & |
x_state_array_name = | array__1 & |
a_state_matrix_name = | matrix__1 |
Description:
Parameter | Value Type | Description |
|---|
linear_state_equation_name | A New Lse | Specifies the name of the new linear_state_equation. |
adams_id | Adama_Id | Specifies an integer used to identify this element in the Adams data file. |
comments | String | Specifies comments for the object being created or modified. |
x_state_array_name | An Existing Array | Specifies the array in the model which will be used as the state array for this linear system. |
u_input_array_name | An Existing Array | Specifies the array name in the current model which will be used as the input (or control) array for this linear system (LINEAR_STATE_EQUATION). |
y_output_array_name | An Existing Array | Specifies the array name in your model which will be used as the output array for this linear system (LINEAR_STATE_EQUATION) |
ic_array_name | An Existing Array | Specifies the array in the model which will be used as the initial conditions array for this linear system (LINEAR_STATE_EQUATION). |
a_state_matrix_name | An Existing Matrix | Specifies the matrix in the model which is used as the state matrix for this linear system (LINEAR_STATE_EQUATION). |
b_input_matrix_name | An Existing Matrix | Specifies the matrix in the model which is used as the control matrix for this linear system (LINEAR_STATE_EQUATION). |
c_output_matrix_name | An Existing Matrix | Specifies the matrix in the model which is used as the output matrix for this linear system (LINEAR_STATE_EQUATION). |
d_feedforward_matrix_name | An Existing Matrix | Specifies the matrix in your model which is used as the feedforward matrix for this linear system (LINEAR_STATE_EQUATION). |
static_hold | On_Off | Indicates that equation states are not permitted to change during static and quasi-static analysis. |
Extended Definition:
1. The LINEAR_STATE_EQUATION is used, along with associated arrays and matrices statements, to define a system of constant coefficient, explicit, differential, and algebraic equations in the classic state-space format.
The Linear State Equation (LSE) is designed to model a linear, time-invariant control system defined in the state space, especially to facilitate importing of controllers developed in with external software. It can be used, however, to define any arbitrary set of coupled constant-coefficient differential and algebraic equations which can be expressed in matrix notation as:
| dX/dt | | A | B | |X|
< ----- > = | ----- | < - >
| Y | | C | C | |U|
where, at least the A matrix must be non-zero. The LINEAR_STATE_EQUATION follows standard control systems terminology, where X is the state vector, Y is the output vector, U is the input vector and IC is the initial condition vector, X(t=0). In the Adams data set, each of these vectors is defined using an ARRAY. Similarly, A is the state matrix, B is the control matrix, C is the output matrix, and D is the feedforward matrix. Each of these matrices is defined using a MATRIX. All MATRIX and ARRAY sizes must be conformable as required by the above equation. ARRAYs with zero-length and zero-sized matrices should not be defined; Adams will correctly formulate the system equations based on those ARRAYs and MATRIXs which do exist.
2. You may use this name later to refer to this linear_state_equation. Adams View will not allow you to have two linear_state_equations with the same name, so you must provide a unique name.
Normally, entity names are composed of alphabetic, numeric, or '_' (underscore) characters, and start with an alphabetic or '_' character. They may be of any length. For more information, see
Using Extended Names.
By enclosing the name in double quotes, you may use other printable characters, or start the name with a numeral. If a name contains characters, or starts with a numeral, you must always quote the name when entering it.
Note that you can specify the parentage of an entity (e.g. what part "owns" a marker or a geometry element) when you CREATE it by changing the name. If you enter just the entity name, then the default parent will be assigned by Adams View. If you type in the full name, then you may override the default parent. In most cases, when creating an entity, Adams View will provide a default name. The default name that Adams View provides will specify the parentage that it has assumed.
You may, of course, delete this name and use your own. The form of a full name is:
"...._NAME.GRAND_PARENT_NAME.PARENT_NAME.ENTITY_NAME"
The number of levels used varies from case to case and the parentage must exist before an entity can be assigned to it.
3. When you use the FILE ADAMS_DATA_SET WRITE command, Adams View writes an Adams data file for your model. Adams requires that each modeling element be identified by a unique integer identifier. If you use this parameter to specify a non-zero identifier, Adams View will use it in the corresponding statement in the Adams data file.
You may also enter zero as an identifier, either explicitly or by default. The next time you write an Adams file, Adams View will replace the zero with a unique, internally-generated identifier.
Adams View will permanently store this identifier with the element just as if you had entered it yourself.
Normally, you would let all identifiers default to zero, and Adams View would generate the identifiers for you. You are never required to enter a non-zero identifier. You only need to specify it if, for some reason, you wish to control the Adams file output.
4. When an Adams Solver data file (.adm) is read into Adams View, all comments associated with a statement (from the end of the previous statement through the end of the current statement) are stored with the object. Comments in the data file can be associated with model.
These comments must follow the title statement and be followed by the comment 'END OF MODEL COMMENTS'. This string must be uppercase.
When an Adams Solver data file is written, the comments for an object are written before the statement corresponding to the object.
5. The user must have an array with the name specified by the x_array_name parameter, in their model and it may not be used in any other LINEAR_STATE_EQUATION, GENERAL_STATE_EQUATION or TRANSFER_FUNCTION.
6. When the Y_OUTPUT_ARRAY_NAME parameter is used, the user must have an array with this name in the model and it may not be used in any other LINEAR_STATE_EQUATION, GENERAL_STATE_EQUATION or TRANSFER_FUNCTION.
When the Y_OUTPUT_ARRAY_NAME parameter is used, the user must also include a C_OUTPUT_MATRIX or D_FEEDFORWARD_MATRIX name, or both, in the LINEAR_STATE_EQUATION definition, and these matrices must have the same number of rows as there are elements in the Y_OUTPUT_ARRAY_NAME.
7. When the IC_ARRAY_NAME parameter is used, the user must have an array with this name in their model and it must have the same number of elements as the X_STATE_ARRAY (equal to the number of rows in the A_STATE_MATRIX). When no IC array is specified for a LINEAR_STATE_EQUATION, all states are initialized to zero.
8. The user must have a MATRIX with this name in their model, it must be a square matrix (same number of rows and columns) and it must have the same dimension as the X_STATE_ARRAY. If the user has specified an inconsistent size for the X_STATE_ARRAY, Adams will issue a warning message and automatically resizes the X_STATE_ARRAY to match the A_STATE_MATRIX.
9. When the B_INPUT_MATRIX_NAME parameter is used, the user must also include a U_INPUT_ARRAY_NAME parameter in the LINEAR_STATE_EQUATION definition. You must have a matrix with this name in your model. This matrix must have the same number of rows as the A_STATE_MATRIX and the same number of columns as the number of elements in the U_INPUT_ARRAY.
10. When the C_OUTPUT_MATRIX parameter is used, you must also include a Y_OUTPUT_ARRAY parameter in the LINEAR_STATE_EQUATION definition. You must have a matrix with this name in your model. This matrix must have the same number of columns as the A_STATE_MATRIX and the same number of rows as the number of elements in the Y_OUTPUT_ARRAY.
11. When the D_FEEDFORWARD_MATRIX_NAME parameter is used, you must also include both Y_OUTPUT_ARRAY_NAME and U_INPUT_ARRAY_NAME parameters in the LINEAR_STATE_EQUATION definition. You must have a matrix with this name in your model. This matrix must have the same number of rows as the number of elements in the Y_OUTPUT_ARRAY and the same number of columns as the number of elements in the U_INPUT_ARRAY.
12. The user specified initial conditions are retained as the static equilibrium values. Note that this does not guarantee that the time derivatives of the user-defined variable will be zero after static analysis.