Ansys LS-DYNA 2025 R1 Update

More Details
ansys transportation summit

Submit your abstract for the Ansys Transportation Summit 2025 including the European LS-DYNA Conference

More Details

Download the presentations of the German LS-DYNA Forum 2024

More Details

Community

guidance regarding material cards used for sandstone NSCB simulation
<p>Dear Sir/Madam,</p><p>I hope you are doing well.</p><p>I am currently working on a Notched Semicircle Bend test simulation project in ANSYS LS-DYNA and would greatly appreciate your guidance regarding crack propagation modeling.</p><p>In my model, I am using MAT_ELASTIC along with MAT_COHESIVE_MIXED_MODE and MAT_ADD_EROSION to simulate crack initiation and material failure under three point loading. However, despite implementing these material models, the crack is not propagating as expected during the analysis. (the specimen material is Sandstone)</p><p>I suspect the issue may be related to the erosion parameters, cohesive zone calibration, mesh dependency, or contact/timestep settings. Since I am relatively new to this type of coupled damage modeling, I would be very grateful for any suggestions or best practices you could share.</p><p>Specifically, I would like to seek guidance on:.<br>Appropriate failure criteria for realistic crack initiation and propagation.<br>Proper setup of MAT_COHESIVE_MIXED_MODE parameters.<br>Recommended element types and mesh strategies for crack tracking.<br>Possible reasons why cohesive cracks fail to propagate .<br>Common mistakes or numerical stability issues to avoid in LS-DYNA.</p><p>Thank you very much for your time and support. I look forward to learning from your experience and insights.</p><p>Best regards,</p><p>Shreeya Julme</p>
Avatar
julmeshreeya2210@gmail.com May 13, 2026
MAT_063
<p>Hello,</p><p data-pm-slice="1 1 []">I want to run a simulation using MAT_063 (Crushable Foam), with Model 1 selected in the material card. I have read the documentation for this material model, and as far as I understand, the material requires the yield stress as a function of volumetric strain. My first question is whether I should provide only the plastic part of the stress–strain curve obtained from experiments, or if the material requires the entire stress–strain curve. Also, is it possible to use stress–strain data obtained from a uniaxial compression test?</p><p data-pm-slice="1 1 []">The other question concerns a warning I receive in Keyword Manager → Model Check → Keyword Check for the defined material (MAT_63). The warning message states: "MAT_CRUSHABLE_FOAM (ID: 1): curve 1 does not monotonically increase." The experimental stress–strain curve contains drops in stress, as shown in the figure below as an example. What should I do in this case to be able to use this material model and resolve the warning?</p><p data-pm-slice="1 1 []">Does anyone have any ideas about these questions?</p><p><span style="font-size: 14pt;"></span></p>
Avatar
lsdyna928@gmail.com May 11, 2026
Issue with the Space Debris capture simulation
<p>Hello everyone,</p><p>I am working on a space debris capture simulation using a kevlar net. The following are all the parameters I am using for the simulation, either the net disappears or stays in the same place upon running, I have been trying to fix it for a couple of weeks now, I dont know what the issue is. If anyone can help me to see what inputs i might be missing or identify the problem and direct me into a right direction, that would really help me. I am using Altair Hypermesh 2025 for the pre-processing. </p><p>Net: 10cm x 10cm in size, thread diameter = 1.1mm, made with 2D tria shell elements. The net needs to move towards the debris and wrap around it. Material model: MAT_58_LAMINATED_COMPOSITE_FABRIC. Section shell card: ELFORM = 16 (Fully Integrated Shell Element)</p><p>Debris: 4cm diameter sphere, made with 3D tetra elements as it is a rigid body and is fixed. Material model: MAT_20_RIGID. Section solid card: ELFORM = 1 (constant stress solid)</p><p>Velocity: Initial velocity generation at 4.5m/s</p><p>Contact parameters: CONTACT_AUTOMATIC_SURFACE_TO_SURFACE</p><p>Then i have CONTROL_TERMINATION, CONTROL_TIMESTEP, CONTROL_ENERGY, DATABASE_BINARY_D3PLOT cards too. </p><p>If you can help me, I can email you my key file. Thank you</p><p>This is how both the mock debris and the net look in the software. </p><p></p>
Avatar
mintuboyapati@gmail.com May 11, 2026
LS-DYNA 2025 R2 User-Defined Material and User-Element Package
<p><span data-olk-copy-source="MessageBody">Hi,<br><br>I have Ansys LS-DYNA 2025 R2 installed on a Windows workstation. </span></p><div class="x_elementToProof" data-olk-copy-source="MessageBody">Currently, I am developing a custom phase-field fracture model in LS-DYNA, instead of using any inbuilt material models. Could anyone please help me with how to get (or whom to reach out at Ansys to get) the compatible/matching LS-DYNA 2025 R2 / v252 Windows x64 user-defined material and user-defined element object/static-linking package, including:</div><ul data-spread="false">dyn21.F / dyn21.f for user-defined materialsdyn21b.F / dyn21b.f for user-defined elementsinclude filesobject/static librariesMakefile or Windows build scriptsexample UMAT and user-element source filesexample keyword decks for user-defined elementsrecommended compiler and linker instructions<div class="x_elementToProof">Also, my current installation is using the SMP single-precision executable, but the phase-field fracture problems may become computationally heavy. Please also advise whether I should request or use:</div><ul data-spread="false">SMP single precision, SMP double precision, or MPP double precisionWindows MPP support, if availableMS-MPI or another MPI packageIntel oneAPI Fortran / Intel Fortran compiler versionMicrosoft Visual Studio / MSVC versionIntel MKL / BLAS / LAPACK support, if needed for solving the equations<div class="x_elementToProof">Please let me know which exact package is compatible with my LS-DYNA 2025 R2 / v252 installation and what additional software I need to install before compiling a custom executable.</div><div class="x_elementToProof">Also, if Ansys has any tutorials, documentation, examples, training material, or technical notes on using the LS-DYNA user-defined material and user-defined element packages, especially for compiling custom executables on Windows, I would appreciate it if you could share them.<br><br></div><div class="x_elementToProof">Thank you.</div><div class="x_elementToProof">Sincerely,<br><br>Umar<br>PhD student @GeorgiaTech</div>
Avatar
Ukhayaz3@gatech.edu May 8, 2026
ESORT = 1
<p>Hello,</p><p>Acoording to different Ansys recommendations sources, in case of using Hexa and Tetras for a solid mesh, it is recommended to use ESORT = 1. LSDYNA Recommendations for structural impact</p><p>This tranforms tetras to type 10 formulation, which adds a lot of stiffness according to Microsoft PowerPoint - solid_elements.pptx. </p><p>Why not ESORT = 11 to change to TET13, which is more accurate with a not that different rsimulation time? <br><br>Is there some reasons that I might not be seeing?<br><br>Best regards,</p><p>Roberto</p>
Avatar
roberto May 6, 2026
S-ALE method FSI hull impact, pressure sensors issue
<p>Hello, I've used the S-ALE method to simulate a hull impact on the water.</p><p>I've definied the hull with SECTION_SHELL and the water/air with ALE_STRUCTURED_FSI.</p><p>The analysis works but I can't get the "correct" pressure on the shell. I've tryed with different approaches (DATABASE_FSI, DATABASE_FSI_SENSOR...) but I can't get the results: with the sensors there's a problem about the offset position and with database_fsi I get just the average pressure on the shell but I need the one on just a few shell elements.</p><p></p><p>Is there any keyword or method to measure the local pressure on a few shell elements?</p>
Avatar
s281303@studenti.polito.it May 6, 2026
The damage evolution law in the Holmquist-Johnson-Cook (HJC) model
<p>Hello everyone, I am a current master's student. I am currently attempting to develop the secondary application of the HJC constitutive model. The single-unit test has been successfully completed so far. However, in the model where the quality block impacts the thin plate, the damage and stress-strain updates of the custom HJC constitutive model are different from the evolution of the built-in HJC constitutive model of LS-DYNA. I have consulted many people and AI, and also reviewed numerous literature. I have found that the main problem might lie in the radial regression algorithm and the code for damage accumulation. Could everyone please help me identify which part of the code has the issue? Thank you very much!</p><p> </p><p>HJC CODE BEGIN</p><p>      subroutine umat41 (cm,eps,sig,epsp,hsv,dt1,capa,etype,tt,<br>     1 temper,failel,crv,cma)<br>c<br>c******************************************************************<br>c|  HJC Model Implementation with Plastic Volumetric Strain Damage |<br>c******************************************************************<br>c<br>      include 'nlqparm'<br>      include 'iounits.inc'<br>      common/bk06/idmmy,iaddp,ifil,maxsiz,ncycle,ctime(2,30)<br>      character*5 etype<br>      dimension cm(*),eps(*),sig(*),hsv(*)<br>      logical failel<br>      real epsp, dt1, capa, tt, temper<br>      <br>c     Variable definitions<br>      real G, K_elastic, A, B, C, N, FC, T, EPSILON_RATE, EFMIN, SFMAX   <br>      real PC, UC, UL, PL, D1, D2, K1, K2, K3<br>      real pre_sij(6), hydro_strain_Inc, eij_Inc(6), tr_sij(6)<br>      real tr_sij_J2, Q_trial, mu_old, mu_new, mu_max, mu_plastic<br>      real P_new, P_max, P_old_stress, P_star, T_star, T_current<br>      real eps_dot_star, strainRate_eq, Yield_star, Yield_HJC<br>      real eps_p_f, strainOld, Damage, e_vol_inc, d_mu_p<br>      real smallNum, k_value, true_sij(6), P_sum_check<br>      real K_unload, F_interp <br>      real e_plaStrain_Inc, mu_bar, mu_plaStrain<br>      parameter (zero = 0.0d0, half = 0.5d0, one = 1.0d0,<br>     1           two = 2.0d0, three = 3.0d0)<br>     <br>      smallNum = 1.0d-20<br>      <br>c     Get material parameters<br>      G = cm(1)<br>      K_elastic = cm(2)<br>      A = cm(3)<br>      B = cm(4)<br>      C = cm(5)<br>      N = cm(6)<br>      FC = cm(7)<br>      T = cm(8)<br>      EPSILON_RATE = cm(9) <br>      EFMIN = cm(10)<br>      SFMAX = cm(11)<br>      PC = cm(12)<br>      UC = cm(13)<br>      PL = cm(14)<br>      UL = cm(15)<br>      D1 = cm(16)<br>      D2 = cm(17)<br>      K1 = cm(18)<br>      K2 = cm(19)<br>      K3 = cm(20)</p><p>      if (etype.eq.'solid'.or.etype.eq.'shl_t') then</p><p>c     =====================================================================<br>c     Step 1: Extract history variables and preprocessing<br>c     =====================================================================<br>      P_old_stress    = hsv(1)  <br>      mu_old          = hsv(3)  <br>      strainOld       = hsv(5)  <br>      Damage          = hsv(14) <br>      mu_max          = hsv(15) <br>      P_max           = hsv(16) <br>      mu_plaStrain    = hsv(2)<br>      <br>c     Calculate equivalent strain rate<br>      strainRate_eq = sqrt(two/three * (eps(1)**2 + eps(2)**2 +    <br>     1                eps(3)**2 + half*(eps(4)**2 + eps(5)**2 + <br>     2                eps(6)**2))) / max(dt1, smallNum)<br>      <br>      eps_dot_star = strainRate_eq / max(EPSILON_RATE, smallNum)<br>      if (eps_dot_star .lt. one) eps_dot_star = one<br>      </p><p>c     Elastic predictor (deviatoric stress)<br>      pre_sij(1:3) = sig(1:3) + P_old_stress<br>      pre_sij(4:6) = sig(4:6)<br>      <br>      e_vol_inc = (eps(1) + eps(2) + eps(3)) / three<br>      eij_Inc(1:3) = eps(1:3) - e_vol_inc<br>      eij_Inc(4:6) = eps(4:6)<br>      <br>      tr_sij(1:3) = pre_sij(1:3) + two * G * eij_Inc(1:3)<br>      tr_sij(4:6) = pre_sij(4:6) + G * eij_Inc(4:6)<br>      <br>      tr_sij_J2 = half * (tr_sij(1)**2 + tr_sij(2)**2 + tr_sij(3)**2)<br>     1          + tr_sij(4)**2 + tr_sij(5)**2 + tr_sij(6)**2<br>      Q_trial = sqrt(three * tr_sij_J2)</p><p>c     =====================================================================<br>c     Step 2: Equation of state (EOS) and pressure parameter update<br>c     =====================================================================<br>      hydro_strain_Inc = - (eps(1) + eps(2) + eps(3))  <br>      mu_new = mu_old + hydro_strain_Inc                   <br>      <br>c     [Improvement] Precompute dynamic unloading and tensile bulk modulus K_unload <br>c     Reference: Interpolate between K_elastic and K1 based on compaction level<br>      if (mu_max .le. UC) then<br>         K_unload = K_elastic<br>      else if (mu_max .lt. UL) then<br>         F_interp = (mu_max - UC) / (UL - UC)<br>         K_unload = (one - F_interp) * K_elastic + F_interp * K1<br>      else<br>         K_unload = K1 <br>      end if<br>      <br>      if (mu_new .ge. mu_max .and. mu_new .gt. zero) then <br>        ! --- Loading path (skeleton curve) ---<br>        if (mu_new .le. UC) then<br>          P_new = K_elastic * mu_new<br>        else if (mu_new .le. UL) then<br>          P_new = PC + (mu_new - UC)*(PL - PC)/(UL - UC)<br>        else<br>          mu_bar = (mu_new - UL) / (one + UL)<br>          P_new = PL + K1 * mu_bar + K2 * mu_bar**2 + K3 * mu_bar**3<br>        end if<br>        mu_max = mu_new<br>        P_max  = P_new<br>      else <br>        ! --- Unloading and tension ---<br>        if (mu_new .lt. zero) then<br>          ! Tension: use degraded unloading modulus according to literature<br>          P_new = K_unload * mu_new<br>        else <br>          ! Compressive unloading: linear return from P_max using dynamic K_unload<br>          P_new = P_max - K_unload * (mu_max - mu_new)<br>          if (P_new .lt. zero) P_new = zero<br>        end if<br>      end if</p><p>c     Tension cutoff<br>      T_current = T * (one - Damage)<br>      if (P_new .lt. -T_current) P_new = -T_current</p><p>c     [Improvement] Calculate plastic volumetric strain increment d_mu_p <br>c     Since modulus is dynamic K_unload, the elastic volumetric strain subtraction should also use current modulus<br>      d_mu_p = zero<br>      if (mu_new .gt. UC .and. hydro_strain_Inc .gt. zero) then<br>         d_mu_p = hydro_strain_Inc - (P_new - P_old_stress)/K_unload<br>         if (d_mu_p .lt. zero) d_mu_p = zero<br>      end if<br>      mu_plaStrain = mu_plaStrain + d_mu_p<br>c     Update P* and T* immediately (for denominator and HSV6 calculation)<br>      P_star = P_new / max(FC, smallNum)<br>      T_star = T / max(FC, smallNum)</p><p>c     =====================================================================<br>c     Step 3: Damage denominator calculation (NaN protection)<br>c     =====================================================================<br>      P_sum_check = P_star + T_star<br>      if (P_sum_check .le. 1.0d-8) then<br>        eps_p_f = EFMIN<br>      else<br>        eps_p_f = D1 * (P_sum_check)**D2<br>      end if<br>      if (eps_p_f .lt. EFMIN) eps_p_f = EFMIN  </p><p>c     =====================================================================<br>c     Step 4: Yield surface and radial return (fix multiplication order of SFMAX and strain rate)<br>c     Step 4: Failure fuse (advanced protection)<br>c     =====================================================================<br>c     If damage exceeds 0.999d0, trigger fuse early to avoid numerical noise<br>      if (Damage .gt. 0.999999d0) then<br>         Damage = 1.0d0             <br>         Yield_HJC = 0.001d0 * FC   ! residual strength<br>         e_plaStrain_Inc = zero<br>         k_value = Yield_HJC / max(Q_trial, smallNum)<br>         true_sij(1:6) = tr_sij(1:6) * k_value<br>          goto 999 <br>      endif</p><p>c     Yield surface calculation<br>         Yield_star = A * (one - Damage) + B * (P_star**N)* (one<br>     1      + C * log(eps_dot_star))<br>         if (Yield_star .gt. SFMAX) Yield_star = SFMAX</p><p>c        Add safety cutoff: prevent Yield_star from becoming negative due to numerical fluctuations<br>         if (Yield_star .lt. zero) Yield_star = zero<br>         <br>      <br>      Yield_HJC = Yield_star * FC</p><p>      if (Q_trial .gt. Yield_HJC) then<br>        e_plaStrain_Inc = (Q_trial - Yield_HJC) / (three * G)<br>        strainOld = strainOld + e_plaStrain_Inc<br>        k_value = Yield_HJC / max(Q_trial, smallNum)<br>        true_sij(1:6) = tr_sij(1:6) * k_value<br>      else<br>        e_plaStrain_Inc = zero<br>        true_sij(1:6) = tr_sij(1:6)<br>      end if</p><p>c     =====================================================================<br>c     Step 5: Damage accumulation (numerical tolerance completion)<br>c     =====================================================================<br>c     Only accumulate if damage has not reached the set 'quasi-failure threshold'<br>      if (Damage .lt. 0.999999d0) then<br>            Damage = Damage + (e_plaStrain_Inc + d_mu_p) / eps_p_f<br>      end if</p><p>c     [Core modification]: Force numerical closure<br>c     Once damage exceeds the threshold of 0.999999, directly set to 1.0<br>c     This solves the precision error concern and ensures complete red in contour<br>      if (Damage .ge. 0.999999d0) Damage = one<br>c     =====================================================================<br>c     Step 6: Update history variables (meeting user requirements: hsv2, hsv6)<br>c     =====================================================================<br>999   continue <br>      sig(1:3) = true_sij(1:3) - P_new<br>      sig(4:6) = true_sij(4:6)<br>      <br>      hsv(1)  = P_new                        <br>      hsv(2)  = mu_plaStrain                <br>      hsv(3)  = mu_new                       <br>      hsv(4)  = e_plaStrain_Inc              <br>      hsv(5)  = strainOld                    <br>      hsv(6)  = D1 * (P_sum_check)**D2       <br>      hsv(7:12) = eps(1:6)<br>      hsv(13) = eps_dot_star          <br>      hsv(14) = Damage                       <br>      hsv(15) = mu_max                       <br>      hsv(16) = P_max                        <br>      epsp    = strainOld</p><p>      end if<br>      return<br>      end</p><p>HJC CODE END</p><p> </p><p>LS-DYNA-HJC </p><p></p><p></p><p></p><p> </p><p>UMAT-HJC</p><p></p><p></p><p></p><p> </p>
Avatar
hscj@mail.ustc.edu.cn May 6, 2026
*ICFD_BOUNDARY_WINDKESSEL purely resistive outlet boundary condition
<p class="isSelectedEnd">Hello everyone,</p><p class="isSelectedEnd">I am using LS-DYNA ICFD for hemodynamic simulations.</p><p class="isSelectedEnd">I would like to implement a purely resistive outlet boundary condition (i.e., only R2, with R1 = C1 = L1 = 0). However, the solver diverges when I set C1 = 0 (division by 0 not allowed)</p><p class="isSelectedEnd">Is there a way to define a purely resistive model at the outlets using the available WTYPE circuit options in the card?</p><p class="isSelectedEnd">If not, could you clarify how WTYPE = 6 works, particularly regarding the use of the "icfd_usercircuit" in the file dyn21icfd.f?</p><p class="isSelectedEnd">Thank you in advance for your help.</p><p>Best regards,<br>Gred</p>
Avatar
guillaume.renedo@baltgroup.com May 6, 2026
Signal 11 Segmentation Violation in Custom-Built MPP R16.2
<div>Hi everyone,</div><div> </div><div>I am encountering a Signal 11 (Segmentation Violation) during MPP initialization that occurs only with my custom-built LS-DYNA R16.2 executable, while the standard Ansys-distributed binary runs the identical keyword file to normal termination without any errors.</div><div> </div><div>Environment & Executables</div><div>- Custom build: mppdyna.exe compiled from the R16.2 source makefile (Intel Fortran 19.0 + Intel MPI 2019.6.166, double precision I8R8, WINX64). I did not modify any source files or build flags — I simply ran the default makefile to verify that the custom library would execute without errors.</div><div>- Standard binary: lsdyna_mpp_sp_msmpi.exe (Ansys-distributed) — same keyword file, same machine, same MPI run command completes successfully with normal termination.</div><div>- Version: LS-DYNA R16.2-151-g276cb33db2</div><div> </div><div>Problem Summary</div><div>When I run the custom mppdyna.exe with thermal properties included, the solver crashes immediately after initialization:</div><div> </div><div></div><div>initialization completed</div><div>>>>>>&nbsp; Process 0&nbsp; <<<<<</div><div>>>>>> Signal 11 : Segmentation Violation <<<<<</div><div></div><div> </div><div>The crash happens at Problem cycle = 0, right after MPP decomposition and initialization finish. No d3plot or binout data is written beyond the initial state.</div><div> </div><div>Critical Observation: Thermal Dependency</div><div>- With thermal cards active: The custom MPP executable segfaults every time (tested with -n 1 and -n 2).</div><div>- Without thermal cards: The custom MPP executable runs perfectly fine to normal termination.</div><div>- With thermal cards + standard Ansys binary: Runs perfectly fine to normal termination.</div><div> </div><div>This strongly suggests the issue is tied to how the custom-built executable handles thermal initialization in an MPP + S-ALE environment, rather than a keyword syntax error.</div><div> </div><div>Keyword Cards Used in the Model</div><div>The simulation is a 2D axisymmetric S-ALE hypervelocity impact problem using the following cards:</div><div> </div><div>- *KEYWORD, *TITLE</div><div>- *MAT_ELASTIC_PLASTIC_HYDRO_TITLE (HSLA 100 Steel, Tungsten Carbide)</div><div>- *MAT_ALE_VACUUM_TITLE</div><div>- *MAT_THERMAL_ISOTROPIC_PHASE_CHANGE_TITLE (Steel)</div><div>- *MAT_THERMAL_ISOTROPIC_TITLE (Tungsten Carbide, Vacuum)</div><div>- *EOS_GRUNEISEN_TITLE</div><div>- *NODE</div><div>- *ALE_STRUCTURED_MESH, *ALE_STRUCTURED_MESH_CONTROL_POINTS</div><div>- *ALE_MULTI-MATERIAL_GROUP</div><div>- *ALE_STRUCTURED_MESH_VOLUME_FILLING (ALL, BOXCOR, ELLIPSOID)</div><div>- *PART, *SECTION_ALE2D_TITLE</div><div>- *INITIAL_TEMPERATURE_SET</div><div>- *DEFINE_BOX_TITLE, *DEFINE_VECTOR_TITLE</div><div>- *BOUNDARY_SALE_MESH_FACE (SYM, NONREFL)</div><div>- *SET_PART_LIST_TITLE</div><div>- *CONTROL_ALE, *CONTROL_BULK_VISCOSITY, *CONTROL_ENERGY, *CONTROL_HOURGLASS</div><div>- *CONTROL_MPP_DECOMPOSITION_DISTRIBUTE_ALE_ELEMENTS</div><div>- *CONTROL_SOLUTION, *CONTROL_TERMINATION</div><div>- *CONTROL_THERMAL_NONLINEAR, *CONTROL_THERMAL_SOLVER, *CONTROL_THERMAL_TIMESTEP</div><div>- *CONTROL_TIMESTEP, *CONTROL_UNITS</div><div>- *DATABASE_ family (D3PLOT, D3THDT, GLSTAT, MATSUM, NODOUT, TPRINT, etc.)</div><div>- *DATABASE_EXTENT_BINARY</div><div>- *END</div><div> </div><div>Run Command (Custom — Fails)</div><div>bash</div><div>mpiexec -n 2 "...\mppdyna.exe" i="sale_shot10_umat44v_T09-fine.k" memory=200m</div><div></div><div> </div><div>Run Command (Standard — Succeeds)</div><div>bash</div><div>mpiexec -n 2 "...\lsdyna_mpp_sp_msmpi.exe" i="sale_shot10_umat44v_T09-fine.k" memory=200m</div><div></div><div> </div><div>Question</div><div>Since the standard Ansys MPP binary handles the identical thermal + S-ALE setup without issue, but the default, unmodified custom build crashes during thermal initialization, what could be causing this? Is there a known compiler/MPI flag, preprocessor directive, or library linkage issue in the R16.2 makefile that affects thermal solver initialization in MPP mode? Any guidance on resolving this would be greatly appreciated.</div><div> </div><div>Thanks,</div><div>Amrith</div>
Avatar
Amrith Mariappan May 6, 2026
Error: The Body Selection must be a part of Body Contact Tracker
<p>I am trying to extract contact force using contact force tracker (added by right clicking the 'Solution Information') scoped to a rigid body (tool) interacting with a flexible body (workpiece), when trying to simulate an orthogonal cutting process in ANSYS 2021R1 LS-DYNA. I only used 'body interaction' as a connection between these two bodies, with a frictional coffecient entered as 0.3, with no other contacts built betweeen these bodies (like bonded, etc). However, when I try to evaluate the results after solution has finished, the contact force tracker doesn't work, and generates me this error as I am sharing in the picture. I don't know how to add the body contact tracker, because I don't see any option to add it from anywhere (like it doesn't show up in the 'Solution Information'). Can you tell me how should I address this issue?<br><br></p>
Avatar
e217733@metu.edu.tr May 1, 2026
guidance regarding material cards used for sandstone NSCB simulation
<p>Dear Sir/Madam,</p><p>I hope you are doing well.</p><p>I am currently working on a Notched Semicircle Bend test simulation project in ANSYS LS-DYNA and would greatly appreciate your guidance regarding crack propagation modeling.</p><p>In my model, I am using MAT_ELASTIC along with MAT_COHESIVE_MIXED_MODE and MAT_ADD_EROSION to simulate crack initiation and material failure under three point loading. However, despite implementing these material models, the crack is not propagating as expected during the analysis. (the specimen material is Sandstone)</p><p>I suspect the issue may be related to the erosion parameters, cohesive zone calibration, mesh dependency, or contact/timestep settings. Since I am relatively new to this type of coupled damage modeling, I would be very grateful for any suggestions or best practices you could share.</p><p>Specifically, I would like to seek guidance on:.<br>Appropriate failure criteria for realistic crack initiation and propagation.<br>Proper setup of MAT_COHESIVE_MIXED_MODE parameters.<br>Recommended element types and mesh strategies for crack tracking.<br>Possible reasons why cohesive cracks fail to propagate .<br>Common mistakes or numerical stability issues to avoid in LS-DYNA.</p><p>Thank you very much for your time and support. I look forward to learning from your experience and insights.</p><p>Best regards,</p><p>Shreeya Julme</p>
Avatar
julmeshreeya2210@gmail.com May 13, 2026
MAT_063
<p>Hello,</p><p data-pm-slice="1 1 []">I want to run a simulation using MAT_063 (Crushable Foam), with Model 1 selected in the material card. I have read the documentation for this material model, and as far as I understand, the material requires the yield stress as a function of volumetric strain. My first question is whether I should provide only the plastic part of the stress–strain curve obtained from experiments, or if the material requires the entire stress–strain curve. Also, is it possible to use stress–strain data obtained from a uniaxial compression test?</p><p data-pm-slice="1 1 []">The other question concerns a warning I receive in Keyword Manager → Model Check → Keyword Check for the defined material (MAT_63). The warning message states: "MAT_CRUSHABLE_FOAM (ID: 1): curve 1 does not monotonically increase." The experimental stress–strain curve contains drops in stress, as shown in the figure below as an example. What should I do in this case to be able to use this material model and resolve the warning?</p><p data-pm-slice="1 1 []">Does anyone have any ideas about these questions?</p><p><span style="font-size: 14pt;"></span></p>
Avatar
lsdyna928@gmail.com May 11, 2026
Issue with the Space Debris capture simulation
<p>Hello everyone,</p><p>I am working on a space debris capture simulation using a kevlar net. The following are all the parameters I am using for the simulation, either the net disappears or stays in the same place upon running, I have been trying to fix it for a couple of weeks now, I dont know what the issue is. If anyone can help me to see what inputs i might be missing or identify the problem and direct me into a right direction, that would really help me. I am using Altair Hypermesh 2025 for the pre-processing. </p><p>Net: 10cm x 10cm in size, thread diameter = 1.1mm, made with 2D tria shell elements. The net needs to move towards the debris and wrap around it. Material model: MAT_58_LAMINATED_COMPOSITE_FABRIC. Section shell card: ELFORM = 16 (Fully Integrated Shell Element)</p><p>Debris: 4cm diameter sphere, made with 3D tetra elements as it is a rigid body and is fixed. Material model: MAT_20_RIGID. Section solid card: ELFORM = 1 (constant stress solid)</p><p>Velocity: Initial velocity generation at 4.5m/s</p><p>Contact parameters: CONTACT_AUTOMATIC_SURFACE_TO_SURFACE</p><p>Then i have CONTROL_TERMINATION, CONTROL_TIMESTEP, CONTROL_ENERGY, DATABASE_BINARY_D3PLOT cards too. </p><p>If you can help me, I can email you my key file. Thank you</p><p>This is how both the mock debris and the net look in the software. </p><p></p>
Avatar
mintuboyapati@gmail.com May 11, 2026
LS-DYNA 2025 R2 User-Defined Material and User-Element Package
<p><span data-olk-copy-source="MessageBody">Hi,<br><br>I have Ansys LS-DYNA 2025 R2 installed on a Windows workstation. </span></p><div class="x_elementToProof" data-olk-copy-source="MessageBody">Currently, I am developing a custom phase-field fracture model in LS-DYNA, instead of using any inbuilt material models. Could anyone please help me with how to get (or whom to reach out at Ansys to get) the compatible/matching LS-DYNA 2025 R2 / v252 Windows x64 user-defined material and user-defined element object/static-linking package, including:</div><ul data-spread="false">dyn21.F / dyn21.f for user-defined materialsdyn21b.F / dyn21b.f for user-defined elementsinclude filesobject/static librariesMakefile or Windows build scriptsexample UMAT and user-element source filesexample keyword decks for user-defined elementsrecommended compiler and linker instructions<div class="x_elementToProof">Also, my current installation is using the SMP single-precision executable, but the phase-field fracture problems may become computationally heavy. Please also advise whether I should request or use:</div><ul data-spread="false">SMP single precision, SMP double precision, or MPP double precisionWindows MPP support, if availableMS-MPI or another MPI packageIntel oneAPI Fortran / Intel Fortran compiler versionMicrosoft Visual Studio / MSVC versionIntel MKL / BLAS / LAPACK support, if needed for solving the equations<div class="x_elementToProof">Please let me know which exact package is compatible with my LS-DYNA 2025 R2 / v252 installation and what additional software I need to install before compiling a custom executable.</div><div class="x_elementToProof">Also, if Ansys has any tutorials, documentation, examples, training material, or technical notes on using the LS-DYNA user-defined material and user-defined element packages, especially for compiling custom executables on Windows, I would appreciate it if you could share them.<br><br></div><div class="x_elementToProof">Thank you.</div><div class="x_elementToProof">Sincerely,<br><br>Umar<br>PhD student @GeorgiaTech</div>
Avatar
Ukhayaz3@gatech.edu May 8, 2026
ESORT = 1
<p>Hello,</p><p>Acoording to different Ansys recommendations sources, in case of using Hexa and Tetras for a solid mesh, it is recommended to use ESORT = 1. LSDYNA Recommendations for structural impact</p><p>This tranforms tetras to type 10 formulation, which adds a lot of stiffness according to Microsoft PowerPoint - solid_elements.pptx. </p><p>Why not ESORT = 11 to change to TET13, which is more accurate with a not that different rsimulation time? <br><br>Is there some reasons that I might not be seeing?<br><br>Best regards,</p><p>Roberto</p>
Avatar
roberto May 6, 2026
S-ALE method FSI hull impact, pressure sensors issue
<p>Hello, I've used the S-ALE method to simulate a hull impact on the water.</p><p>I've definied the hull with SECTION_SHELL and the water/air with ALE_STRUCTURED_FSI.</p><p>The analysis works but I can't get the "correct" pressure on the shell. I've tryed with different approaches (DATABASE_FSI, DATABASE_FSI_SENSOR...) but I can't get the results: with the sensors there's a problem about the offset position and with database_fsi I get just the average pressure on the shell but I need the one on just a few shell elements.</p><p></p><p>Is there any keyword or method to measure the local pressure on a few shell elements?</p>
Avatar
s281303@studenti.polito.it May 6, 2026
The damage evolution law in the Holmquist-Johnson-Cook (HJC) model
<p>Hello everyone, I am a current master's student. I am currently attempting to develop the secondary application of the HJC constitutive model. The single-unit test has been successfully completed so far. However, in the model where the quality block impacts the thin plate, the damage and stress-strain updates of the custom HJC constitutive model are different from the evolution of the built-in HJC constitutive model of LS-DYNA. I have consulted many people and AI, and also reviewed numerous literature. I have found that the main problem might lie in the radial regression algorithm and the code for damage accumulation. Could everyone please help me identify which part of the code has the issue? Thank you very much!</p><p> </p><p>HJC CODE BEGIN</p><p>      subroutine umat41 (cm,eps,sig,epsp,hsv,dt1,capa,etype,tt,<br>     1 temper,failel,crv,cma)<br>c<br>c******************************************************************<br>c|  HJC Model Implementation with Plastic Volumetric Strain Damage |<br>c******************************************************************<br>c<br>      include 'nlqparm'<br>      include 'iounits.inc'<br>      common/bk06/idmmy,iaddp,ifil,maxsiz,ncycle,ctime(2,30)<br>      character*5 etype<br>      dimension cm(*),eps(*),sig(*),hsv(*)<br>      logical failel<br>      real epsp, dt1, capa, tt, temper<br>      <br>c     Variable definitions<br>      real G, K_elastic, A, B, C, N, FC, T, EPSILON_RATE, EFMIN, SFMAX   <br>      real PC, UC, UL, PL, D1, D2, K1, K2, K3<br>      real pre_sij(6), hydro_strain_Inc, eij_Inc(6), tr_sij(6)<br>      real tr_sij_J2, Q_trial, mu_old, mu_new, mu_max, mu_plastic<br>      real P_new, P_max, P_old_stress, P_star, T_star, T_current<br>      real eps_dot_star, strainRate_eq, Yield_star, Yield_HJC<br>      real eps_p_f, strainOld, Damage, e_vol_inc, d_mu_p<br>      real smallNum, k_value, true_sij(6), P_sum_check<br>      real K_unload, F_interp <br>      real e_plaStrain_Inc, mu_bar, mu_plaStrain<br>      parameter (zero = 0.0d0, half = 0.5d0, one = 1.0d0,<br>     1           two = 2.0d0, three = 3.0d0)<br>     <br>      smallNum = 1.0d-20<br>      <br>c     Get material parameters<br>      G = cm(1)<br>      K_elastic = cm(2)<br>      A = cm(3)<br>      B = cm(4)<br>      C = cm(5)<br>      N = cm(6)<br>      FC = cm(7)<br>      T = cm(8)<br>      EPSILON_RATE = cm(9) <br>      EFMIN = cm(10)<br>      SFMAX = cm(11)<br>      PC = cm(12)<br>      UC = cm(13)<br>      PL = cm(14)<br>      UL = cm(15)<br>      D1 = cm(16)<br>      D2 = cm(17)<br>      K1 = cm(18)<br>      K2 = cm(19)<br>      K3 = cm(20)</p><p>      if (etype.eq.'solid'.or.etype.eq.'shl_t') then</p><p>c     =====================================================================<br>c     Step 1: Extract history variables and preprocessing<br>c     =====================================================================<br>      P_old_stress    = hsv(1)  <br>      mu_old          = hsv(3)  <br>      strainOld       = hsv(5)  <br>      Damage          = hsv(14) <br>      mu_max          = hsv(15) <br>      P_max           = hsv(16) <br>      mu_plaStrain    = hsv(2)<br>      <br>c     Calculate equivalent strain rate<br>      strainRate_eq = sqrt(two/three * (eps(1)**2 + eps(2)**2 +    <br>     1                eps(3)**2 + half*(eps(4)**2 + eps(5)**2 + <br>     2                eps(6)**2))) / max(dt1, smallNum)<br>      <br>      eps_dot_star = strainRate_eq / max(EPSILON_RATE, smallNum)<br>      if (eps_dot_star .lt. one) eps_dot_star = one<br>      </p><p>c     Elastic predictor (deviatoric stress)<br>      pre_sij(1:3) = sig(1:3) + P_old_stress<br>      pre_sij(4:6) = sig(4:6)<br>      <br>      e_vol_inc = (eps(1) + eps(2) + eps(3)) / three<br>      eij_Inc(1:3) = eps(1:3) - e_vol_inc<br>      eij_Inc(4:6) = eps(4:6)<br>      <br>      tr_sij(1:3) = pre_sij(1:3) + two * G * eij_Inc(1:3)<br>      tr_sij(4:6) = pre_sij(4:6) + G * eij_Inc(4:6)<br>      <br>      tr_sij_J2 = half * (tr_sij(1)**2 + tr_sij(2)**2 + tr_sij(3)**2)<br>     1          + tr_sij(4)**2 + tr_sij(5)**2 + tr_sij(6)**2<br>      Q_trial = sqrt(three * tr_sij_J2)</p><p>c     =====================================================================<br>c     Step 2: Equation of state (EOS) and pressure parameter update<br>c     =====================================================================<br>      hydro_strain_Inc = - (eps(1) + eps(2) + eps(3))  <br>      mu_new = mu_old + hydro_strain_Inc                   <br>      <br>c     [Improvement] Precompute dynamic unloading and tensile bulk modulus K_unload <br>c     Reference: Interpolate between K_elastic and K1 based on compaction level<br>      if (mu_max .le. UC) then<br>         K_unload = K_elastic<br>      else if (mu_max .lt. UL) then<br>         F_interp = (mu_max - UC) / (UL - UC)<br>         K_unload = (one - F_interp) * K_elastic + F_interp * K1<br>      else<br>         K_unload = K1 <br>      end if<br>      <br>      if (mu_new .ge. mu_max .and. mu_new .gt. zero) then <br>        ! --- Loading path (skeleton curve) ---<br>        if (mu_new .le. UC) then<br>          P_new = K_elastic * mu_new<br>        else if (mu_new .le. UL) then<br>          P_new = PC + (mu_new - UC)*(PL - PC)/(UL - UC)<br>        else<br>          mu_bar = (mu_new - UL) / (one + UL)<br>          P_new = PL + K1 * mu_bar + K2 * mu_bar**2 + K3 * mu_bar**3<br>        end if<br>        mu_max = mu_new<br>        P_max  = P_new<br>      else <br>        ! --- Unloading and tension ---<br>        if (mu_new .lt. zero) then<br>          ! Tension: use degraded unloading modulus according to literature<br>          P_new = K_unload * mu_new<br>        else <br>          ! Compressive unloading: linear return from P_max using dynamic K_unload<br>          P_new = P_max - K_unload * (mu_max - mu_new)<br>          if (P_new .lt. zero) P_new = zero<br>        end if<br>      end if</p><p>c     Tension cutoff<br>      T_current = T * (one - Damage)<br>      if (P_new .lt. -T_current) P_new = -T_current</p><p>c     [Improvement] Calculate plastic volumetric strain increment d_mu_p <br>c     Since modulus is dynamic K_unload, the elastic volumetric strain subtraction should also use current modulus<br>      d_mu_p = zero<br>      if (mu_new .gt. UC .and. hydro_strain_Inc .gt. zero) then<br>         d_mu_p = hydro_strain_Inc - (P_new - P_old_stress)/K_unload<br>         if (d_mu_p .lt. zero) d_mu_p = zero<br>      end if<br>      mu_plaStrain = mu_plaStrain + d_mu_p<br>c     Update P* and T* immediately (for denominator and HSV6 calculation)<br>      P_star = P_new / max(FC, smallNum)<br>      T_star = T / max(FC, smallNum)</p><p>c     =====================================================================<br>c     Step 3: Damage denominator calculation (NaN protection)<br>c     =====================================================================<br>      P_sum_check = P_star + T_star<br>      if (P_sum_check .le. 1.0d-8) then<br>        eps_p_f = EFMIN<br>      else<br>        eps_p_f = D1 * (P_sum_check)**D2<br>      end if<br>      if (eps_p_f .lt. EFMIN) eps_p_f = EFMIN  </p><p>c     =====================================================================<br>c     Step 4: Yield surface and radial return (fix multiplication order of SFMAX and strain rate)<br>c     Step 4: Failure fuse (advanced protection)<br>c     =====================================================================<br>c     If damage exceeds 0.999d0, trigger fuse early to avoid numerical noise<br>      if (Damage .gt. 0.999999d0) then<br>         Damage = 1.0d0             <br>         Yield_HJC = 0.001d0 * FC   ! residual strength<br>         e_plaStrain_Inc = zero<br>         k_value = Yield_HJC / max(Q_trial, smallNum)<br>         true_sij(1:6) = tr_sij(1:6) * k_value<br>          goto 999 <br>      endif</p><p>c     Yield surface calculation<br>         Yield_star = A * (one - Damage) + B * (P_star**N)* (one<br>     1      + C * log(eps_dot_star))<br>         if (Yield_star .gt. SFMAX) Yield_star = SFMAX</p><p>c        Add safety cutoff: prevent Yield_star from becoming negative due to numerical fluctuations<br>         if (Yield_star .lt. zero) Yield_star = zero<br>         <br>      <br>      Yield_HJC = Yield_star * FC</p><p>      if (Q_trial .gt. Yield_HJC) then<br>        e_plaStrain_Inc = (Q_trial - Yield_HJC) / (three * G)<br>        strainOld = strainOld + e_plaStrain_Inc<br>        k_value = Yield_HJC / max(Q_trial, smallNum)<br>        true_sij(1:6) = tr_sij(1:6) * k_value<br>      else<br>        e_plaStrain_Inc = zero<br>        true_sij(1:6) = tr_sij(1:6)<br>      end if</p><p>c     =====================================================================<br>c     Step 5: Damage accumulation (numerical tolerance completion)<br>c     =====================================================================<br>c     Only accumulate if damage has not reached the set 'quasi-failure threshold'<br>      if (Damage .lt. 0.999999d0) then<br>            Damage = Damage + (e_plaStrain_Inc + d_mu_p) / eps_p_f<br>      end if</p><p>c     [Core modification]: Force numerical closure<br>c     Once damage exceeds the threshold of 0.999999, directly set to 1.0<br>c     This solves the precision error concern and ensures complete red in contour<br>      if (Damage .ge. 0.999999d0) Damage = one<br>c     =====================================================================<br>c     Step 6: Update history variables (meeting user requirements: hsv2, hsv6)<br>c     =====================================================================<br>999   continue <br>      sig(1:3) = true_sij(1:3) - P_new<br>      sig(4:6) = true_sij(4:6)<br>      <br>      hsv(1)  = P_new                        <br>      hsv(2)  = mu_plaStrain                <br>      hsv(3)  = mu_new                       <br>      hsv(4)  = e_plaStrain_Inc              <br>      hsv(5)  = strainOld                    <br>      hsv(6)  = D1 * (P_sum_check)**D2       <br>      hsv(7:12) = eps(1:6)<br>      hsv(13) = eps_dot_star          <br>      hsv(14) = Damage                       <br>      hsv(15) = mu_max                       <br>      hsv(16) = P_max                        <br>      epsp    = strainOld</p><p>      end if<br>      return<br>      end</p><p>HJC CODE END</p><p> </p><p>LS-DYNA-HJC </p><p></p><p></p><p></p><p> </p><p>UMAT-HJC</p><p></p><p></p><p></p><p> </p>
Avatar
hscj@mail.ustc.edu.cn May 6, 2026
*ICFD_BOUNDARY_WINDKESSEL purely resistive outlet boundary condition
<p class="isSelectedEnd">Hello everyone,</p><p class="isSelectedEnd">I am using LS-DYNA ICFD for hemodynamic simulations.</p><p class="isSelectedEnd">I would like to implement a purely resistive outlet boundary condition (i.e., only R2, with R1 = C1 = L1 = 0). However, the solver diverges when I set C1 = 0 (division by 0 not allowed)</p><p class="isSelectedEnd">Is there a way to define a purely resistive model at the outlets using the available WTYPE circuit options in the card?</p><p class="isSelectedEnd">If not, could you clarify how WTYPE = 6 works, particularly regarding the use of the "icfd_usercircuit" in the file dyn21icfd.f?</p><p class="isSelectedEnd">Thank you in advance for your help.</p><p>Best regards,<br>Gred</p>
Avatar
guillaume.renedo@baltgroup.com May 6, 2026
Signal 11 Segmentation Violation in Custom-Built MPP R16.2
<div>Hi everyone,</div><div> </div><div>I am encountering a Signal 11 (Segmentation Violation) during MPP initialization that occurs only with my custom-built LS-DYNA R16.2 executable, while the standard Ansys-distributed binary runs the identical keyword file to normal termination without any errors.</div><div> </div><div>Environment & Executables</div><div>- Custom build: mppdyna.exe compiled from the R16.2 source makefile (Intel Fortran 19.0 + Intel MPI 2019.6.166, double precision I8R8, WINX64). I did not modify any source files or build flags — I simply ran the default makefile to verify that the custom library would execute without errors.</div><div>- Standard binary: lsdyna_mpp_sp_msmpi.exe (Ansys-distributed) — same keyword file, same machine, same MPI run command completes successfully with normal termination.</div><div>- Version: LS-DYNA R16.2-151-g276cb33db2</div><div> </div><div>Problem Summary</div><div>When I run the custom mppdyna.exe with thermal properties included, the solver crashes immediately after initialization:</div><div> </div><div></div><div>initialization completed</div><div>>>>>>&nbsp; Process 0&nbsp; <<<<<</div><div>>>>>> Signal 11 : Segmentation Violation <<<<<</div><div></div><div> </div><div>The crash happens at Problem cycle = 0, right after MPP decomposition and initialization finish. No d3plot or binout data is written beyond the initial state.</div><div> </div><div>Critical Observation: Thermal Dependency</div><div>- With thermal cards active: The custom MPP executable segfaults every time (tested with -n 1 and -n 2).</div><div>- Without thermal cards: The custom MPP executable runs perfectly fine to normal termination.</div><div>- With thermal cards + standard Ansys binary: Runs perfectly fine to normal termination.</div><div> </div><div>This strongly suggests the issue is tied to how the custom-built executable handles thermal initialization in an MPP + S-ALE environment, rather than a keyword syntax error.</div><div> </div><div>Keyword Cards Used in the Model</div><div>The simulation is a 2D axisymmetric S-ALE hypervelocity impact problem using the following cards:</div><div> </div><div>- *KEYWORD, *TITLE</div><div>- *MAT_ELASTIC_PLASTIC_HYDRO_TITLE (HSLA 100 Steel, Tungsten Carbide)</div><div>- *MAT_ALE_VACUUM_TITLE</div><div>- *MAT_THERMAL_ISOTROPIC_PHASE_CHANGE_TITLE (Steel)</div><div>- *MAT_THERMAL_ISOTROPIC_TITLE (Tungsten Carbide, Vacuum)</div><div>- *EOS_GRUNEISEN_TITLE</div><div>- *NODE</div><div>- *ALE_STRUCTURED_MESH, *ALE_STRUCTURED_MESH_CONTROL_POINTS</div><div>- *ALE_MULTI-MATERIAL_GROUP</div><div>- *ALE_STRUCTURED_MESH_VOLUME_FILLING (ALL, BOXCOR, ELLIPSOID)</div><div>- *PART, *SECTION_ALE2D_TITLE</div><div>- *INITIAL_TEMPERATURE_SET</div><div>- *DEFINE_BOX_TITLE, *DEFINE_VECTOR_TITLE</div><div>- *BOUNDARY_SALE_MESH_FACE (SYM, NONREFL)</div><div>- *SET_PART_LIST_TITLE</div><div>- *CONTROL_ALE, *CONTROL_BULK_VISCOSITY, *CONTROL_ENERGY, *CONTROL_HOURGLASS</div><div>- *CONTROL_MPP_DECOMPOSITION_DISTRIBUTE_ALE_ELEMENTS</div><div>- *CONTROL_SOLUTION, *CONTROL_TERMINATION</div><div>- *CONTROL_THERMAL_NONLINEAR, *CONTROL_THERMAL_SOLVER, *CONTROL_THERMAL_TIMESTEP</div><div>- *CONTROL_TIMESTEP, *CONTROL_UNITS</div><div>- *DATABASE_ family (D3PLOT, D3THDT, GLSTAT, MATSUM, NODOUT, TPRINT, etc.)</div><div>- *DATABASE_EXTENT_BINARY</div><div>- *END</div><div> </div><div>Run Command (Custom — Fails)</div><div>bash</div><div>mpiexec -n 2 "...\mppdyna.exe" i="sale_shot10_umat44v_T09-fine.k" memory=200m</div><div></div><div> </div><div>Run Command (Standard — Succeeds)</div><div>bash</div><div>mpiexec -n 2 "...\lsdyna_mpp_sp_msmpi.exe" i="sale_shot10_umat44v_T09-fine.k" memory=200m</div><div></div><div> </div><div>Question</div><div>Since the standard Ansys MPP binary handles the identical thermal + S-ALE setup without issue, but the default, unmodified custom build crashes during thermal initialization, what could be causing this? Is there a known compiler/MPI flag, preprocessor directive, or library linkage issue in the R16.2 makefile that affects thermal solver initialization in MPP mode? Any guidance on resolving this would be greatly appreciated.</div><div> </div><div>Thanks,</div><div>Amrith</div>
Avatar
Amrith Mariappan May 6, 2026
Error: The Body Selection must be a part of Body Contact Tracker
<p>I am trying to extract contact force using contact force tracker (added by right clicking the 'Solution Information') scoped to a rigid body (tool) interacting with a flexible body (workpiece), when trying to simulate an orthogonal cutting process in ANSYS 2021R1 LS-DYNA. I only used 'body interaction' as a connection between these two bodies, with a frictional coffecient entered as 0.3, with no other contacts built betweeen these bodies (like bonded, etc). However, when I try to evaluate the results after solution has finished, the contact force tracker doesn't work, and generates me this error as I am sharing in the picture. I don't know how to add the body contact tracker, because I don't see any option to add it from anywhere (like it doesn't show up in the 'Solution Information'). Can you tell me how should I address this issue?<br><br></p>
Avatar
e217733@metu.edu.tr May 1, 2026

Still stuck or need help?

Submit a Support Request