****calcul#

Description#

This command marks the beginning of a FEM calculation definition. The Z-set program in FEM mode will search this command and interpret all the sub-commands until the termination token ****return is reached. A keyword following the ****calcul token will indicate the type of calculation which is to be made.

Syntax#

The calculation will be defined using the following syntax:

****calcul [ type ] \(~\,~\,\) options ****return

The calculation types which are possible are listed below:

Type

Description

mechanical

static mechanical (no inertial effects)

eigen

eigen frequency analysis

dynamic

mechanical with inertial effects (implicit)

explicit mechanical

explicit solver for structural dynamics

thermal steady state

stationary thermal calculation

thermal transient

transient thermal calculation

diffusion

Ficks Law diffusion analysis with multiple phases

weak_coupling

Generalized coupled analysis

In the absence of a type, the default will be mechanical.

The basic components of the allowable input data after ****calcul are summarized below 1More options may exist. Later versions of the code output all available command names with the -H switch.:

CODE

Description

***mesh

used to specify the types of elements in a mesh, or give an alternate geometry file name.

***restart

requests that the calculation be continued from a previous stored result.

***resolution

used to declare the solution procedures including the loading sequences.

***equation

declare relationships between entities (multi-point constraints) within the calculation.

***impose_kinematic

imposes a geometrical evolution for problems which do not have displacement variables but do have an integration volume which changes (thermal, diffusion).

***sub problem

used to define a sub-problem in the sequential weak coupling algorithm; may be post calculations or re-meshing operations as well.

***parameter

allows specification of externally calculated (given) parameters which may be used to alter the material characteristics during the calculation.

***contact

defines surfaces of possible contact and the method of enforcement in the event there is contact.

***bc

specify both the geometrical and force boundary conditions.

***table

specify the tabular loading magnitudes for parameters and boundary conditions.

***function

specify functional loading magnitudes for parameters and boundary conditions in terms of the time.

***material

gives the information for material files as attached to element sets, local integration methods, material rotations, and initial variable values.

***output

used to specify the desired output from the analysis; multiple output sections can be given to optimize the solution storage.

****calcul dynamic#

Description#

This option of the ****calcul command indicates that dynamic effects should be taken into account. The solution procedure is either an implicit d-form of the Newmark time integration scheme or the \(\alpha\)-method form Hilber, Hughes and Taylor. These methods are compatible with all mechanical element formulations. Most of the following explanations can be found in [U3] and [U4].
The semi-discrete equation of motion (discretized in space, continuous in time) is written as:
(7)#\[\begin{aligned} % \bf R^i = \bf F_{ext} + \bf F_{cont} - \bf F^i_{int} - \bf M{\rm d}ot{\bf q} % \bf M{\rm d}ot{\bf d(t)} + \bf F_{damp}(\dot{\bf d(t)}) + \bf F_{int}(\bf d(t)) &=& \bf F_{ext}(t) \bf M{\bf a(t)} + \bf F_{damp}({\bf v(t)}) + \bf F_{int}(\bf d(t)) &=& \bf F_{ext}(t) \end{aligned}\]

where \(\bf d(t)\), \(\bf v(t)=\dot{\bf d}(t)\) and \(\bf a(t)=\dot{\bf v}(t)\) are the vectors of nodal displacement, velocity and acceleration respectively. \(\bf M\) is the mass matrix and \(\bf F_{damp}\) and \(\bf F_{ext}(t)\) are the nodal vectors of damping and external forces respectively. The following initial conditions hold:

(8)#\[\begin{split}\begin{aligned} \bf d (0)&=&\bf d_0\\ {\bf v}(0)&=&\bf v_0 \end{aligned}\end{split}\]

The linear (or linearized) form of Eq. (7) reads:

(9)#\[ \begin{aligned} \bf M{\rm d}ot{\bf d} + \bf C(\dot{\bf d}) + \bf K(\bf d) &=& \bf F_{ext} \end{aligned}\]

where \(\bf C\) and \(\bf K\) are the damping and rigidity (or tangential rigidity) matrices respectively.

Newmark schemes#

