1% $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/manual/input/controldata.tex,v 1.56 2017/03/05 11:30:04 masarati Exp $
2% MBDyn (C) is a multibody analysis code.
3% http://www.mbdyn.org
4%
5% Copyright (C) 1996-2017
6%
7% Pierangelo Masarati  <masarati@aero.polimi.it>
8%
9% Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
10% via La Masa, 34 - 20156 Milano, Italy
11% http://www.aero.polimi.it
12%
13% Changing this copyright notice is forbidden.
14%
15% This program is free software; you can redistribute it and/or modify
16% it under the terms of the GNU General Public License as published by
17% the Free Software Foundation (version 2 of the License).
18%
19%
20% This program is distributed in the hope that it will be useful,
21% but WITHOUT ANY WARRANTY; without even the implied warranty of
22% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23% GNU General Public License for more details.
24%
25% You should have received a copy of the GNU General Public License
26% along with this program; if not, write to the Free Software
27% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28
29\chapter{Control Data}\label{sec:CONTROL-DATA}
30This section is read by the manager of all the bulk simulation data, namely
31the nodes, the drivers and the elements. It is used to set some global
32parameters closely related to the behavior of these entities, to tailor the
33initial assembly of the joints in case of structural simulations, and to
34tell the data manager how many entities of every type it should expect from
35the following sections. Historically this is due to the fact that the data
36structure for nodes and elements is allocated at the beginning with fixed
37size. This is going to change, giving raise to a ``free'' and resizeable
38structure. But this practice is to be considered reliable since it allows a
39sort of double-check on the entities that are inserted.
40
41\section{Assembly-Related Cards}
42The initial assembly related cards are:
43
44\subsection{Skip Initial Joint Assembly}
45%\begin{verbatim}
46\begin{Verbatim}[commandchars=\\\{\}]
47    \bnt{card} ::= \kw{skip initial joint assembly} ;
48\end{Verbatim}
49%\end{verbatim}
50This directive inhibits the execution of the initial joint assembly.
51Note that for a model to behave correctly, the initial joint assembly
52should always succeed.
53A correct model succeeds with 0 iterations, i.e.\ it intrinsically
54satisfies the constraints from the beginning.
55However, the initial joint assembly is more than a simple compliance
56test; it represents a static preprocessor for models.
57See the directives \kw{use} in Section~\ref{sec:CONTROLDATA:USE}
58and \kw{initial stiffness} in Section~\ref{sec:CONTROLDATA:INITIALSTIFFNESS}
59for more details on performing appropriate initial joint assembly.
60
61
62
63\subsection{Use}\label{sec:CONTROLDATA:USE}
64%\begin{verbatim}
65\begin{Verbatim}[commandchars=\\\{\}]
66    \bnt{card} ::= \kw{use} : \bnt{item_list} , \kw{in assembly} ;
67
68    \bnt{item_list} ::= \bnt{item} [ , ... ]
69    \bnt{item} ::=
70        \{ \kw{rigid bodies}
71            | \kw{gravity}
72            | \kw{forces}
73            | \kw{beams}
74            | \kw{aerodynamic elements}
75            | \kw{loadable elements} \}
76\end{Verbatim}
77%\end{verbatim}
78\kw{joints} are used by default, and cannot be added to the list.
79\kw{beams} are used by default, too, but can be added to the list
80essentially for backward compatibility.
81
82\subsection{Initial Stiffness}\label{sec:CONTROLDATA:INITIALSTIFFNESS}
83%\begin{verbatim}
84\begin{Verbatim}[commandchars=\\\{\}]
85    \bnt{card} ::= \kw{initial stiffness} : \bnt{position_stiffness} [ , \bnt{velocity_stiffness} ] ;
86\end{Verbatim}
87%\end{verbatim}
88This directive affects the stiffness of the dummy springs that constrain
89the position and the orientation (\nt{position\_stiffness})
90and the linear and angular velocity (\nt{velocity\_stiffness})
91of the structural nodes during the initial assembly; the default is 1.0 for both.
92Note that each node can use a specific value;
93see Section~\ref{sec:NODE:STRUCTURAL} for details. \\
94\emph{Note that the same value is used for the position and the orientation,
95so this stiffness is dimensionally inconsistent; It should really
96be intended as a penalty coefficient.
97The same considerations apply to the penalty value for linear
98and angular velocities.}
99
100\subsection{Omega Rotates}
101%\begin{verbatim}
102\begin{Verbatim}[commandchars=\\\{\}]
103    \bnt{card} ::= \kw{omega rotates} : \{ \kw{yes} | \kw{no} \} ;
104\end{Verbatim}
105%\end{verbatim}
106Sets whether the imposed angular velocity should be considered attached
107to the node or fixed in the global system during the initial assembly.
108
109\subsection{Tolerance}
110%\begin{verbatim}
111\begin{Verbatim}[commandchars=\\\{\}]
112    \bnt{card} ::= \kw{tolerance} : \bnt{tolerance} ;
113\end{Verbatim}
114%\end{verbatim}
115The tolerance that applies to the initial joint assembly;
116this tolerance is used to test the norm 2 of the residual,
117because it is very important, for a correct start of the simulation,
118that the algebraic constraints be satisfied as much as possible.
119The alternate statement \kw{initial tolerance} is tolerated
120for backwards compatibility.
121
122\subsection{Max Iterations}
123%\begin{verbatim}
124\begin{Verbatim}[commandchars=\\\{\}]
125    \bnt{card} ::= \kw{max iterations} : \bnt{max_iterations} ;
126\end{Verbatim}
127%\end{verbatim}
128The number of iterations that are allowed during the initial assembly.
129The alternate statement \kw{max initial iterations} is tolerated
130for backwards compatibility.
131
132
133
134\section{General-Purpose Cards}
135
136\subsection{Title}
137%\begin{verbatim}
138\begin{Verbatim}[commandchars=\\\{\}]
139    \bnt{card} ::= \kw{title} : " \bnt{simulation_title} " ;
140\end{Verbatim}
141%\end{verbatim}
142
143\subsection{Print}\label{sec:CONTROLDATA:PRINT}
144%\begin{verbatim}
145\begin{Verbatim}[commandchars=\\\{\}]
146    \bnt{card} ::= \kw{print} : \bnt{item} [ , ... ] ;
147
148    \bnt{item} ::=
149        \{ \kw{dof stats}
150            | [ \{ \kw{dof} | \kw{equation} \} ] \kw{description}
151            | [ \{ \kw{element} | \kw{node} \} ] \kw{connection}
152            | \kw{all}
153            | \kw{none} \}
154\end{Verbatim}
155%\end{verbatim}
156\begin{itemize}
157\item The keyword \kw{dof stats} enables printing of all potential
158	dof owner entities at initial assembly and at regular assembly,
159	so that the index of all variables can be easily identified;
160\item the keyword \kw{dof description} adds extra variable description;
161\item the keyword \kw{equation description} adds extra equation description;
162\item the keyword \kw{description} is a shortcut for both
163	\kw{dof description} and \kw{equation description};
164\item the keyword \kw{element connection} prints information
165	about element connectivity;
166\item the keyword \kw{node connection} prints information
167	about node connectivity;
168\item the keyword \kw{connection} is a shortcut for both
169	\kw{node connection} and \kw{element connection};
170\item the keyword \kw{all} enables all dof statistics printing;
171\item the keyword \kw{none} disables all dof statistics printing
172	(the default).
173\end{itemize}
174Note that, apart from \kw{none}, the other values are additive,
175i.e.\ the statement
176\begin{verbatim}
177    print: dof stats;
178    print: dof description;
179\end{verbatim}
180is equivalent to
181\begin{verbatim}
182    print: dof stats, dof description;
183\end{verbatim}
184while the statement
185\begin{verbatim}
186    print: none;
187\end{verbatim}
188disables all.
189
190\subsection{Make Restart File}
191%\begin{verbatim}
192\begin{Verbatim}[commandchars=\\\{\}]
193    \bnt{card} ::= \kw{make restart file}
194        [ : \{ \kw{iterations} , \bnt{iterations_between_restarts}
195            | \kw{time} , \nt{time_between_restarts} \} ] ;
196\end{Verbatim}
197%\end{verbatim}
198The default (no arguments) is to make the restart file only at the end of
199the simulation.
200
201\emph{Note: the \kw{make restart file} statement is experimental and essentially abandoned.}
202
203\subsection{Select Timeout}
204%\begin{verbatim}
205\begin{Verbatim}[commandchars=\\\{\}]
206    \bnt{card} ::= \kw{select timeout} , \{ \kw{forever} | \bnt{timeout} \} ;
207\end{Verbatim}
208%\end{verbatim}
209exit after \nt{timeout} minutes when waiting for connections
210on \kw{stream drives} or \kw{stream output elements}.
211By default, no timeout is used, so \texttt{select(2)} waits forever.
212
213\subsection{Default Output}\label{sec:CONTROLDATA:DEFAULTOUTPUT}
214%\begin{verbatim}
215\begin{Verbatim}[commandchars=\\\{\}]
216    \bnt{card} ::= \kw{default output} : \bnt{output_list} ;
217
218    \bnt{output_list} ::= \{ \kw{all} | \kw{none} | \bnt{output_item} \} [ , ... ]
219
220    \bnt{output_item} ::=
221        \{ \kw{reference frames}
222        | \kw{abstract nodes}
223        | \kw{electric nodes}
224        | \kw{hydraulic nodes}
225        | \kw{structural nodes} [ | \kw{accelerations} ]
226        | \kw{aerodynamic elements}
227        | \kw{air properties}
228        | \kw{beams}
229        | \kw{electric elements}
230        | \kw{forces}
231        | \kw{genels}
232        | \kw{gravity}
233        | \kw{hydraulic elements}
234        | \kw{joints}
235        | \kw{rigid bodies}
236        | \kw{induced velocity elements} \}
237\end{Verbatim}
238%\end{verbatim}
239Here the default output flag for a type of node or element can be set.
240It can be overridden for each entity either when it is created or later,
241for entity aggregates, in each entity module, by means of the \kw{output}
242directive for
243\hyperref{\kw{nodes}}{\kw{nodes} (see Section~}{)}{sec:NODE:MISC:OUTPUT}
244and
245\hyperref{\kw{elements}}{\kw{elements} (see Section~}{)}{sec:EL:MISC:OUTPUT}.
246Special values are:
247\begin{itemize}
248\item \kw{all} enables output of all entities;
249\item \kw{none} disables output of all entities;
250\item \kw{reference frames} by default, reference frames are not output;
251when enabled, a special file \texttt{.rfm} is generated, which contains
252all the reference frames defined, using the syntax of the \texttt{.mov} file.
253\item \kw{accelerations} enables output of linear and angular accelerations
254for dynamic structural nodes, which are disabled by default.
255Accelerations output can be enabled on a node by node basis;
256see
257\hyperref{\kw{structural node}}{\kw{structural node} (see Section~}{)}{sec:NODE:STRUCTURAL}
258for details.
259\end{itemize}
260Since values are additive, except for \kw{none}, to select
261only specific entities use \kw{none} first, followed by a list
262of the entities whose output should be activated.
263
264\paragraph{Example.} \
265\begin{verbatim}
266    begin: control data;
267        # ...
268        # disable all except structural nodes
269        default output: none, structural nodes;
270        # ...
271    end: control data;
272\end{verbatim}
273
274\subsection{Output Frequency}
275\label{sec:CONTROLDATA:OUTPUTFREQUENCY}
276This statement is intended for producing partial output.
277%\begin{verbatim}
278\begin{Verbatim}[commandchars=\\\{\}]
279    \bnt{card} ::= \kw{output frequency} : \bnt{steps} ;
280\end{Verbatim}
281%\end{verbatim}
282Despite the perhaps misleading name, this statement causes output to be produced
283every \nt{steps} time steps, starting from the initial time.
284A more general functionality is now provided by the \kw{output meter}
285statement (Section~\ref{sec:CONTROLDATA:OUTPUTMETER}).
286
287\subsection{Output Meter}
288\label{sec:CONTROLDATA:OUTPUTMETER}
289A drive that causes output to be generated when different from zero,
290while no output is created when equal to zero.  It is useful to reduce
291the size of the output file during analysis phases that are not of interest.
292%\begin{verbatim}
293\begin{Verbatim}[commandchars=\\\{\}]
294    \bnt{card} ::= \kw{output meter} : (\hty{DriveCaller}) \bnt{meter} ;
295\end{Verbatim}
296%\end{verbatim}
297The functionality of the deprecated \kw{output frequency} statement
298can be reproduced by using the \nt{meter} drive caller as follows:
299\begin{verbatim}
300    output meter: meter, 0., forever, steps, 10;
301\end{verbatim}
302
303When integrating with variable time step,
304one may want to use the
305\kw{closest next} \hty{DriveCaller}
306(see Section~\ref{sec:DriveCaller:CLOSEST_NEXT}); for example,
307\begin{verbatim}
308    output meter: closest next, 2., forever, const, 0.01;
309\end{verbatim}
310causes output to occur at times greater than or equal to
311multiples of 0.01 s, starting at 2 s.
312
313\subsection{Output Precision}
314Sets the desired output precision for those file types that honor it
315(currently, all the native output except the \texttt{.out} file).
316The default is 6 digits; since the output is in formatted plain text,
317the higher the precision, the larger the files and the slower the simulation.
318%\begin{verbatim}
319\begin{Verbatim}[commandchars=\\\{\}]
320    \bnt{card} ::= \kw{output precision} : \bnt{number_of_digits} ;
321\end{Verbatim}
322%\end{verbatim}
323This will no longer be an issue when the binary output is implemented;
324in that case, the output format will likely be fixed (float), or
325an optional extended format (double) will be allowed.
326
327\subsection{Output Results}\label{sec:CONTROLDATA:NETCDF}
328This deprecated statement was intended for producing output in formats
329compatible with other software.
330See Appendix~\ref{sec:APP:OUTPUTRESULTS} for a description of the types
331of output that MBDyn can provide.
332Most of them are produced in form of post-processing, based on the default
333raw output.
334
335Right now, the \kw{output results} statement is only used to enable
336the experimental support for NetCDF output, which eventually
337will replace the current textual output:
338%\begin{verbatim}
339\begin{Verbatim}[commandchars=\\\{\}]
340    \bnt{card} ::= \kw{output results} : \kw{netcdf} [ , \kw{sync} ] [ , \kw{no text} ] ;
341\end{Verbatim}
342%\end{verbatim}
343If the optional keyword \kw{no text} is present,
344standard output in ASCII form is disabled.
345
346\subsection{Default Orientation}\label{sec:CONTROLDATA:DEFAULTORIENTATION}
347This statement is used to select the default format for orientation output.
348For historical reasons, MBDyn always used the 123 form of Euler angles
349(also known as Cardano angles).
350This statement allows to enable different formats:
351%\begin{verbatim}
352\begin{Verbatim}[commandchars=\\\{\}]
353    \bnt{card} ::= \kw{default orientation} : \bnt{orientation_type} ;
354
355    \bnt{orientation_type} ::=
356        \{ \kw{euler123}
357            | \kw{euler313}
358            | \kw{euler321}
359            | \kw{orientation vector}
360            | \kw{orientation matrix} \}
361\end{Verbatim}
362%\end{verbatim}
363where
364\begin{itemize}
365\item \kw{euler123} is the historical representation by means
366	of three angles that represent three consecutive rotations
367	about axes 1, 2 and 3 respectively, always applied to the axis
368	as it results from the previous rotation;
369\item \kw{euler313} is similar to \kw{euler123}, but the rotations
370are about axes 3, 1 and 3 in the given sequence.
371This is the usual form for Euler angles.
372\item \kw{euler321} is similar to \kw{euler123}, but the rotations
373are about axes 3, 2 and 1 in the given sequence.
374\item \kw{orientation vector} is the vector whose direction indicates
375	the axis of the rotation that produces the orientation,
376	and whose modulus indicates the magnitude of that rotation;
377\item \kw{orientation matrix} indicates the orientation matrix itself.
378\end{itemize}
379The default remains \kw{euler123}.
380
381Note: this change implies that by default the selected way will be used
382to represent orientations in input and output.
383This flag is not fully honored throughout the code, yet.
384Right now, only \kw{structural nodes} and selected elements
385can output orientations as indicated by \kw{default orientation}.
386However, there is no direct means to detect what format is used
387in the \texttt{.mov} file (while it is easy, for example, in the \texttt{.nc}
388file generated by NetCDF).
389As a consequence, it is the user's responsibility to keep track
390of what representation is being used and treat output accordingly.
391
392\subsection{Default Aerodynamic Output}\label{sec:CONTROLDATA:DEFAULTAERODYNAMICOUTPUT}
393This statement is used to select the default output of built-in aerodynamic elements.
394%\begin{verbatim}
395\begin{Verbatim}[commandchars=\\\{\}]
396    \bnt{card} ::= \kw{default aerodynamic output} :
397        \bnt{custom_output_flag} [ , ... ] ;
398
399    \bnt{custom_output_flag} ::=
400        \{ \kw{position}
401            | \kw{orientation} [ , \bnt{orientation_description} ]
402            | \kw{velocity}
403            | \kw{angular velocity}
404            | \kw{configuration} # ::= \kw{position}, \kw{orientation}, \kw{velocity}, \kw{angular velocity}
405            | \kw{force}
406            | \kw{moment}
407            | \kw{forces}        # ::= \kw{force}, \kw{moment}
408            | \kw{all} \}         # equivalent to all the above
409
410    \bnt{orientation_description} ::= \kw{orientation description} , \bnt{orientation_type}
411\end{Verbatim}
412%\end{verbatim}
413The \nt{orientation\_type} is defined
414in Section~\ref{sec:CONTROLDATA:DEFAULTORIENTATION}.
415
416Flags add up to form the default aerodynamic element output request.
417Flags may not be repeated.
418
419Output occurs for each integration point.
420The kinematics refers to location, orientation,
421and linear and angular velocity of the reference point.
422The forces are actual forces and moments contributing
423to the equilibrium of a specific node.
424By default, only force and moment are output.
425The custom output is only available in NetCDF format;
426see Section~\ref{sec:NetCDF:Elem:Aerodynamic}.
427
428
429\subsection{Default Beam Output}\label{sec:CONTROLDATA:DEFAULTBEAMOUTPUT}
430This statement is used to select the default output of beam elements.
431%\begin{verbatim}
432\begin{Verbatim}[commandchars=\\\{\}]
433    \bnt{card} ::= \kw{default beam output} : \bnt{custom_output_flag} [ , ... ] ;
434
435    \bnt{custom_output_flag} ::=
436        \{ \kw{position}
437            | \kw{orientation} [ , \bnt{orientation_description} ]
438            | \kw{configuration}        # ::= \kw{position}, \kw{orientation}
439            | \kw{force}
440            | \kw{moment}
441            | \kw{forces}               # ::= \kw{force}, \kw{moment}
442            | \kw{linear strain}
443            | \kw{angular strain}
444            | \kw{strains}              # ::= \kw{linear strain}, \kw{angular strain}
445            | \kw{linear strain rate}
446            | \kw{angular strain rate}
447            | \kw{strain rates}         # ::= \kw{linear strain rate}, \kw{angular strain rate}
448            | \kw{all} \}                # equivalent to all the above
449
450    \bnt{orientation_description} ::= \kw{orientation description} ,
451        \bnt{orientation_type}
452\end{Verbatim}
453%\end{verbatim}
454The \nt{orientation\_type} is defined
455in Section~\ref{sec:CONTROLDATA:DEFAULTORIENTATION}.
456
457Flags add up to form the default beam output request.
458Flags may not be repeated.
459Output refers to the beam's ``evaluation points''.
460Strain rates are only available from viscoelastic beams;
461even if set, elastic beams will not output them.
462
463By default, only forces are output, to preserve compatibility
464with the original output format.
465The custom output is only available in NetCDF format;
466see Section~\ref{sec:NetCDF:Elem:Beam}.
467
468
469
470\subsection{Default Scale}\label{sec:CONTROLDATA:DEFAULTSCALE}
471%\begin{verbatim}
472\begin{Verbatim}[commandchars=\\\{\}]
473    \bnt{card} ::= \kw{default scale} : \bnt{scale_list} ;
474
475    \bnt{scale_list} ::= \bnt{scale_pair} [ , \bnt{output_list} ]
476
477    \bnt{scale_pair} ::= \{ \kw{all} | \kw{none} | \bnt{scale_item} \} , \bnt{scale_factor}
478
479    \bnt{scale_item} ::=
480        \{ \kw{abstract nodes}
481            | \kw{electric nodes}
482            | \kw{hydraulic nodes}
483            | \kw{structural nodes}
484            | \kw{thermal nodes} \}
485\end{Verbatim}
486%\end{verbatim}
487Define the residual scaling factor for all dof owners, or for specific
488types of dof owners.
489In principle, all dof owners should allow to define a scale factor,
490since they define a set of equations.
491In practice, only the above listed types support this option.
492
493Residual scaling is only active when specifically requested
494by the related option for the \kw{tolerance} keyword
495in the problem-specific section.
496See Section~\ref{sec:IVP:TOLERANCE} for further details.
497
498
499\subsection{Model}
500\label{sec:CONTROLDATA:MODEL}
501%\begin{verbatim}
502\begin{Verbatim}[commandchars=\\\{\}]
503    \bnt{card} ::= \kw{model} : \bnt{model_type} ;
504
505    \bnt{model_type} ::= \kw{static}
506\end{Verbatim}
507%\end{verbatim}
508This statement allows to set the model type to \kw{static}, which means
509that all dynamic structural nodes will be treated as static, and inertia
510forces ignored.
511Gravity and centripetal acceleration will only be considered as forcing
512terms.
513See the \kw{structural} node (Section~\ref{sec:NODE:STRUCTURAL}) for details.
514
515
516
517\subsection{Rigid Body Kinematics}
518\label{sec:CONTROLDATA:RBK}
519%\begin{verbatim}
520\begin{Verbatim}[commandchars=\\\{\}]
521    \bnt{card} ::= \kw{rigid body kinematics} : \bnt{rbk_data} ;
522
523    \bnt{rbk_data} ::= \{ \bnt{const_rbk} | \bnt{drive_rbk} \}
524
525    \bnt{const_rbk} ::= \kw{const}
526            [ , \kw{position} , (\hty{Vec3}) \bnt{abs_position} ]
527            [ , \kw{orientation} , (\hty{OrientationMatrix}) \bnt{abs_orientation} ]
528            [ , \kw{velocity} , (\hty{Vec3}) \bnt{abs_velocity} ]
529            [ , \kw{angular velocity} , (\hty{Vec3}) \bnt{abs_angular_velocity} ]
530            [ , \kw{acceleration} , (\hty{Vec3}) \bnt{abs_acceleration} ]
531            [ , \kw{angular acceleration} , (\hty{Vec3}) \bnt{abs_angular_acceleration} ]
532
533    \bnt{drive_rbk} ::= \kw{drive}
534            [ , \kw{position} , (\htybty{TplDriveCaller}{Vec3}) \bnt{abs_position} ]
535            [ , \kw{orientation} , (\htybty{TplDriveCaller}{Vec3}) \bnt{abs_orientation_vector} ]
536            [ , \kw{velocity} , (\htybty{TplDriveCaller}{Vec3}) \bnt{abs_velocity} ]
537            [ , \kw{angular velocity} , (\htybty{TplDriveCaller}{Vec3}) \bnt{abs_angular_velocity} ]
538            [ , \kw{acceleration} , (\htybty{TplDriveCaller}{Vec3}) \bnt{abs_acceleration} ]
539            [ , \kw{angular acceleration} , (\htybty{TplDriveCaller}{Vec3}) \bnt{abs_angular_acceleration} ]
540\end{Verbatim}
541%\end{verbatim}
542In principle, the kinematic parameters should be consistent.
543However, in most cases this is not strictly required, nor desirable.
544In fact, if the model is made only of rigid bodies, algebraic constraints
545and deformable restraints, the case of a system rotating
546at constant angular velocity does not require \nt{abs\_angular\_velocity}
547to be the derivative of \nt{abs\_orientation}, since the latter
548never appears in the forces acting on the system.
549Similarly, the \nt{abs\_position} and \nt{abs\_velocity}
550do not appear as well, as soon as the latter is constant.
551
552However, if other forces that depend on the absolute motion
553(position, orientation, and velocity) participate, this is no longer true.
554This is the case, for example, of aerodynamic forces,
555which depend on the velocity of the body with respect to the airstream,
556whose velocity is typically expressed in the global reference frame.
557
558
559
560\subsection{Loadable path}
561\label{sec:CONTROLDATA:LOADABLE_PATH}
562%\begin{verbatim}
563\begin{Verbatim}[commandchars=\\\{\}]
564    \bnt{card} ::= \kw{loadable path} : [ \{ \kw{set} | \kw{add} \} , ] " \bnt{path} " ;
565\end{Verbatim}
566%\end{verbatim}
567This card allows to either set (optional keyword \kw{set})
568or augment (optional keyword \kw{add}) the search path
569for run-time loadable modules using the path specified
570as the mandatory argument \nt{path}.
571
572Note: this command should be considered obsolete, but its replacement
573is not implemented yet.
574It impacts the loading of all run-time loadable modules,
575not only that of \kw{user defined} or \kw{loadable} elements
576(Section~\ref{sec:EL:BASE:USER_DEFINED}.
577See for example the \kw{module load} statement
578in Section~\ref{sec:GENERAL:MODULE-LOAD}.
579
580
581
582\section{Model Counter Cards}
583The following counters can be defined:
584\subsection{Nodes}
585\begin{itemize}
586\item \kw{abstract nodes}
587\item \kw{electric nodes}
588\item \kw{hydraulic nodes}
589\item \kw{parameter nodes}
590\item \kw{structural nodes}
591\item \kw{thermal nodes}
592\end{itemize}
593
594\subsection{Drivers}
595\begin{itemize}
596\item \kw{file drivers}
597\end{itemize}
598
599\subsection{Elements}
600\begin{itemize}
601\item \kw{aerodynamic elements}
602\item \kw{aeromodals}
603\item \kw{air properties}
604\item \kw{automatic structural elements}
605\item \kw{beams}
606\item \kw{bulk elements}
607\item \kw{electric bulk elements}
608\item \kw{electric elements}
609\item \kw{external elements}
610\item \kw{forces}
611\item \kw{genels}
612\item \kw{gravity}
613\item \kw{hydraulic elements}
614\item \kw{joints}
615\item \kw{loadable elements}
616\item \kw{output elements}
617\item \kw{rigid bodies}
618\item \kw{induced velocity elements}
619\end{itemize}
620
621
622