# How to include damping in the second step of a two-step simulation (static → dynamic)?

**URL:** <https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732>\
**Category:** Uncategorized\
**Created:** [May 7, 2025, 4:08pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732 "2025-05-07T16:08:34Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 7, 2025, 4:08pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/1 "2025-05-07T16:08:34Z")

</div>

Dear all,

I’m running a two-step simulation in CalculiX, where:

- The **first step** is a _static_ step (using `*STATIC`), to establish initial deformation for boundary conditions.
- The **second step** is a _dynamic_ step (using `*DYNAMIC`), where I want to include damping effects.

I understand that damping (e.g., Rayleigh damping via `*DAMPING, ALPHA=..., BETA=...`) must be defined **before any `*STEP` keyword** , and that `*DAMPING` is not effective in a static step. However, when I try to define `*DAMPING` in the second step, I get the error:

```auto
*ERROR reading *DAMPING: *DAMPING should be placed before all step definitions

```

So my question is:

> **How can I properly define damping so that it is active only during the second (dynamic) step, while still using a static first step?**

Or more generally:

> **Is it possible in CalculiX to apply damping only in a specific step (e.g., dynamic), but not in the earlier static step?**

Any suggestions or workarounds would be greatly appreciated!

Best regards,  
Yang

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [May 7, 2025, 4:47pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/2 "2025-05-07T16:47:37Z")

</div>

> [@yhuang94](#):
>
> However, when I try to define `*DAMPING` in the second step, I get the error:
> 
> ```auto
> *ERROR reading *DAMPING: *DAMPING should be placed before all step definitions
> 
> ```

What if you define it on the model level (before any step definitions) ?

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 7, 2025, 8:26pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/3 "2025-05-07T20:26:20Z")

</div>

Thank you for the reply.

Yes, I did try defining \*DAMPING at the model level, before any \*STEP definitions. The simulation runs without errors, but based on the output (e.g., .dat file), it seems that damping is not actually applied in either step.

My guess is that since the first step is a \*STATIC analysis, damping is naturally ignored because no velocity is involved. However, in the second \*DYNAMIC step, which starts from a restart (continuing from the end of the static step), damping still doesn’t seem to be active—even though it was defined globally at the beginning of the file.

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 7, 2025, 11:34pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/4 "2025-05-07T23:34:24Z")

</div>

As a follow-up, I tried switching the first step from `*STATIC` to `*DYNAMIC` in order to enable damping from the very beginning. This indeed allows damping to be considered in the second step, as expected.

However, I encountered a new issue:  
In the first step, I need to **stretch a flexible membrane to three times its original diameter**. When this step is modeled using `*DYNAMIC` (instead of `*STATIC`), the simulation consistently **diverges** , likely due to the large deformation involved.

I’ve attached the input file for this two-step simulation, where:

- [step1.inp](https://1drv.ms/u/c/4bb947b94ca3b207/ESR7SzSqAoNDpQFry_YT82wBEeQiBZStbxQz9hXSRUUTZw?e=lcdDUR): static or dynamic stretching of the membrane ([boundary.inp](https://1drv.ms/u/c/4bb947b94ca3b207/ERyFVLG3njlEhSJn3D9KldcB6QPuo3uAHYuStWMzBrTQWQ?e=5NP6w0))
- [step2.inp](https://1drv.ms/u/c/4bb947b94ca3b207/EepdPJ7PBoRIsSAZ02WLn6UBO0PU2bUPgpBgagIw_YStew?e=SYhHK2): transient dynamic response with damping enabled

If there is any way to stabilize this large-deformation process using `*DYNAMIC`—such as reducing the time step, adding artificial damping, or any other settings—I would be very grateful for your suggestions or insights.

My ultimate goal is to **include damping in step 2** , by whatever means necessary. This step will later be part of an FSI simulation, which must use solid elements due to coupling code limitation. Without damping, the FSI coupling becomes highly unstable and tends to diverge easily. This is why incorporating damping is essential for my case.

Thank you in advance for your time and help!

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [May 8, 2025, 2:17am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/5 "2025-05-08T02:17:55Z")

</div>

> [@yhuang94](#):
>
> [step1.inp](https://1drv.ms/u/c/4bb947b94ca3b207/ESR7SzSqAoNDpQFry_YT82wBEeQiBZStbxQz9hXSRUUTZw?e=lcdDUR): static or dynamic stretching of the membrane

Where is the include `*INCLUDE,INPUT=solid/boundary.inp`?

If you are including `*DAMPING` the manual states

> For explicit dynamic calculations without massless contact (i.e. there is no card of the type \*CONTACT PAIR,TYPE=MASSLESS in the input deck) only mass proportional damping is allowed, i.e. β must be zero.

but you have `BETA = 0.1`;

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 8, 2025, 10:16am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/6 "2025-05-08T10:16:13Z")

</div>

Thank you very much for your feedback, and apologies for forgetting to include `boundary.inp`. Please find the file at the [link](https://1drv.ms/u/c/4bb947b94ca3b207/ERyFVLG3njlEhSJn3D9KldcB6QPuo3uAHYuStWMzBrTQWQ?e=5NP6w0).

As for the damping issue, I believe the current setup is not an explicit dynamic calculation. I’ve just tried setting `BETA=0` as well as using `STRUCTURAL DAMPING`, but unfortunately, in this two-step simulation (`*STATIC` → `*DYNAMIC`), damping still doesn’t seem to take effect.

I’d appreciate any thoughts or suggestions you might have on how to make damping work properly in this type of setup.

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 8, 2025, 12:59pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/7 "2025-05-08T12:59:27Z")

</div>

As an additional note:

Since my ultimate goal is to include **damping in step 2** , using a `*STATIC` step at the beginning is not strictly necessary, it was mainly chosen to help stabilize the initial deformation. However, if CalculiX currently **does not support** damping in a two-step simulation where the first step is `*STATIC` and the second is `*DYNAMIC`, then using `*DYNAMIC` for step 1 seems to be the only viable solution I can think of at the moment.

The main issue now is **how to stabilize step 1**. In this step, I need to stretch a flexible membrane to **three times its original diameter**. I’ve already tried refining the mesh, reducing the time step size, and applying damping, but the simulation still diverges in all cases.

Do you have any further suggestions or techniques that might help improve the stability of this large-deformation `*DYNAMIC` step?

Just to clarify, due to FSI code limitations, I’m currently unable to use shell or 2D elements, the membrane must be modeled using **3D solid elements**.

Any advice would be greatly appreciated!

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [May 8, 2025, 1:07pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/8 "2025-05-08T13:07:21Z")

</div>

> [@yhuang94](#):
>
> I’ve already tried refining the mesh, reducing the time step size, and applying damping, but the simulation still diverges in all cases.

Can you pick a result and share the input file to reproduce?

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 8, 2025, 1:20pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/9 "2025-05-08T13:20:36Z")

</div>

Thank you very much for your reply.  
Please find the attached files needed to reproduce the case.  
The main file is [step1.inp](https://1drv.ms/u/c/4bb947b94ca3b207/ESR7SzSqAoNDpQFry_YT82wBEeQiBZStbxQz9hXSRUUTZw?e=QPiEIM), and it also requires [boundary.inp](https://1drv.ms/u/c/4bb947b94ca3b207/ERyFVLG3njlEhSJn3D9KldcB6QPuo3uAHYuStWMzBrTQWQ?e=NyvxiT) to run properly.

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 8, 2025, 1:36pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/10 "2025-05-08T13:36:52Z")

</div>

Below are the results from step 1 using a static calculation.  
 ![step1](https://global.discourse-cdn.com/free1/uploads/calculix/original/2X/d/d0e2e5f4e53b3d2f3789c1da54eb87bb50116fe5.gif)

However, when I switch to a dynamic calculation for step 1, the simulation consistently diverges.

 ![step1-error](https://global.discourse-cdn.com/free1/uploads/calculix/original/2X/3/3348e103d587f84ca61914b36f7d394a73bc6d7d.png)

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 8, 2025, 2:12pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/11 "2025-05-08T14:12:41Z")

</div>

**Follow-up update:**

[step1-new.inp](https://strath-my.sharepoint.com/:u:/g/personal/y_huang_strath_ac_uk/EQpFCSMEN3xGoMmBs65WQJIBa2hSW8Khr9hdDknZ5Fhmyw?e=MYgK3Y)  
[step2-new.inp](https://strath-my.sharepoint.com/:u:/g/personal/y_huang_strath_ac_uk/Ed7tDHnqanhAur_oZak8Un4BO2YJWOpw1NKFv2iaBdzv_g?e=Pze2tm)

I just ran a new test where **step 1 is calculated using `*DYNAMIC` with damping defined at the model level**. The output log confirms that damping is active and doing work during step 1, as expected.

In step 2, I continued with another `*DYNAMIC` step using `*RESTART,READ`, without redefining damping (as it’s not allowed after any `*STEP`). Surprisingly, in step 2, **damping appears to have no effect** —the work done by damping remains zero throughout the simulation. This suggests that **even if damping is active in step 1, it is somehow ignored in step 2 if the step is restarted**.

Given that we cannot redefine `*DAMPING` in step 2, this behavior makes it effectively impossible to apply damping in a restarted `*DYNAMIC` step.

Has anyone else encountered this behavior? Any workarounds or insights would be much appreciated.

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 8, 2025, 4:43pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/12 "2025-05-08T16:43:05Z")

</div>

**Further update:**

Based on the series of tests I’ve conducted, I’ve come to the following observation:

For version ccx-2.15, **damping is always ignored in a restarted step (step 2), regardless of whether `*DAMPING` is defined at the top level**, and regardless of whether step 1 is `*STATIC` or `*DYNAMIC`.

In other words, **as soon as `*RESTART,READ` is used, damping appears to be deactivated**. The log shows that the work done by damping remains zero throughout step 2, even though damping was correctly activated in step 1.

To work around this issue, a temporary solution would be to **manually modify the main source code to include damping parameters and control variables directly within the dynamic solver** , so that damping is enforced in restarted steps.

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [May 8, 2025, 7:21pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/13 "2025-05-08T19:21:37Z")

</div>

> [@yhuang94](#):
>
> In the current version of CalculiX (ccx-2.15),

This is not the ‘current’ version of ccx. Latest is 2.22-dev on GitHub or latest 2.22 from the main website.

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 8, 2025, 7:38pm UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/14 "2025-05-08T19:38:05Z")

</div>

Thank you very much for the correction! I’ve now updated the information in the post above.

> [@jbr](#):
>
> Latest is 2.22-dev on GitHub

By the way, may I ask if the latest version (2.22-dev) addresses this issue? If it has already been resolved, that would be excellent news!

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [May 9, 2025, 2:08am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/15 "2025-05-09T02:08:04Z")

</div>

> [@yhuang94](#):
>
> may I ask if the latest version (2.22-dev) addresses this issue?

I have not tested your input files. The first step for you would be to test it with at least the 2.22 version.

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [May 9, 2025, 8:41am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/16 "2025-05-09T08:41:37Z")

</div>

How do you check if damping is active in a step ? I submitted your last shared input files using ccx 2.22 and got work performed by the damping forces at the level of e-11 in final increments of both steps.

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 9, 2025, 9:52am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/17 "2025-05-09T09:52:11Z")

</div>

> [@Calc\_em](#):
>
> How do you check if damping is active in a step ?

Same as you. I check whether work performed by the damping force is zero.

By the way, in the latest version, is damping properly accounted for in a two-step setup (static → dynamic)?

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [May 9, 2025, 10:09am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/18 "2025-05-09T10:09:13Z")

</div>

> [@yhuang94](#):
>
> By the way, in the latest version, is damping properly accounted for in a two-step setup (static → dynamic)?

If I replace \*DYNAMIC with \*STATIC in your first .inp file and extend it with content from the second .inp file (apart from \*RESTART, READ of course), I still get damping work on the level of e-11. For example, the last entry is:

` work performed by the damping forces = -2.474714e-11`

---

<div class="post-metadata">

**Author:** ![yhuang94](https://avatars.discourse-cdn.com/v4/letter/y/e5b9ba/32.png) [@yhuang94](https://calculix.discourse.group/u/yhuang94)\
**Post date:** [May 9, 2025, 10:48am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/19 "2025-05-09T10:48:42Z")

</div>

That’s great to hear. The latest version resolves this issue perfectly.

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [May 9, 2025, 10:54am UTC](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732/20 "2025-05-09T10:54:14Z")

</div>

So what values did you have in previous version ? Exact zeros ?

[Next page](https://calculix.discourse.group/t/how-to-include-damping-in-the-second-step-of-a-two-step-simulation-static-dynamic/2732.md?page=2)