The methods of the Newmark family consist in discretizing Eq. (9) in time in the following way:

(10)#\[\begin{split} \begin{aligned} \bf M\bf a^{t+\Delta t} + \bf C \bf v^{t+\Delta t} + \bf K \bf d^{t+\Delta t} &=& \bf F_{ext}^{t+\Delta t} \\ \bf d^{t+\Delta t}&=&\widetilde{\bf d}^{t+\Delta t} + {\Delta t}^2 \beta \bf a^{t+\Delta t} \\ \bf v^{t+\Delta t}&=&\widetilde{\bf v}^{t+\Delta t} + {\Delta t} \gamma \bf a^{t+\Delta t} \end{aligned}\end{split}\]
where the predictors (known from the previous increment)

\(\widetilde{\bf d}^{t+\Delta t}\) and \(\widetilde{\bf v}^{t+\Delta t}\) are defined by:

(11)#\[\begin{split} \begin{aligned} \widetilde{\bf d}^{t+\Delta t}&=&\bf d^t +{\Delta t} \bf v^t+\frac{{\Delta t}^2}{2} \left( 1-2 \beta \right) \bf a^t\\ \widetilde{\bf v}^{t+\Delta t}&=&\bf v^t + {\Delta t} \left( 1 - \gamma \right) \bf a^t \end{aligned}\end{split}\]

\(\bf d^t\), \(\bf v^t\) and \(\bf a^t\) are approximations of \(\bf d(t)\), \(\dot{\bf d}(t)\) and \({\rm d}ot{\bf d}(t)\) respectively. Parameters \(\beta\) and \(\gamma\) determine the stability and accuracy of the algorithm. | There are several possible implementations of the Newmark algorithm. The one used in Z-set is the d-form, meaning that the equations are solved in terms of \(\bf d\) (i.e. not in terms of \(\bf a\) or \(\bf v\)). The linear system to solve then reads:

(12)#\[\left( \frac{1}{\beta{\Delta t}^2}\bf M + \frac{\gamma}{\beta {\Delta t}} \bf C +K \right) \bf d^{t+\Delta t} = \bf F_{ext}^{t+\Delta t} + \left(\frac{1}{\beta{\Delta t}^2}\bf M + \frac{\gamma}{\beta {\Delta t}} \bf C\right) \widetilde{\bf d}^{t+\Delta t} - C \widetilde{\bf v}^{t+\Delta t}\]

Note that the choice \(\beta=0\) (corresponding to the explicit Newmark algorithm if \(\bf M\) and \(\bf C\) are diagonal) is not suitable for the d-form.

\(\alpha\)-method (HHT)#

The \(\alpha\)-method introduced by Hilber, Hughes and Taylor owns to a more general class of integration schemes called linear multisteps methods (LMS). The \(\alpha\)-method is only slightly different from the Newmark one: the update equations (10)-(11) are conserved, the difference lies in the time-discrete equation which now reads:

(13)#\[\bf M\bf a^{t+\Delta t} + (1-\alpha) \bf C \bf v^{t+\Delta t} +\alpha \bf C \bf v^t + (1-\alpha) \bf K \bf d^{t+\Delta t} + \alpha \bf K \bf d^t = (1-\alpha) \bf F_{ext}^{t+\Delta t} + \alpha \bf F_{ext}^t\]

By setting \(\alpha=0\), the Newmark family of time integration methods is recovered. The \(\alpha\)-method is usually used with the following set of parameters:

(14)#\[\gamma=\frac{1}{2}+\alpha \qquad \beta=\frac{(1+\alpha)^2}{4} \qquad \alpha\in\left[0,\frac{1}{3}\right]\]

The reasons of this choice will be explained in the following section.

Linear problems#

For linear problems, the behaviors of the Newmark and \(\alpha\)-methods are well known. To select the appropriate set of parameters \((\alpha,\beta,\gamma)\), three points are of particular importance:

  • stability (conditional or unconditional)

  • order of convergence

  • controllable algorithmic dissipation of the high-frequency modes

