TransientAnalysis

Solve time-dependent response using multiple time steps with options for implicit or explicit time integration.

Fields

  • end_time: Float, default = 0.0

    The final time of the simulation. The simulation starts at time equal to zero and advances until the time

    reaches the specified value end_time. In general, the time step will adapt in between depending on the

    initial and/or transient boundary conditions. The end time will be reached exactly (i.e. the solution will

    not overshoot on time). Either end_time (recommended) or both time_step and num_time_steps need to be given.

  • time_step: Float, default = 0.0

    User-specified initial timestep. If no end_time is explicitly given, it is computed as the product of time_step and num_time_steps.

    For implicit time-integration time_step is the initial timestep, but it can be changed as needed in order to minimize the error and the overal computational cost of the simulation.

    For explicit time-integration the timestep is automatically computed if time_step is omitted.

  • num_time_steps: Integer, default = 0

    Number of time steps to run the solution. This value is used only if end_time is not given, as only as a mean

    to estimate end_time as the product of time_step and num_time_steps.

  • max_dt: Float, default = 0.0

    If a max_dt is given, the time step will never be larger than the specified value.

  • min_dt: Float, default = 0.0

    If a min_dt is given, the time step will never be smaller than the specified value.

  • max_num_time_steps: Integer, default = 5000

    Maximum number of time steps to prevent a simulation running excessively long if the timestep drops a lot.

  • time_integration_type: TimeIntegrationType, default = NONE

  • time_integration: TimeIntegrationType, default = NONE

    Options for time integration.

  • adaptive_time_step: Bool, default = false

    Flag to enable adaptive time-stepping.

    • true: Enable adaptive time-stepping.

    • false: Used fixed time step.

  • adaptive_time_step_type: AdaptiveTimeStepType, default = basic

    Type of the adaptive time step to be used. Two types are supported for now

    • 'CFL': Uses a Courant–Friedrichs–Lewy condition to compute the adaptive time step

    • 'Basic': Uses the basic algorithm in PETSc to compute an adaptive time step. This is the default option

  • cfl: Float, default = 0.0

    CFL factor, i.e. the fraction of the internally-computed stable timestep to use in computing the actual timestep if the adaptive time step type is cfl.

    This is only used for the implicit part of the code.

  • per_timestep_tssolve: Bool, default = false

    Internal flag to either make a on call to TSSolve() for each time step (true) or a single call to PETSc's TSSolve() (false, default).

  • nonlinear_solver: NonlinearSolver, default = {}

    Options for the non-linear solver.

  • line_search: LineSearch, default = {}

    Options for the line search method.