Defining fiber material for annulus fibrosus in FEBio3

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • jeff
    Junior Member
    • May 2020
    • 7

    Defining fiber material for annulus fibrosus in FEBio3

    Hi everyone,
    I hope someone could help me with the following problem:

    I would like to use the free lumbar spine model of Benjamin Ellis and his group: https://pubmed.ncbi.nlm.nih.gov/30010415/ in FEBio3.
    Apparently there is an error in the code for the definition of the fiber material, but unfortunately I cannot figure out what is wrong.

    The original code:

    <material id="18" name="L45_ANT_LAM1" type="solid mixture">
    <solid type="Holmes-Mow">
    <density>1</density>
    <E>1.0</E>
    <v>0.4</v>
    <beta>3.4</beta>
    </solid>
    <solid type="fiber-exp-pow">
    <alpha>65</alpha>
    <beta>2</beta>
    <ksi>0.296</ksi>
    <theta>0</theta>
    <phi>45</phi>
    <mat_axis type="local">1,2,4</mat_axis>
    </solid>
    <solid type="fiber-exp-pow">
    <alpha>65</alpha>
    <beta>2</beta>
    <ksi>0.296</ksi>
    <theta>0</theta>
    <phi>135</phi>
    <mat_axis type="local">1,2,4</mat_axis>
    </solid>
    </material>
    ==>And the following error occured: "Skipping unknown tag "phi" & "theta"

    This code has been changed by Dr. Maas, as followed:
    <material id="18" name="L45_ANT_LAM1" type="solid mixture">
    <solid type="Holmes-Mow">
    <density>1</density>
    <E>1.0</E>
    <v>0.4</v>
    <beta>3.4</beta>
    </solid>
    <solid type="fiber-exp-pow">
    <alpha>65</alpha>
    <beta>2</beta>
    <ksi>0.296</ksi>
    <fiber type="angles">
    <theta>0</theta>
    <phi>45</phi>
    </fiber>
    <mat_axis type="local">1,2,4</mat_axis>
    </solid>
    <solid type="fiber-exp-pow">
    <alpha>65</alpha>
    <beta>2</beta>
    <ksi>0.296</ksi>
    <fiber type="angles">
    <theta>0</theta>
    <phi>135</phi>
    </fiber>
    <mat_axis type="local">1,2,4</mat_axis>
    </solid>
    </material>

    ==>Nevertheless, the following error occured: "Skipping tag "fiber". Unknown value for attribute "type"

    What am I missing, or why it does not work?
    Thanks for your help in advance!
    Best regards
    Jeff
  • ateshian
    Developer
    • Dec 2007
    • 1821

    #2
    Hi Jeff,

    Try this instead:

    Code:
    	  <material id="1" name="L45_ANT_LAM1" type="solid mixture">
    	    <mat_axis type="local">1,2,4</mat_axis>
    	    <solid type="Holmes-Mow">
    	      <density>1</density>
    	      <E>1.0</E>
    	      <v>0.4</v>
    	      <beta>3.4</beta>
    	    </solid>
    	    <solid type="fiber-exp-pow">
    	      <alpha>65</alpha>
    	      <beta>2</beta>
    	      <ksi>0.296</ksi>
    	      <mat_axis type="angles">
    		<theta>0</theta>
    		<phi>45</phi>
    	      </mat_axis>
    	    </solid>
    	    <solid type="fiber-exp-pow">
    	      <alpha>65</alpha>
    	      <beta>2</beta>
    	      <ksi>0.296</ksi>
    	      <mat_axis type="angles">
    		<theta>0</theta>
    		<phi>135</phi>
    	      </mat_axis>
    	    </solid>
    	  </material>
    The tag <mat_axis type="local">1,2,4</mat_axis> sets the material axes for the entire mixture, then the tags <mat_axis type="angles"> set the orientation of material axes for the fiber-exp-pow materials, relative to the material axes of the entire mixture.

    Best,

    Gerard

    Comment

    • jeff
      Junior Member
      • May 2020
      • 7

      #3
      Dear Gerard,
      thank you very much for the reply an your help! I have changed it as you have suggested and I was able to load the data into FEBio Studio without an error. But I still cannot run an analysis as it shows the error "An error has occured Error=crashed"

      This is the output:
      Setting parameter "value" to : -7.5
      Setting parameter "pressure" to : 0.1
      Setting parameter "pressure" to : 0.1

      Reforming stiffness matrix: reformation #1

      ===== reforming stiffness matrix:
      Nr of equations ........................... : 110508
      Nr of nonzeroes in stiffness matrix ....... : 4130508
      1
      Nonlinear solution status: time= 0.1
      stiffness updates = 0
      right hand side evaluations = 2
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 6.277023e+01 0.000000e+00
      energy 2.461366e+00 1.357069e-01 2.461366e-02
      displacement 1.096884e+01 1.096884e+01 1.096884e-05
      2
      Nonlinear solution status: time= 0.1
      stiffness updates = 1
      right hand side evaluations = 3
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 7.706510e+03 0.000000e+00
      energy 2.461366e+00 9.985169e-02 2.461366e-02
      displacement 1.096884e+01 1.531758e+01 3.345461e-05
      3
      Nonlinear solution status: time= 0.1
      stiffness updates = 2
      right hand side evaluations = 4
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 5.992929e+02 0.000000e+00
      energy 2.461366e+00 5.790751e-03 2.461366e-02
      displacement 1.096884e+01 3.878410e+00 1.767857e-05
      4
      Nonlinear solution status: time= 0.1
      stiffness updates = 3
      right hand side evaluations = 5
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 3.737279e+01 0.000000e+00
      energy 2.461366e+00 2.573219e-03 2.461366e-02
      displacement 1.096884e+01 2.922353e-01 1.576315e-05
      5
      Nonlinear solution status: time= 0.1
      stiffness updates = 4
      right hand side evaluations = 6
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 1.806360e-01 0.000000e+00
      energy 2.461366e+00 7.233428e-05 2.461366e-02
      displacement 1.096884e+01 4.730349e-02 1.637641e-05
      6
      Nonlinear solution status: time= 0.1
      stiffness updates = 5
      right hand side evaluations = 7
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 1.079667e-01 0.000000e+00
      energy 2.461366e+00 6.042551e-07 2.461366e-02
      displacement 1.096884e+01 4.371329e-04 1.642072e-05
      7
      Nonlinear solution status: time= 0.1
      stiffness updates = 6
      right hand side evaluations = 8
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 3.044329e-03 0.000000e+00
      energy 2.461366e+00 5.883302e-08 2.461366e-02
      displacement 1.096884e+01 2.380381e-05 1.640568e-05
      8
      Nonlinear solution status: time= 0.1
      stiffness updates = 7
      right hand side evaluations = 9
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 1.016001e+02 2.617657e-04 0.000000e+00
      energy 2.461366e+00 3.280318e-09 2.461366e-02
      displacement 1.096884e+01 1.955570e-06 1.640641e-05

      ........................ augmentation # 1
      sliding interface # 1
      CURRENT REQUIRED
      D multiplier : 0.000000e+00 ***
      maximum gap : 0.000000e+00 1.000000e-01
      sliding interface # 2
      CURRENT REQUIRED
      D multiplier : 0.000000e+00 ***
      maximum gap : 0.000000e+00 1.000000e-01

      convergence summary
      number of iterations : 8
      number of reformations : 0

      ------- converged at time : 0.1


      Data Record #1
      ================================================== =========================
      Step = 1
      Time = 0.1
      Data = qx;qy;qz;qw
      11 -6.4156e-05 -3.46763e-05 -0.000137436 1
      14 0 0 0 1

      Data Record #2
      ================================================== =========================
      Step = 1
      Time = 0.1
      Data = Mx;My;Mz
      11 0.0026494 -7.48415 0.00175984
      14 -0.00013007 7.5001 0.00024553

      ===== beginning time step 2 : 0.2 =====

      Setting parameter "value" to : -13.3333
      Setting parameter "pressure" to : 0.2
      Setting parameter "pressure" to : 0.2

      Reforming stiffness matrix: reformation #1

      ===== reforming stiffness matrix:
      Nr of equations ........................... : 110508
      Nr of nonzeroes in stiffness matrix ....... : 4130508
      1
      Nonlinear solution status: time= 0.2
      stiffness updates = 0
      right hand side evaluations = 2
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 9.120853e+01 0.000000e+00
      energy 2.412037e+00 1.276040e-02 2.412037e-02
      displacement 2.034425e+01 2.034425e+01 2.034425e-05
      2
      Nonlinear solution status: time= 0.2
      stiffness updates = 1
      right hand side evaluations = 3
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 4.448841e+00 0.000000e+00
      energy 2.412037e+00 2.160325e-03 2.412037e-02
      displacement 2.034425e+01 8.126763e-01 1.953410e-05
      3
      Nonlinear solution status: time= 0.2
      stiffness updates = 2
      right hand side evaluations = 4
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 4.939139e+00 0.000000e+00
      energy 2.412037e+00 7.534678e-05 2.412037e-02
      displacement 2.034425e+01 3.279388e-01 2.073853e-05
      4
      Nonlinear solution status: time= 0.2
      stiffness updates = 3
      right hand side evaluations = 5
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 3.022830e-01 0.000000e+00
      energy 2.412037e+00 7.671811e-05 2.412037e-02
      displacement 2.034425e+01 5.913179e-03 2.037593e-05
      5
      Nonlinear solution status: time= 0.2
      stiffness updates = 4
      right hand side evaluations = 6
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 3.364462e-01 0.000000e+00
      energy 2.412037e+00 3.274480e-06 2.412037e-02
      displacement 2.034425e+01 1.541348e-03 2.046675e-05
      6
      Nonlinear solution status: time= 0.2
      stiffness updates = 5
      right hand side evaluations = 7
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 1.053293e-01 0.000000e+00
      energy 2.412037e+00 1.029181e-06 2.412037e-02
      displacement 2.034425e+01 2.367117e-04 2.049354e-05
      7
      Nonlinear solution status: time= 0.2
      stiffness updates = 6
      right hand side evaluations = 8
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 7.883703e-05 0.000000e+00
      energy 2.412037e+00 4.836362e-09 2.412037e-02
      displacement 2.034425e+01 3.104590e-05 2.048319e-05
      8
      Nonlinear solution status: time= 0.2
      stiffness updates = 7
      right hand side evaluations = 9
      stiffness matrix reformations = 1
      step from line search = 1.000000
      convergence norms : INITIAL CURRENT REQUIRED
      residual 7.973506e+01 4.170436e-05 0.000000e+00
      energy 2.412037e+00 6.969648e-10 2.412037e-02
      displacement 2.034425e+01 1.745745e-07 2.048155e-05

      ........................ augmentation # 1
      sliding interface # 1
      CURRENT REQUIRED
      D multiplier : 0.000000e+00 ***
      maximum gap : 0.000000e+00 1.000000e-01
      sliding interface # 2
      CURRENT REQUIRED
      D multiplier : 1.000000e+00 ***
      maximum gap : 3.165849e-03 1.000000e-01

      convergence summary
      number of iterations : 8
      number of reformations : 0

      ------- converged at time : 0.2
      ----------------
      Thanks a lot in advance!

      Comment

      • ateshian
        Developer
        • Dec 2007
        • 1821

        #4
        Hi Jeff,

        The log output you provided seems to show successful completion of the first two time steps. It does not show an error message, so I am uncertain about the issue you've encountered. Maybe you can share the model file that's causing the problem?

        Best,

        Gerard

        Comment

        • jeff
          Junior Member
          • May 2020
          • 7

          #5
          He Gerard,
          thanks a lot for your quick reply!
          Here ist the link to the model: https://www.dropbox.com/sh/d2m7ttakr...ZaeLEdj7a?dl=0
          It stoped after the 3. step
          Best regards,
          jeff

          Comment

          • sus
            Junior Member
            • Aug 2020
            • 5

            #6
            Hi Jeff and Gerard,

            Did you figure out why the model crashed?

            I'm also working on the 49F_L45_hybrid model, but have the same issue as Jeff: model crashes after starting the 3rd step.
            I also tried the file that Jeff uploaded on dropbox.

            Thanks for your help in advance!

            Best regards,
            Susanne

            Comment

            • ateshian
              Developer
              • Dec 2007
              • 1821

              #7
              Hi Susanne,

              I downloaded Jeff's model and also the latest FEBioStudio1.0.2 and I was able to run his model to completion. (I am using the Mac version.) The model doesn't crash for me. Can you confirm that you are using the latest version of FEBioStudio? If so, would you let me know which operating system you use?

              Best,

              Gerard

              Comment

              • sus
                Junior Member
                • Aug 2020
                • 5

                #8
                Hi Gererd,

                Thanks for the reply. I'm using FEBioStudio version 1.0.1 with Windows. This should be the latest I think?

                I actually managed to run the model after deactivating the pressure loads in the initial step, but I'm not sure what the problem is.

                Best,
                Susanne

                Comment

                • ateshian
                  Developer
                  • Dec 2007
                  • 1821

                  #9
                  Hi Susanne,

                  The FEBio website shows that version 1.0.2 was posted just yesterday, see https://febio.org/downloads/.

                  Would you please download that version and try it out? In the meantime I have also reached out to Ben Ellis and asked him to check this post and see if he can assist.

                  Best,

                  Gerard

                  Comment

                  • ateshian
                    Developer
                    • Dec 2007
                    • 1821

                    #10
                    Hi Susanne,

                    Ben looked into this problem and analyzed it using FEBioStudio 1.0.2 on Windows. He confirmed that the run terminates prematurely. We are looking into this bug and will try to resolve it soon.

                    Best,

                    Gerard

                    Comment

                    • sus
                      Junior Member
                      • Aug 2020
                      • 5

                      #11
                      Thanks a lot Gerard! Just for notice, I also also had the same problem with the 1.0.2 version on Windows.

                      Best,
                      Susanne

                      Comment

                      • maas
                        Lead Code Developer
                        • Nov 2007
                        • 3400

                        #12
                        Hi Susanne,

                        This model uses a "sliding2" contact interface, which can only be used for biphasic analysis. (The crash occurs when this contact algorithm tries to access the pressure degrees of freedom, which do not exist for this model). For "solid" mechanics problems, you should use the "sliding-elastic" formulation. This seems to fix the problem on my end, so please give that a try on your end and let us know if that fixes it for you as well.

                        Cheers,

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

                        Comment

                        • sus
                          Junior Member
                          • Aug 2020
                          • 5

                          #13
                          Hi Steve,
                          Thanks a lot for the help and the explanation! Changing the contact formulation fixed the problem. For info, the paper published on these models seems to use the "sliding2" contact without biphasic analysis (Finley et al. 2018), but perhaps the contact has been updated since then.


                          Cheers,
                          Susanne

                          Comment

                          • maas
                            Lead Code Developer
                            • Nov 2007
                            • 3400

                            #14
                            Indeed, the "sliding2" interface used to work with solid mechanics problems, but due to changes to how febio handles degrees of freedom, at some point a separate contact interface was required for solid mechanics problems. I suspect this paper predates this change. I'll add a check for this in febio3 so that an error message is thrown and users are alerted to this.

                            Cheers,

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

                            Comment

                            • sus
                              Junior Member
                              • Aug 2020
                              • 5

                              #15
                              Thank you for the info.

                              Cheers,
                              Susanne

                              Comment

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