The last attribute if often desirable in structural dynamics problems. High-frequency modes are poorly approximated by the spatial finite element discretization. By employing algorithms with high-frequency dissipation, spurious high-frequency response is damped out. Properties of some classical methods are summarized in Table 1. Generally, the stability condition reads:

(15)#\[\begin{split}\begin{aligned} \text{unconditional}& \displaystyle \qquad 2\beta \geq\gamma\geq\frac{1}{2}\\ \text{conditional}& \displaystyle \qquad \gamma\geq\frac{1}{2},\quad \beta<\frac{\gamma}{2} \quad \Rightarrow \quad \omega^h{\Delta t}\leq\Omega_\text{crit}\end{aligned}\end{split}\]

Where \(\omega^h\) corresponds to the highest pulsation of the spatially discretized problem (\(h\) is related to the spatial discretization, i.e. to the size of the finite elements) and \(\Omega_\text{crit}\) depends on the physical damping parameter. It can be shown that \(\omega^h\) is bounded by the maximum element pulsation \(\omega^h\leq\omega^h_e\) which increases when \(h\) decreases. As a consequence, for conditional stability, the critical time step decreases with decreasing element size. Moreover, selecting \(\gamma=\frac{1}{2}\) ensures a second order accuracy but adds no damping of high-frequency modes. Selecting \(\gamma>\frac{1}{2}=\frac{1}{2}+\alpha\) allows artificial (purely numerical) damping of spurious high frequency modes. This damping is maximized for \(\beta=\frac{(1+\alpha)^2}{4}\). Within the Newmark framework, this choice leads to a first-order accuracy whereas a second-order accuracy is achieved with the \(\alpha\)-method, and this is the main advantage of the \(\alpha\)-method compared to the Newmark one. Note that damping is proportional to \(\alpha\) and that low-frequency modes are affected more strongly for higher values of \(\alpha\).

Table 1 Properties of some classical methods for linear dynamics. Stability conditions are given for physically undamped problems.#

Method

\(\beta\)

\(\gamma\)

Stability condition

Order of accuracy

Note

Central difference

\(0\)

\(\frac{1}{2}\)

\(\omega^h \Delta t\leq 2\)

2

Not suitable for the d-form

Linear acceleration

\(\frac{1}{6}\)

\(\frac{1}{2}\)

\(\omega^h\Delta t\leq 2\sqrt{3}\)

2

No HF damping

Fox-Goodwin

\(\frac{1}{2 }\)

\(\frac{1}{2}\)

\(\omega^h\Delta t\leq \sqrt{6}\)

2

No HF damping

Average acceleration (trapezoidal rule)

\(\frac{1}{4}\)

\(\frac{1}{2}\)

Unconditional

2

No HF damping

Newmark modified average acceleration (\(\alpha>0\))

\(\frac{(1+\alpha)^2}{4}\)

\(\frac{1}{2}+\alpha\)

Unconditional

1

HF damping proportional to \(\alpha\)

\(\alpha\)-method (\(\alpha>0\))

\(\frac{(1+\alpha)^2}{4}\)

\(\frac{1}{2}+\alpha\)

Unconditional

2

HF damping proportional to \(\alpha\)

Nonlinear problems#

The notion of stability and accuracy developed for linear dynamics are not sufficient for nonlinear problems. The use of the previous rules does not guarantee stability.

Syntax#

Dynamic calculations accept a subset of the ****-level commands, with an additional ***init_velocity command used to specify initial velocity conditions. The dynamics specific commands are found in the following table:

Commands

Description

***resolution

same as for the static case with specification of the time integration scheme parameters \(\alpha\), \(\beta\) and \(\gamma\) within the sequence definition (see **sequence)

***init velocity

set up initial velocities

The command ***init_velocity has the following syntax:

***init_velocity

\(~\,~\,~\,\) dof_name elset elset_name  value

By default, the initial velocity is set up to 0 everywhere.
The selection of the integration scheme (Newmark or \(\alpha\)-method) and the parameter definition can be done within the **sequence block (see page ) through optional commands *alpha, *beta and *gamma. All other **sequence sub-commands are available and remain unchanged.

