Step Size and cyclic loading in each step

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • mmrahman
    Junior Member
    • Nov 2019
    • 19

    Step Size and cyclic loading in each step

    Hi,

    I am having trouble to define the time steps in a case where I will apply sinusoidal loading on a cube. I would like to simulate this for 10 days in 10 steps and therefore, divide the whole time in 10 divisions. However, each of this steps contains sinusoidal loading at 1 Hz frequency. Now, if I want to capture the sinusoidal loading, I would need a very small step size and the xplt file will be very big. Is there a way to simulate this without storing all the time points result, but only the 10 steps results?

    Thanks.
  • weiss
    Moderator
    • Nov 2007
    • 124

    #2
    You can use the "must point" feature and the "plot_level" variable in the Control Section to do this. The must point feature is used to define specific times at which a solution "must" be obtained by FEBio, regardless of the auto timestepping calculations. By defining must points at the specific times during the cyclic loading that you want the solution written, you will ensure that FEBio gives a solution at those times. Then, set the plot_level variable to "PLOT_MUST_POINTS" to only save to the plotfile at the must points.

    Both of these features are described in section 3.5.1 of the FEBio User's Manual. The must point feature is enabled by defining a load curve for the dtmax parameter, e.g. <dtmax lc="1">0.1</dtmax> (see note 4). The plot_level variable is described in note 5.

    For the must point load curve, note that it should include the first point (0,0). The x-value is the time at which you want a solution, and the y-value is the maximum timestep size that the auto timestepper will use from the time of the previous must point to the current one. If you don't want that value to vary, you can just enter the same value for all y-values.

    Best regards,

    Jeff Weiss
    Jeffrey A. Weiss
    Professor, Department of Biomedical Engineering, University of Utah
    Director, Musculoskeletal Research Laboratories
    jeff.weiss@utah.edu

    Comment

    • mmrahman
      Junior Member
      • Nov 2019
      • 19

      #3
      Thanks a lot Prof. Weiss for your reply.

      To understand properly the feature of "dtmax lc", I simulated the bp17.feb verfiy input file with the given <dtmax lc="1"></dtmax> option. However, I also simulated the same input file with <dtmax lc="1">0.1</dtmax> and could not notice any difference in the result or time stepping. Could you please help me to understand, what changes does 0.1 here make in the time stepping?

      Thank you.

      Kind regards,
      Muhammed

      Comment

      • maas
        Lead Code Developer
        • Nov 2007
        • 3400

        #4
        Hi Muhammed,

        When you use a load curve on the dtmax variable, its value is effectively ignored. The value of the max time step size is now taken from the must point load curve.

        Cheers,

        Steve
        Department of Bioengineering, University of Utah
        Scientific Computing and Imaging institute, University of Utah

        Comment

        • weiss
          Moderator
          • Nov 2007
          • 124

          #5
          Originally posted by mmrahman View Post
          Thanks a lot Prof. Weiss for your reply.

          To understand properly the feature of "dtmax lc", I simulated the bp17.feb verfiy input file with the given <dtmax lc="1"></dtmax> option. However, I also simulated the same input file with <dtmax lc="1">0.1</dtmax> and could not notice any difference in the result or time stepping. Could you please help me to understand, what changes does 0.1 here make in the time stepping?

          Thank you.

          Kind regards,
          Muhammed
          The "lc=1" refers to a load curve that defines the must points. bp17.feb already has two load curves defined, so you will want to use "lc=3" and then you need to define load curve number three as described in my previous post and the FEBio User's Manual. As Steve said, FEBio is expecting the dtmax parameter and the must points to be defined via a load curve, so it will ignore the 0.1.

          Best regards,

          Jeff Weiss
          Jeffrey A. Weiss
          Professor, Department of Biomedical Engineering, University of Utah
          Director, Musculoskeletal Research Laboratories
          jeff.weiss@utah.edu

          Comment

          Working...
          X
          😀
          😂
          🥰
          😘
          🤢
          😎
          😞
          😡
          👍
          👎