**sequence [ N ] [ *alpha val1 [ val2, valN ] ] [ *beta val1 [ val2, valN ] ] [ *gamma val1 [ val2, valN ] ]

These commands can be used with the following increasing level of description:

  • none of these command is used. The \(\alpha\)-method is selected with \(\alpha=0.05\), \(\beta=\frac{(1+\alpha)^2}{4}\) and \(\gamma=\frac{1}{2}+\alpha\).

  • only *alpha is used. This selects the coefficients of the \(\alpha\)-method with \(\beta=\frac{(1+\alpha)^2}{4}\) and \(\gamma=\frac{1}{2}+\alpha\).

  • only *alpha and *gamma are used. This selects the coefficients of the \(\alpha\)-method with \(\beta=\frac{(\frac{1}{2}+\gamma)^2}{4}\).

  • *alpha, *beta and *gamma are used. The three parameters are defined independently.

To select the Newmark integration scheme, \(\alpha\) must be set to \(0\). Due to its unconditional stability and good convergence rate, it is recommended using the \(\alpha\)-method in accordance with relations in (14), even for non-linear problems.

Example#

An example implicit dynamic calculation follows. In the first sequence a Newmark average acceleration scheme is selected. In the second one, an \(\alpha\)-method with \(\alpha=0.1\) has been chosen. Initial velocity of nset INIT1 is set up to 0.1. Note the expiring boundary condition to move and then release a load point.

****calcul dynamic
 ***mesh updated_lagrangian_plane_strain
 ***resolution
  **sequence
   *dtime        1.0 1.0
   *increment    10  10
   *alpha        0.  0.1
   *ratio absolu 1.e-6
   *algorithm    p1p2p3
 ***bc
  **impose_nodal_dof
      wall      U2   0.0
      wall      U1   0.0
      load  exp U2  -1.0 tab
 ***table
  **name tab
   *time    0.0   1.
   *value   0.0   1.
 ***init_velocity
    U1 elset INIT1 0.1
 ***output
  **curve dynam_ul.test
   *node_var 6 U2
 ***material
   *file  ../MAT/dynam_ul
****return

****calcul mechanical_explicit#

Description#

This option of the ****calcul command is used to activate the explicit solver. Such a solver can be used to model and capture short time scale phenomena such as waves propagation. Explicit solvers can although be used for rough problems like crash, impact or metal sheet forming where contact occurs on large surfaces (contact is very rough from a computational point of view).

Central difference explicit schemes#

The central difference explicit scheme can be derived from the Newmark integration scheme in (10)-(11) of the ****calcul dynamic section) with \(\beta=0\) and \(\gamma=0.5\). The a-form of the integration scheme then reads:

(16)#\[\left( \bf M + \frac{{\Delta t}}{2} \bf C \right) \bf a^{t+\Delta t} = \bf F_{ext}^{t+\Delta t} - \bf C \bf v^{t+\Delta t}d - K \bf d^{t+\Delta t}\]

with

(17)#\[ \bf v^{t+\Delta t}d = \frac{1}{\Delta t} \left( \bf d^{t+\Delta t} - \bf d^t \right)\]

The following expression follows from equations (10) b-(11)b

(18)#\[ \bf a^t = \frac{1}{\Delta t^2} \left( \bf d^{t+\Delta t} - 2\bf d^t + \bf d^{t-{\Delta t}}\right) \quad \text{and} \quad \bf v^{t+\Delta t}d = \bf v^{t-{\Delta t}/2} + \Delta t \bf a^t\]

hence the name “central difference” scheme. Note that \(\bf d^{t+\Delta t}\) and \(\bf v^{t+\Delta t}d\) are known from the previous step at time \(t\) (equations (17) and (18)) so that the right hand side of (16) is known.

In order to make this scheme explicit, a diagonalization of \(\bf M\) and \(\bf C\) is performed (also called a lump) so that the solution of equation (16) is trivial. Each time step is therefore solved very quickly through a simple matrix vector product and there is no linear system to solve. The basic algorithm is described below:

  1. initiate \(\bf d^0\) and \(\bf v^0\)

  2. compute \(\bf a^0=\bf M^{-1}\left( \bf F_{ext}^0 - \bf K \bf d^0 -\bf C \bf v^0 \right)\) and \(\bf v^{1/2} = \bf v^0 + \frac{\Delta t}{2} \bf a^0\)

  1. enforce velocity boundary conditions

  2. increment time from \(t-{\Delta t}\) to \(t\) and compute \(\bf d^t=\bf d^{t-{\Delta t}}+\Delta t \bf v^{t-{\Delta t}/2}\)

  1. compute \(\bf a^t=\bf M^{-1}\left( \bf F_{ext}^t - \bf K \bf d^t -\bf C \bf v^{t-{\Delta t}/2} \right)\)

  2. compute \(\bf v^{t+\Delta t}d = \bf v^{t-{\Delta t}/2} + \Delta t \bf a^t\)

  3. if computation not finished, go to step 3.

The drawback of explicit algorithms lies in the stability condition that imposes that the time step \(\Delta t\) is bounded by a critical time step \(\Delta t_{crit}\). The stability criterion for explicit central difference method reads (damping has no effect on stability):

(19)#\[\omega^h \Delta t \leq 2 \quad \Rightarrow \quad \Delta t_{crit}=2/\omega^h\]

where \(\omega^h\) is the highest natural frequency of the discretized structure. Computing \(\omega^h\) is very expensive since it requires solving a large eigen values system. It can be shown that \(\omega^h\) is bounded by the maximum frequency of individual elements:

(20)#\[\omega^h < \omega^h_{el}\]

Let us take the example of a linear beam element with stiffness \(\bf K\) and lumped mass matrix \(\bf M\) such that:

(21)#\[\begin{split}\bf K=\frac{ES}{h}\left( \begin{array}{cc} 1&-1\\-1&1\end{array}\right)\qquad \bf M=\frac{\rho h S}{2}\left( \begin{array}{cc} 1&0\\0&1\end{array}\right)\end{split}\]

where \(h\), \(S\), \(E\) and \(\rho\) are the element length, section, Young’s modulus and mass density respectively. The non-zero solution of the eigen value problem \(K-{\omega^h_{el}}^2M\) leads to \(\omega^h_{el}=2/h\sqrt{E/\rho}=2c/h\) where \(c\) is the wave speed. The critical time step can therefore be written:

(22)#\[\Delta t_{crit}=h/c\]

This corresponds to the time for the wave to go through the element. This interpretation can be verified for every kind of finite element. In practice, this last remark is used in Z-set  to evaluate \(\Delta t_{crit}\). The characteristic size of the element is taken as the minimum distance between two nodes of the element. The wave speed is taken to be the longitudinal wave speed (the fastest one) which reads :

(23)#\[c_L=\sqrt{\frac{\lambda+2G}{\rho}}\]

where \(\lambda\) and \(G\) are the Lamé coefficients. An important property of finite elements applied to hyperbolic problems is that \(\Delta t_{crit}\) is \(O(h)\) whereas it is \(O(h^{2})\) for parabolic problems. This makes explicit methods difficult to apply to parabolic problems such as heat conduction or diffusion in general. It is important to note that the critical time step is governed by the size of the smallest element in the mesh. If there is only one spurious small element (due to a bad meshing for instance), the computational cost would increase.

Explicit algorithms are very interesting in the sense that no linear system need to be solved. However, a major limitation lies in the \(O(h)\) critical time step. Explicit methods are therefore well suited to model problems where small time steps are imposed by the physics. If there is no need for small time steps, implicit methods may be economically competitive.

Non linear problems#

Extension to non-linear problems is direct and equation (16) is replaced by:

(24)#\[\left( \bf M + {\Delta t} \bf C \right) \bf a^{t+\Delta t} = \bf F_{ext}^{t+\Delta t} - \bf F_{int}^{t+\Delta t}(\bf d^{t+\Delta t},\bf v^{t+\Delta t}d)\]

In the algorithm presented above, the computation of \(\bf F_{int}^{t+\Delta t}(\bf d^{t+\Delta t},\bf v^{t+\Delta t}d)\) is performed between steps 3 and 5.

The stability condition (19) emanates from an analysis of linear equations. At this time, there is no stability theorem that covers the range of nonlinear phenomena such as contact-impact. Instability cannot be overlooked in linear problems since the solution tends to grow exponentially. However, this is not always true for nonlinear equations. A good way to detect instabilities is to check the energy balance and make sure that no spurious energy is created. The default stability criterion used in Z-set is defined as:

(25)#\[ |W_\text{kin}+W_\text{int}+W_\text{dmp}-W_\text{ext}| \leq \varepsilon \max\left(W_\text{kin},W_\text{int},W_\text{ext}\right)\]

where \(W_\text{kin}\) is the kinematic energy, \(W_\text{int}\) and \(W_\text{ext}\) are works done by internal and external forces respectively, and \(W_\text{dmp}\) is the energy dissipated by damping. An absolute criterion can also be used :

(26)#\[|W_\text{kin}+W_\text{int}+W_\text{dmp}-W_\text{ext}| \leq \varepsilon\]

\(\varepsilon\) is a small value defined with the **sequence *ratio command. The absolute criterion is selected by using the absolute option (see below). If the energy balance is not verified, the sub-step is recomputed with half time step.

Syntax#

The resolution procedure is specified by the usual way using the ***resolution command. Specific commands are therefore added to control some parameters. Here are the different options available within the resolution block:

***resolution \(~\,\) **sequence [ N ] \(~\,\) [ *ratio [ absolute ] val1 [ val2 … valN ] ] \(~\,\) [ *beta val1 [ val2 … valN ] ] \(~\,\) [ *fixed_dt val1 [ val2 … valN ] ] \(~\,\) [ *max_dt val1 [ val2 … valN ] ] \(~\,\) [ *min_dt val1 [ val2 … valN ] ] \(~\,\) [ *damping val1 [ val2 … valN ] ] \(~\,\) [ *max_successive val1 [ val2 … valN ] ] [ **show_gauge]

**sequence has the same syntax as in ****calcul (see sequence) with additional commands. Note that the time stepping is not defined by the number of increments set in **sequence but is either automatically computed by Z-set  (by default) or explicitly specified using *fixed_dt. If the time increment is larger than the algorithm time step, sub-stepping occurs. The number of sub-steps performed within each sequence increment is displayed in the standard output.

*ratio [absolute] value

defines \(\varepsilon\) in (25) (or in (26) if the keyword absolute is used).

*beta value

If the critical time step is computed by Z-set, the effective time step is taken to be \(\Delta t_{crit}\times\) value. Values between \(0.8\) (default) and \(0.9\) are usual.

*fixed_dt value

specifies the time step to use. This value is not affected by *beta.

*max_dt value

specifies the upper bound of the time step

*min_dt value

specifies the lower bound of the time step. If the time step is lower than value, an error message is sent and the computation is stopped.

*damping value

add constant diagonal components in the damping matrix \(\bf C\). This command is similar to the command ***explicit **damp (see below).

*max_successive value

specifies that if the energy balance is not verified after value successive sub-steps (dividing each successive time step by \(2\)), Z-set will stop and send an error message. The default value is set to \(50\) which is a relatively large value.

**show_gauge

allows to display the sub-stepping evolution within an increment. A percent value is displayed in the standard output. This can be useful to get an idea on how fast the computation goes when a lot of sub-steps are performed.**

Additional options are also available through the ***explicit command.

***explicit \(~\,\) **damp [ constant ] value \(~\,\) **every_update value

**damp [ constant ] value

is similar to *damping. Each **damp command is cumulative. At the moment, the only damp type is “constant” (default).

**every_update value

specifies that the critical time step is computed every value time steps. The default value is set to 20. Recomputing the critical time step is useful within a finite strain calculation, where large deformation of some elements can indeed modify \(\Delta t_{crit}\) (i.e. the time for the wave to go through the element can decrease or increase). However, this can be time consuming, please check CPU time at the end of the computation.**

Example#

An example explicit dynamic calculation follows.

****calcul explicit_mechanical
  ***mesh plane_strain

 ***resolution
  **sequence
   *time 10. 20.
   *increment 10 30
   *fixed_dt 0.05 0.01
   *ratio   1.e-2
   *max_successive 10. 20.
   *beta 0.9 0.8

  **show_gauge

 ***explicit
  **every_update 1
  **damp constant 1.e-3

 ***bc
  **impose_nodal_dof
     left        U2   0.0
     left        U1   0.0
  **pressure
     right       0.00001  echelon

 ***table
  **name  echelon
   *time    0.0 1.e-10   10000000.
   *value   0.0 1.0      1.0

 ***material
  **elset R1
   *file  dynam_unit
****return

****calcul eigen#

Description#

This option of the ****calcul command indicates that eigen value solution of the natural frequencies are to be calculated. The solution of the eigen-value problem is controlled using the command ***eigen (see eigen).

Eigen mode calculations accept a sub-set of the above commands, with an additional command ***eigen used to give parameters of the eigen problem solution. The allowable commands are found in the following table:

Commands

Description

***mesh

same as above

***eigen

give eigen solution parameters and resolution method

***equation

same as above

***bc

same as above; only fixed conditions are allowed

***material

same as above

***output

specifies what output to save at the end of an eigen solution; this is a sub-set of the above

Example#

An example file for Eigen solution follows.

****calcul eigen
 ***mesh
  **elset solid small_deformation
  **elset springs spr1
 ***eigen lanczos
    6 0.01 2.
***bc
   **impose_nodal_dof
     base   U1 0.00
     base   U2 0.00
     base   U3 0.00
 ***output
 ***material
   *file building.mat
****return

****calcul thermal_transient#

Description#

This option of the ****calcul command indicates that the problem is transient thermal analysis.

Example#

****calcul thermal_transient
  ***resolution
    **sequence
      *time   10. 8010.0
      *increment 10  100
      *iteration  50 50
      *ratio 0.01 0.01
      *algorithm p1p1p1
  ***bc
    **fluconv  exte
      h  232.5
      Te 1000.0 tab1
  ***init_dof_value
      TP uniform 20.
  ***material
      *file ../MAT/TTLL_02_89
  ***table
    **name tab1
      *time  0.    50000.
      *value 1.    1.
  ***output
    **curve
      *precision 4 *small 1.e-4
      *node_var 1 TP
      *node_var 16 TP
****return

****calcul diffusion#

This option of the ****calcul command indicates that the problem is a diffusion one, obeying Ficks law.

Command

Description

***impose_kinematic

used to allow the geometry to evolve which can be very useful for coupled analysis

****calcul weak_coupling#

Description#

The weak-coupling implementation uses an iterative approach to an arbitrary coupled problem. Any number of sub-problems are solved (thus keeping the individual systems small) with the coupling taking place through appropriate transfer of results between problems. For example, a mechanical problem can transfer internal heat generation due to mechanical dissipation to a thermal problem which calculates the resulting temperature field evolution which is re-transferred to the mechanical problem to allow coefficient alteration.

Syntax#

Some special commands are of interest for the coupled problem. These define the sub-problem files (standard .inp files), and the method of determination for convergence of the coupled problems.

***resolution

define the global time steps to be run; convergence parameters for the sub-problems are determined in their input files.

coupled_resolution

additional convergence parameters specific to the coupled solution.

sub_problem

specify a sub-problem to be added; these will be run in the order they are entered.

Example#

The following is the top level command file for the test $Z7PATH/test/Coupled_test/INP/MechTherm.inp

****calcul weak_coupling
   ***resolution
    **sequence
     *time      4.0 8.0
     *increment 10 10
     *ratio     1.e-4
   ***coupled_resolution
     **iteration 2
   ***sub_problem fem MechTherm/plastic
    **transfer integ_nodeparam
     *variable q_dot
     *file     MechTherm/heat_out
    **transfer node_kinematic
     *file     MechTherm/kine_out
   ***sub_problem fem MechTherm/thermal
    **transfer node_nodeparam
     *variable TP
     *file     MechTherm/temp_out
****return

This following section lists all three stars commands available under ****calcul. You may find an exhaustive list of these commands in the Index.