Each element in FEA is described by a set of basis functions also called shape functions. These functions specify how the field variables such as displacement change within each element. The real-life engineering problems come in different shapes and sizes. So, during the discretization process of the domain, there will be lot variability in shape and size of the elements, and it is far from ideal to derive shape functions and numerically integrate for each element separately. This process is simplified by using isoparametric mapping, which involves having one natural element for each geometric shape (1D, 2D and 3D).

A local natural coordinate system is attached to this element only based on its geometry and, subsequently, shape functions are derived and integrated. There is a relationship, known as transformation mapping, between natural elements and actual physical elements. Using this relationship, the natural formulations are then transformed based on the physical element size in the FEA problem. All of these precalculated formulations for various element libraries are stored in commercial FEA software like Abaqus. So, when we pick a certain element type in our model to mesh the geometry, we are mapping our physical element back to a natural element stored in the library. In this article, let’s first understand different types of natural elements, followed by the basics of mapping process using a simple 1D axial element.

Now let’s take a look at a few types of natural elements.

Now, let’s briefly discuss the mapping process using a simple linear 1D axial bar element.

The mapping primarily uses the two relationships shown below,

Where {u}, {x} are displacements and coordinates at any point within the element respectively. {d} and {X} are the nodal displacements and coordinates of the element. [N(s)] is the shape function matrix of the element represented as a function of natural coordinate system.

For the 1D bar, the shape function matrix is derived to be,

The mapping function called the Jacobian (J(s)) is calculated for the 1D bar problem as shown below,

In 1D element, the Jacobian physically represents the shrink or strength ratio of the natural elements at a point ‘s’ of the physical domain.

In uniform mapping, the natural element is simply expanded or compressed to obtain the physical element. In this scenario, we get a constant Jacobian.

In non-uniform mapping the shape and size of the element changes considerably. Here, the Jacobian will be a function of s.

We often see element distortion errors while running our FEA models. This error is coming during the mapping process of physical element to natural element. When J(s) <0, then the element segment at ‘s’ is flipped over on the physical element causing the error. To avoid this, we must use good quality elements while meshing the computational domain.

- Irregular domains, curved domains and intricate geometrical features can be modeled easily using the same set of shape functions as the natural element to calculate field variables. This adaptability is indispensable in real-world engineering simulations, which often exhibit complex geometry.
- The variation of material properties of an element can be properly accounted for by using appropriate values at the element gauss points.
- This also facilitates the use of higher-order elements, allowing for more accurate representation of the solution within each element.
- Since the isoparametric mapping allows for the use of same set if shape functions for different sizes and shapes (within certain bounds), this allows for an efficient process of numerical integration over each element.

Hopefully, this article has provided a brief understanding of the concept of isoparametric mapping and its application in commercial FEA. This is a fundamental principle in FEA that ensures consistency, accuracy and efficiency in the analysis process and its adoption has greatly enhanced the capability of FEA software.

If you're interested in learning more about Abaqus or FEA in general, don't hesitate to **get in touch with our team**!

There are countless modeling problems in FEA involving two or more parts connected together. Sometimes, the connection is simple and a simple tie constraint or RBE2 can do the job. But what if you’re trying to model a shock absorber with stopping mechanisms, or if you’re trying to model hundreds of slotted pins, where physically modeling the pin would be computationally expensive? Problems such as these and many more can be solved by using connector elements!

If you’re already familiar with multi-point constraints (MPCs), connector elements are very similar in that they both impose kinematic constraints on the model. However, unlike MPCs, connector elements do not eliminate degrees of freedom. Instead, kinematic constraints are enforced with Lagrange multipliers. This is less efficient, but in return, they are able to return a force and moment output as well as provide other functionalities, such as loading and damping – just to name a few.

First, we have to create the connector section. In the interaction module, create a connector section, then you can select the connection category and connection type. Finally, you can add connector behaviors. We’ll go through the connection behaviors and types later in this blog.

After making the connector section, we can now use the connector builder to make the connector element. First, select the two reference points you want to connect. The connector builder will create the reference point for you if you select a geometric point or a datum point instead. Additionally, you can also choose to connect to ground instead of selecting a second point. This option can be used to make grounded springs or dampers. After selecting the two points, you can select the connector section and the orientation of the connector.

For my example, I let the connector builder create a coordinate system as an axis between the two points:

We can always change the connector section and orientation in the connector section assignment manager.

You can also assign the connector section to a pre-existing wire instead of using the connector builder, but I think using the connector builder is much more convenient.

Abaqus offers many different connection types that can allow connector behavior or kinematically constrain different components of relative motion. These are summarized in the table below:

Cells in green show a component of relative motion available for defining the connector behavior, connector motion, or connector loads.

Cells in red show a kinematically constrained component of relative motion.

Cells in white are neither available for defining connector behavior/motion/loads nor constrained kinematically.

In the sections below we’ll go into the connection type diagrams for each connection type and when to use each of them. This will be very high level; consult the Abaqus documentation for the full details on each connection type. You can also view the connection type diagrams in Abaqus CAE by clicking on the lightbulb symbol in the connector section creation page.

This connection type is only available in Abaqus Explicit. This is used to measure relative position, velocity, and acceleration between two points.

This connection type constrains all rotations between two points.

This connection type is used where the relative displacement is along the line separating the two nodes. This is useful for connections such as springs or dampers.

This connection type kinematically constrains all components of relative motion. This is a versatile connection type – one application is for quick modeling of bolts. If you’re only looking to pull bolt forces without considering preload, a beam connector can do the trick!

* *

This connection type has all components of relative motion available. It is a great way to approximate deformable connections where physical tests aren’t readily available, such as automobile control arms.

This connection provides a rotational connection between two nodes where the relative rotation is parameterized by Cardan angles (yaw-pitch-roll).

This connection provides a connection between two nodes where the change in position is measured in three local connection directions. This works great for orthotropic connections.

This connection type fixes the angle between two joints.

This connection type is the same as the constant velocity connector, but it also constrains all translations. Like its name implies, its best application is to model CV joints on vehicles.

This connection type allows torsion and axial translations but constrains all other components of relative motion. This is a great way to model pins.

This connection type provides a rotational connection between two nodes where the relative rotation is parameterized by Euler angles (precession-nutation-spin).

This connection type models the bending and twisting of a cylindrical coupling between two shafts. Instead of representing three successive rotations, the flexion, torsion, and sweep angles are measured separately.

This connection type converts the relative rotation about a user-specified axis between the two nodes of the connector into material flow degree of freedom at the second node of the connector element. Belt or cable material is considered to be wrapped around an axle or a drum, and material can be spooled either into or out of the connector element. It can be used in applications such as seat belts and cable drums in winch-like devices.

This connection type only allows rotation along its axis. It can be used in applications such as door hinges, axles, and drawbridges.

This connection type makes the position of two nodes the same. It can be used for modeling ball and socket joints.

This connection type maintains a constant distance between two nodes. It can be used for modeling coupling rods and taut lift slings/chains (assuming there’s no compression).

This connection type provides a local two-dimensional system in a three-dimensional analysis – combining the revolute and slide-plane connection types. It be used for modeling sliding constraints.

This connection type is very similar to cartesian. However, instead of using a coordinate system that follows node a, projection cartesian uses a coordinate system that follows the systems at both nodes a and b.

This connection type is very similar to flexion-torsion. However, two component flexion angles are reported instead of one flexion angle and one sweep angle.

This connection type provides a connection between two nodes where the response differs in the radial and cylindrical axis directions. It be used in applications such as cylindrical bearings where the radial and thrust responses are different.

This connection type combines the join and flow-converter connection types. It can be used in applications such as seat belts and cable drums in winch-like devices.

This connection type provides a connection between two nodes where the rotations are constrained about two local directions and free about a shared axis. This provides the rotational part of the hinge and cylindrical connection types, but it doesn’t have much use on its own.

This connection type provides a rotational connection between two nodes where the relative rotation is parameterized by the rotation vector. If defining connector behavior, Cardan or Euler is typically preferred; however, Rotation works well in conjunction with prescribed connector motion.

This connection type is only available in Abaqus Explicit. This is used to measure relative angular position, velocity, and acceleration between two points.

This connection type keeps node b on a plane defined by the orientation of node a and the initial position of node b. This is a good way to model the feet of structures not fastened to the floor and where friction is low.

This connection type provides a connection between two nodes that models material flow and stretching between two points of a belt system. This is a great way to model seat belts, pulleys, and taut cable systems.

This connection type only allows translation about one direction. This is great for any slotted connections.

This connection type constraints two nodes in all directions and rotations except along the line connecting them. This connection type works well for modeling railed connections such as drawer slides.

This connection type constraints all translations and fixes rotation about one local direction. As its name implies, its best application is to model U joints on vehicles.

This connection type fixes rotations about one local direction and frees the other two. This can be used whenever you need to constrain a single rotation.

This connection type kinematically constrains all components of relative motion. It’s very similar to the beam connector. Use this when the two nodes have the same position – otherwise, use the beam connector.

You can assign connector behaviors to connection types that have available components of relative motion. The types of connector behaviors that can be assigned are listed below:

** Elasticity:** This behavior allows spring-like elastic behavior to be set for the available components of relative motion.

** Damping:** This behavior allows damping behavior to be set for the available components of relative motion.

** Friction:** This behavior allows frictional effects to be defined for the available components of relative motion. For example, if using a connector to model a pin in a slot, there can be some friction at the interface between the pin and the slot.

** Plasticity:** This behavior allows plastic behavior to be set for the available components of relative motion. This must be used in conjunction with the elasticity behavior option.

** Damage:** This behavior allows the force response in the connector to degrade if relative forces or motions in a connection exceed critical values. You can specify the criteria for damage initiation as well as a damage evolution law that specifies how the damage evolves. This should be used in conjunction with the elasticity behavior and possibly also the plasticity behavior if the damage initiation behavior is plastic motion based.

** Stop:** This behavior sets upper and lower limits for the positions in the directions of the components of relative motion. For example, shock absorbers in vehicles have a certain length where they bottom out, so the stop behavior can be used to set that bottom out value.

** Lock:** This behavior allows the connector to lock if any one of a list of criteria is met. You can set whether all or some components of relative motion become locked once the locking criterion is met. An example of this is the velocity-locking criteria in a seat belt. Other locking criteria that can be set include force, moment, and position.

** Failure:** This behavior allows the connector to break if a relative motion component, force, or moment becomes too large. All components of relative motion will be released upon meeting the failure criterion.

** Reference Length:** This can set the translational or angular position at which constitutive forces and moments are zero for the available components of relative motion. This should be used in conjunction with either the elasticity or friction behaviors when the reference position is different than the initial position in the model.

** Integration:** This behavior is only available in Abaqus Explicit. By default, connector constitutive behavior is integrated implicitly, which does not affect the stability or time incrementation of the analysis in any way. However, there may be a small improvement in computational performance by using explicit time integration for “soft” springs modeled with connectors.

In addition to the behaviors described above, you can apply forces and displacements to connector elements with available components of relative motion. Connector forces and moments can be applied from the loads menu, and connector displacements and velocities can be applied from the boundary conditions menu.

In Abaqus CAE, you can request connector element output in the step module. Change the domain to a set containing the connector elements or connector wires and then connector output variables will become available in the field/history output request box. Available output variables include forces, moments, displacements, and rotations.

Note that for history outputs and *_LOCAL field outputs, the results will follow the intrinsic coordinate system of the connector. For field outputs not ending in _LOCAL, the results will follow the orientation of the first node of the connector. Neither of these will necessarily line up with the global coordinate system of the model.

Here’s one area where the connector element really shines. If you add *EL PRINT to your input deck, you can output connector element history outputs right to the .dat file. Imagine being able to copy all the bolt forces in your model into a table without even having to open the .odb!

Here we have a model of a small tensegrity table consisting of two wooden pieces connected with five pretensioned cables, giving an illusion that the table is floating. The four corner cables help stabilize the table while the main loading goes through the center cable. All the cables are modeled using axial connectors (available in CU1 only) with elastic properties and a reference length. The elastic properties are set such that if the connector ever goes below its reference length (AKA if the cables go into compression) they will no longer react axial force. The connector on the center cable combines the axial and Cardan connectors, but no behaviors are set on the rotational components of relative motion. A weld connector (constrained in all components of relative motion) is used to measure the loads transferred from the bottom of the table to the constrained floor. All the connector elements are attached to contact patches using RBE3s.

I have loaded the table with downwards gravity in the -Y direction as well as a 30N load in the -Y direction distributed on the entire tabletop, a connector force of -30N on one of the corner cables, and 5N loads in the X and -Y directions on the corner of the table.

I’d probably design the wood pieces differently if I were to build this table in real life. But more importantly for this example, how about what the connectors are doing? I don’t even have to check the .odb for that since I printed the connector output to the .dat file!

Some observations regarding these results:

- Note that since the .dat file is printing a history output, the results follow the intrinsic coordinate system of the connector. This does not line up with the global coordinate system of the model.
- Elements 2 and 5 are clearly in compression based on the connector displacements. Elements 3 and 4 are still in tension since they did not go under the reference length.
- Force and moment output is available for all constrained components of motion, while displacement and rotation output is available for all available components of motion. Since element 1 is an axial + Cardan connector, we can see rotation outputs for it even though it does not react moments.
- The connector force output on element 2 is reacting the applied connector force we applied in the loading.
- Since element 5 is in compression, it has no stiffness and therefore cannot react any force.
- The connector force output for element 6 is exactly what we’d expect based on the applied load (30 + 5 + 0.37 (weight of the wood pieces) in connector X, which corresponds to global Y; 5 in connector Z, which corresponds to global X).

Connector elements are some of the most versatile and powerful elements you can use when building models in Abaqus. Hopefully, this blog has given you everything you need to start utilizing connector elements in your own models!

Of course, mastering the use of connector elements takes practice and experience. Luckily, there’s nothing our engineering team loves doing more than building large FEA models with hundreds of connector elements! **Reach out to us today**!

There are several types of mechanical problems, such as static, dynamic, vibration, shock, thermal and corrosion. Static problems deal with structures attaining equilibrium under the applied loads. These problems involve analyzing forces and moments acting on a structure to ensure that it remains in state of balance without any motion. Principles such as equilibrium equations, Newton's laws of motion and summation of forces and moments are used to solve these static problems. In this article let’s understand the steps needed to solve static problems using FEA by hand.

The FEA procedure can be categorized into 3 parts as shown in the flow chart below.

In this article, let’s discuss the general steps for defining a finite element problem and calculating a numerical solution using simple 1D elastic bar problem.

It is very important to determine the physicality of the problem at hand first. For this, we need to answer certain questions, such as whether the problem is 1D, 2D or 3D. Is it a solid mechanics, continuum mechanics, heat transfer, computational fluid dynamics problem? Is it a static or dynamic problem? Is it a single or multi- body problem? Does it require plastic and damage properties for material?

In this article, we are considering a simple solid bar with fixed cross-sectional area (*A*). The bar is elastic with Youngs modulus (*E*). The left-hand side of the bar is fixed in all degrees of freedom, and it is subjected to compressive pressure (t) on the right-hand side. The stresses, displacement and strains in the bar are unknown variables. This can be reduced to a 1D problem as the deformation and stresses are almost uniform across the cross section of the rod and they only vary along its axis. This is a quasi-static problem as we are calculating its deformation when the bar attains equilibrium under the influence of applied loads.

Mathematical equations relating input and output variables need to be established in this step. This can be obtained using fundamental laws such as equilibrium equations, elasticity law, heat transfer law and diffusion law.

For the current problem at hand, we need to obtain a relationship between the applied force and elastic deformation of the rod. For this, we use the equation of equilibrium and Hooke’s material law to arrive at the mathematical model. In this step, we also need to identify the boundary conditions and include them in the mathematical model. For the 1D problem, the boundary conditions are the body force *b* and the pressure *t* applied at *x* = 6 in. The mathematical model for the 1D bar problem can be obtained as,

In this step, optimization requirements can be applied to the strong form equation established in the previous step to obtain weak form. There are different variational principles as shown in the figure below to derive the weak form.

For the 1D bar problem, the weak form is derived to be,

“Weak” refers to the fact that the continuity requirement of the displacement variable* u* is weakened in this newly derived weak form equation. For the strong form differential equation to hold everywhere on the bar, the first derivation of *u* (*du/dx*) has to be continuous, and the second derivative of *u*(*d^2u/dx^2*) needs to exist. Whereas for the weak form integral equation to hold everywhere on the bar, u and its variation (δu) should be continuous, and the first derivatives can have discontinuity at finite number of locations and thus the continuity requirement is weakened in this step.

In this step, we break the computational domain of the problem to a set of smaller segments. Each segment is termed as an element. This process of discretizing the computational domain is called meshing. The meshing process is demonstrated here by diving the 1D bar into 6 elements (1 in length each). The adjacent elements are connected through a common node. The elements and nodes are numbered for tracking purposes. The meshing process for 1D problems is pretty straight forward. This becomes more involved for 2D and 3D domains with complex geometries. This can be achieved numerically by using algorithms.

In this step, the unknown variables such as displacement are approximated over the elements in the computational domain. Let’s assume the unknown displacement in the 1D bar problem at nodes 1, 2...6 is u1, u2 ...u6 respectively. These displacements are termed as nodal displacements. The displacements over each of the elements can be assumed either to be linear, quadratic, or other higher polynomials as shown in the figure below.

A general polynomial function in x for u can be written as,

Let's assume linear approximation for the displacement over each element in our model. Calculating the linear polynomial coefficients gives linear shape functions for each element as shown below.

The shape functions and their first derivative values must be calculated for all the elements in this step. For more information on shape functions and their properties please refer to our previous blog here.

In this step, the global integral in the weak form can be broken down into element integrals:

The unknown displacement function and its derivates must be replaced by finite element polynomial approximations. For the first element, these polynomial approximations are derived to be,

Substituting the finite element approximations into the weak form for all elements gives the elemental stiffness matrix and force vectors.

The elemental stiffness matrices [*k*] and force vectors {*f*} should be assembled in the global matrix and vector as shown in the figure below. Each element and its nodal DOF are given a unique global index, which forms the basis for building global matrices. Note that, based on mesh connectivity, some of the elemental stiffness terms will get added in the global matrix.

There are two types of boundary conditions (BCs): natural and essential. Essential boundary conditions are specified directly to the solution matrices (*u*, *f*) while the natural boundary conditions describe phenomenon that affect solution matrices. Examples of essential BCs are fixed displacement or nodal forces and examples of natural BCs are body force, fluxes, and rate changes. The natural BCs are already included in the global vectors during formulation of element matrices, but the essential BC should be applied in this step. There are different approaches like direct substitution method, penalty method and Lagrange multipliers to apply essential BCs. In the 1D bar problem, the essential boundary condition is *u|x=0* =0. This has to be applied in this step.

The overall global system of equations (*KU =F*) with all the boundary conditions applied, has to be solved in this step for solution vector {u}. With increase in size and complexity of the problem domain, solving this equation system becomes tricky and computationally expensive. There are a number of direct and iterative methods available to solve this equation system as shown in the table below.

The nodal DOF are only obtained by solving the global system of equations. But we often need to calculate other physical quantities such as strain and stress in the element and visualize them in the contour plots or graphs. These calculations are performed in this step.

In the 1D bar problem, we can calculate strain and stress in each element by,

These quantities can be plotted on the graph, or they can be visualized using contour plots or animations.

Hopefully this article has given an overview on steps involved in formulating and solving a simple 1D FEA problem. The complexity of meshing process, global matrices and vectors increases with increase in complexity and dimensionality of the computational domains. Thankfully we have commercial FEA software like Abaqus to ease this problem formulation process. Using this software, the repetitive tasks like element formulations, assembling global matrices and solving equations are automated, and solutions can be obtained much faster. Hence the commercial FEA softwares play a vital role in modern engineering design and analysis, facilitating the development of innovative and reliable products.

If you are interested in solving mechanical problems using FEA simulations, **feel free to reach us**. Our Engineers have many years of experience in commercial FEA, and we would love to talk to you!

Friction is the resistance encountered when objects in contact slide against each other. The basic formula for friction, known as Coulomb’s friction model, is:

Where F is the frictional force, µ is the coefficient of friction, and N is the normal force between the two surfaces. Some properties of friction are:

- The coefficient of friction is dependent on the nature of the surfaces in contact – essentially, a higher coefficient of friction means there’s more resistance to sliding. The case of rubber sliding on concrete is an example of a high coefficient of friction – this is how tires are able to grip the road. However, the case of a hockey puck sliding on ice is an example of a low coefficient of friction. Typically, rough and coarse surfaces in contact have higher coefficients of friction while smooth surfaces in contact have lower coefficients of friction.
- Friction does not depend on the contact area of the surfaces.
- Friction is independent of velocity.
- Friction is a nonconservative force – this means the amount of work that friction does depends on the path taken.

Friction can be categorized into a few different types. The main two we’ll be going through in this blog are static and kinetic friction. Other types of friction include fluid friction and rolling resistance.

Static friction acts between surfaces at rest. It resists the applied force between the objects. On the other hand, kinetic friction, also known as sliding friction, acts between surfaces moving relative to each other. The kinetic coefficient of friction, µk, is always less than the static coefficient of friction, µs. What this means is that it takes less force to keep an object in motion than to get it started moving in the first place. If you’ve ever tried to slide a heavy box along a floor, you can see this in action – it takes a lot more effort to start moving the box than to keep it moving!

As a quick example, let’s use two blocks sliding against each other. We can calculate the maximum static friction force as Ff = µsN = 0.25(100) = 25 N. Static friction will counteract the pushing force F at any value 25N or below. So, if we pushed the block with F = 18 N of force, Ff would be 18 N as well. If we pushed the block with F = 25 N of force, Ff would be 25 N. However, if we pushed the block with F = 30 N of force, Ff would be 25 N initially. Since there is now a resultant force, the upper block will begin moving, meaning kinetic friction will be used instead. The magnitude of kinetic friction is Ff = µkN = 0.20(100) = 20N.

Friction should be added to your contact definition if it is expected that loads will be transmitted along the contact plane. Some applications include bolt preload, tires, and metal forming.

We can set up friction in Abaqus CAE as an interaction property. In the interaction module, create an interaction property, then select “contact” as the type. From there, create a tangential behavior:

Abaqus offers different friction formulations. I’ve summarized them in the sections below along with the results of an example. This example is the same setup as the hand calculation example earlier, except that instead of pushing the top block with a force, a velocity of 10 mm/s was applied in the x direction for one second instead. Normal contact behavior was also included, and surface-to-surface discretization was used.

This allows surfaces in contact to slide freely without friction (µ = 0).

In our example, the upper block was able to slide with no reaction force in the x direction. Pretty uneventful!

This permits some relative motion of the surfaces (an “elastic slip”) when they should be sticking. This is the default way to define friction in Abaqus as this method is a lot easier to solve and the elastic slip is a very small fraction of the element length. This formulation works well for most static applications.

For our example, we got an x reaction force of 25 N, which is exactly what we’d expect from Coulomb’s friction model.

This allows the static and kinetic friction coefficients to be defined directly, assuming that the friction coefficient decays exponentially from the static value to the kinetic value.

In the above equation, dc is the decay coefficient and is the slip rate. This formulation works well for dynamic loads where the slip rate changes over time.

We can calculate the expected x direction reaction force from our example to be:

If we were to change the slip rate, (in this case, the prescribed velocity of the upper block), our friction force would change accordingly.

This prevents slipping regardless of contact pressure (µ = ∞).

With rough friction, the reaction force in the x direction diverges and the model does not solve since I’m applying a velocity on a component that can no longer move.

This enforces the sticking constraints at an interface between two surfaces exactly. This method is only available in Abaqus/Standard. Using the Lagrange multiplier not only increases the computational cost of the analysis but also usually increases the number of iterations required to converge. Sometimes, this may even prevent convergence completely, so I would only recommend using this for applications where the stick/slip behavior is absolutely crucial for results.

In our example, I get an accurate reaction force, but the job does not solve, as it experienced slipping contact chatter, as can be seen in the plot below of the last increment before the job fails:

When we switch the contact definition to use node-to-surface discretization, the analysis converges properly:

If none of the other friction formulations are sufficient, the friction model can be defined through a user subroutine. With a user-defined friction model, the shear stress due to friction can be defined as a function of a number of variables, including slip, slip rate, and temperature.

In summary, friction is the sliding resistance encountered between two objects in contact. It is proportional to the normal force between the objects and is also affected by the materials of the objects in contact. Abaqus offers several different formulations for modeling friction to match all kinds of analysis needs.

However, there are many problems and modeling techniques involving friction that are a lot more complex than what I’ve been able to cover in this blog. If you’re struggling with a particularly difficult friction problem, our expert engineers are here to help! **Reach out to us today**!

We often hear about convergence issues, which can arise from multiple underlying sources while working with FEA problems. Convergence is a crucial aspect of FEA, which refers to the state of the computed solution - where it becomes stable and does not change significantly with further refinement of the numerical model parameters such as mesh density or iteration steps. In this article, we will learn about different types of convergence and how to tackle them to attain a reliable numerical solution.

FEA is a computational method used to solve the equation of motion of a physical system describing its behavior. In this numerical technique, the physical domain is divided into smaller, finite sized, elements to calculate approximate behavior. The solution coming from FEA is an approximate solution, which is highly dependent on mesh size and the type of elements, which can often lead to mesh convergence issues. There are two methods to overcome the mesh convergence issues, and these are discussed below.

In H-based methods, the physical system is meshed using simple first order linear or quadratic elements. The accuracy of the solution is improved by increasing the number of elements in the model. The computational time increases with increase in number of elements. This method is used in Abaqus predominantly. With increase in the refinement of the elements, the solution gets closer and closer to the analytical solution. The goal here is to find the mesh resolution where further refinement is not going to significantly alter the results. This mesh refinement is not applicable in some situations leading to singular solutions like reentrant corners, crack tips in fracture analyses, concentrated forces applied to single nodes and localized material damage problems.

The H method is demonstrated using a simple FEA model below. As we can see that, with decrease in element size, the nominal stress in the model is reaching a converged value of 13.6 MPa.

In this method, the number of elements is kept minimal, and the convergence is achieved by increasing the order of the elements (4th , 5th or 6th). The computational time increases again with increasing the order of elements as the number of degrees of freedom increases exponentially with the element order. The figure below demonstrates the P method. We can see that the nominal stress quickly reaches its asymptotic value by changing the order of the element.

Achieving mesh convergence is very important as it ensures that the obtained FEA solution is not highly dependent on the mesh size and that it accurately represents the physical behavior of the system. It increases the confidence inaccuracy of the numerical results and helps engineers to make sound decisions about the design and analysis of the structures. This can be computationally very expensive as it requires multiple iterations. So, it is essential for the engineer to use their judgement and company-based guidelines to attain a balance between mesh refinement and computational resources.

This is a very important aspect of finite element analysis, especially in dynamic simulations that are highly time-dependent, such as structural vibrations, impact analysis and transient thermal behavior. In these dynamic simulations, the equation of motion must be integrated over time. So, the size of the time step must be small enough to capture any phenomenon occurring in the analysis and to achieve reliable and meaningful results in dynamic simulations.

Abaqus provides user specified parameters to control time integration accuracy like half-increment residual tolerance, maximum temperature change allowed in an increment and maximum difference in creep strain allowed in an increment. Using these parameters, we can ensure that all the nonlinear behavior is captured during the analysis.

Higher-order time integration methods, such as implicit and explicit Runge-Kutta methods can be used in simulations where higher accuracy is required. But these higher accuracy methods are associated with higher computational costs.

When the external loads (**P**) are applied on a system, it is subjected to internal forces (**I**) due to stresses generated in the system. It is said to be in equilibrium when the external forces are balanced by internal forces.

**P – I = 0**

For linear problems, this equation will have a unique solution. The solution **u** is calculated by only using the current value of **P.**

**P – Ku =0**

But when nonlinearity is introduced into the FEA model through material, boundary (contact, friction) and geometry (large deflections/rotations), the stiffness of the structure changes as it deforms under the applied loads. For more detailed information regarding nonlinearity, please refer here. An example force- displacement curve for a nonlinear model is shown below.

The above equilibrium equation will not have a unique solution when nonlinearity is present in the FEA model. The equation may have zero, one, many or infinite number of solutions.

The solution **u** depends on the entire load history of **P**. To solve these nonlinear problems, a common technique is to break the total load applied into small incremental loads. With increase in nonlinearity in load application, the increment size reduces, leading to an increase in computational costs. An approximate solution is calculated for each load increment using several iterations. The two robust iterative methods used for solving nonlinear problems are Newton-Raphson and Quasi-Newton techniques. In the Newton-Raphson method, the stiffness matrix is calculated in every iteration, whereas it is not recalculated for every iteration in Quasi-Newton method. A sufficiently accurate solution is calculated for each iteration using these methods by specifying tolerances.

**P – I = R ≤ Tolerances**

A converged solution refers to a stable and consistent solution as the analysis progresses. To attain this, all the above discussed sources of convergence errors need to be tackled: Mesh, time and load integration accuracy and nonlinearity in the model. Further, this also requires good engineering judgement in creating analysis models with proper materials, loads, boundary conditions and solution procedures. The goal here is to achieve a solution where the parameters, such as residuals and errors, decrease to a minimal level and remain constant.

Convergence criteria is highly significant in FEA as it determines the accuracy and reliability of the obtained numerical results. The computed solution may not produce the actual behavior of the physical system if convergence is not reached. Hence, analysts have to perform sensitivity studies by changing parameters like mesh density, time step and load increments to be sure that they have reached a converged solution.

Hopefully, this article has given a good overview of sources for convergence and how to tackle them. We’re always here to help, so if you have questions about convergence in your models, or just FEA in general, **don’t hesitate to reach out**!

- Automobile driving on a rough road, potholes, railroad tracks and other obstacles.
- Motor vibration in vehicles.
- Rocket motor ignition vibration during the first few seconds and during powered flight.
- Hard disk drive motion.
- Load on an airplane wing during flight.
- Wave height in the ocean.
- Motion of buildings, poles, bridges, and other structures during an earthquake.

In these examples, the motion varies randomly with time, and it is nonperiodic. Hence, the amplitude of vibration cannot be expressed as a deterministic mathematical function. Instead, we have to use the statistical nature of the input excitations, such as acceleration, force, velocity or displacements. Let’s take a look at an example of a car travelling on a rough road. The figure below shows the time history of the vertical acceleration of the car.

Now, if we have to model the actual behavior of the car subjected to this load, we have to use an Explicit algorithm with a very small-time step. This method becomes computationally very expensive to solve for medium to large physical systems. An alternate method for evaluating these physical systems subjected to random loads is using a statistical or probabilistic approach. Most of the random excitations follow a Gaussian (normal) distribution as shown in the figure below. This shows that 68.26% of the random data corresponds to the 1*σ interval *and 99.7 %* *of the random data corresponds to the* *3*σ interval.* Since the input excitation has statistical behavior, it is assumed that the output variables, such as displacements and stresses, have statistical nature as well.

In this method, the frequency data from the time history is acquired, along with the statistical data of the amplitude, and this is used as the load in a random vibration analysis. This spectrum is shown in the figure below and is termed as a Power Spectral Density (PSD).

Now, let’s understand what constitutes a PSD curve. The magnitude of the PSD curve is the mean square value of the input excitation. For the above acceleration vs time plot, the mean of the squared acceleration values is the power of the PSD. This power is distributed over a spectrum of frequencies (x axis) as it provides useful data when dealing with physical systems that have resonance. The power of the PSD is dependent on the frequency band width. Hence the change in frequency bands causes variation in the squared magnitudes. To overcome this, a consistent independent value of power, termed as density (y-axis), is calculated by dividing the squared magnitudes by the frequency bandwidth. Hence the units of PSD is G2/Hz.

The random vibration analysis in FEA is solved using mode superposition method. This is a linear analysis and requires an input of natural frequencies and eigenmode shapes of the physical system extracted from a linear modal analysis. The input PSD can be in terms of acceleration, velocity or displacement.

Non-zero displacements and rotations cannot be prescribed as boundary conditions in a random vibration analysis. The only loads that can be applied to the system are excitation loads (velocity, acceleration, displacement) applied through a PSD curve. Only one excitation direction is possible in each step. To compute the system’s response in multiple directions, different steps have to be used. The material density and elastic properties must be assigned to the region where dynamic response is required. Plasticity, thermal properties, rate dependent properties, electrical, diffusion and fluid flow properties cannot be included in a random response analysis since they are typically nonlinear, as are contact algorithms. While analyzing a multi-body system, components can either be tied together or connector elements can be used. The random response analysis cannot be used if contact plays a crucial role in determining the motion of the body. In that case, an alternative dynamic analysis method should be considered.

Frequency range of interest for the random response analysis needs to be specified in the analysis. The response of the system will be calculated at multiple points between lowest frequency of interest and the first eigenfrequency in the range, between each eigenfrequency in the range and between the last eigenfrequency in the range and the highest frequency in the range as shown in the figure below.

The bias parameter is used to determine the spacing of result points in each of the frequency intervals as shown in the figure below. A bias parameter of 1 gives equally spaced result outputs in the frequency interval. However, most relevant information is usually clustered around the resonant frequencies of interest.

The output of a random response analysis will be the PSD of stresses and displacements, and variance and root mean square values of these variables if required. Note that these are not the actual stresses of the physical system at any time point, but they are root mean square values of the stresses occurring in the system undergoing random vibrations. The figure below shows the RMS values of the von Mises stress for a steel structure subjected to random vibrations.

Since, the input excitations are assumed to have a normal distribution, the output variables will also have normal distributions. So, they can be extracted with different levels of confidence (68.26%, 95.44% or 99.72%). The computational cost of the simulation can be reduced by requesting the output only for selected element or node sets.

Once high stress regions are identified from the results, a spectral plot of stresses can be plotted. These plots can be used to identify the frequencies that contribute most to the RMS stress. Good insights into potential design changes can be obtained by reviewing frequency response displacements at the problematic frequencies determined from the stress spectrum.

Random response analysis predicts the response of a physical system subjected to a non-periodic continuous excitation that is expressed in a statistical manner. This analysis is incorporated in the design phase by engineers to avoid issues in the physical system related to these dynamic effects. Hopefully, this article has provided some useful insights into the components of PSD curve as well as input and output parameters for a random response analysis.

We’re always here to help, so if you have questions about dynamic effects in your designs or models, or just FEA in general, **don’t hesitate to reach out**!

For example, it is useful in medical imaging, radio communication and musical instruments. Whereas it can cause excessive vibrations, increased stress, and potential failure in engineering scenarios. Hence, frequency analysis is incorporated in the design phases by engineers to avoid issues related to resonance.

This blog post examines the Eigenvalue problem and the extraction methods available in the Abaqus solver.

Frequency extraction is a linear perturbation procedure to calculate the natural frequencies and corresponding mode shapes of a multi-body systems. The general equation of motion without external excitation is given below,

where [*M*] is the symmetric and positive definite mass matrix, [*C*] is the damping matrix, [*K*] is the stiffness matrix, *mu* is the eigen value and {o} is the eigenvector.

The above equation system yields complex eigenvalues and eigenvectors. This equation can be simplified by ignoring [C] and assuming symmetric [K]. This symmetric system has real squared eigenvalues *mu*2, and real eigenvectors.

Expressing *mu = ,iω*, where *ω, *is the circular frequency, the above eigen value problem becomes,

In the above equation, all the eigen values are positive when [K] is positive definite. Instabilities and rigid body modes cause [K] to be indefinite leading to negative and zero eigenvalues. There are different eigenvalue extraction methods available in Abaqus. Let’s briefly discuss these methods in this article:

This is the default method of extracting frequencies in Abaqus because of its more general capabilities, especially while dealing with symmetric sparse matrices. This is an iterative numerical method used to extract approximate eigenvalues and eigenvectors. In each Lanczos run, a set of iterations called steps are performed. In each of these steps, the size of vector subspace grows allowing for a better approximation of the eigenvectors. The size at which the subspace grows is determined by the block size at each Lanczos step. By using this sequence of subspaces, a tridiagonal matrix [T] that approximates the eigenvalues and eigenvectors of a large, sparse symmetric matrix is constructed iteratively in this solver.

The eigenvalues extracted from this tridiagonal matrix [T] are the approximate eigenvalues of the original symmetric matrix.

*Termination of Lanczos run:*

The run will be terminated when one of the following conditions is met.

- All the required eigen values are extracted.
- The tridiagonal matrix is ill-conditioned or singular.
- The number of Lanczos steps exceed the specified maximum value.
- The cost per solving an eigenvalue is increasing.

This method is faster than Lanczos and a powerful tool, which can be used when a large number of eigenvalues are needed to be extracted for huge models with many degrees of freedom. AMS solves for the eigenvectors at every node in the model by default, but we can also request the eigenvectors only at specific nodes by creating a node set. This improves the efficiency of the model by reducing the amount of stored data.

This AMS method consists of three phases which are briefly described below.

*Reduction Phase*

The full physical system is reduced using a multilevel substructuing technique to help in a highly efficient eigenvalue extraction. A multilevel supernode elimination tree is created as shown in the figure below. Starting from the lowest level of supernodes in the elimination tree and moving upwards, the substructure reduction technique is used to reduce the size of the matrix system. Local eigenvalues are extracted at each of these supernodes by fixing the DOF attached to the next highest level supernode. By the end of the reduction phase, the original matrix system is reduced to a unit diagonal matrix with only off diagonal non-zero values representing the coupling between supernodes.

*Reduced Eigen Solution Phase*

In this phase, the eigenvalues and vectors are computed for the reduced matrix system. This reduced system will usually be too large to solve directly. Hence, a single subspace iteration step is used for solving this reduced problem.

*Recovery Phase*

Using the eigenvectors of the reduced problem and local substructure modes, the eigenvectors of the original system are extracted at the specified nodes.

This method is faster when only a few (<20) eigenvalues are needed. In this method, the eigenvectors of the symmetric, undamped system are extracted first. A subspace is created using these extracted eigenvectors. The difference between Lanczos and subspace iteration methods lies in the fact that the dimension of subspace used to approximate the eigenvectors is fixed in the subspace iteration method. To extract the original complex eigenvalues of the actual system, the original mass, damping, and stiffness matrices are projected onto the created subspace as shown below.

Substituting these projected matrices into the original equation of motion gives,

The transformation will reduce the size of the matrix system to be solved. The above small complex eigenvalue problem is solved using the standard QZ method to calculate the approximate eigenvalues of the original system. The eigenvectors of the original system can then be recovered from the projected eigenvectors using the equation below.

Thus, the subspace iteration method can be used effectively to extract the eigenvalues and eigenvectors of a complex system by reducing its size. The lower the number of eigenvalues required, the smaller the size of the matrix system.

Frequency analysis is an integral part of the design process. It helps in predicting the behavior of the system under different dynamic loads. Hopefully this article has provided a summary of eigenvalue extraction methods available in Abaqus. Typically for a small model, any of the three extraction methods described here can be used. But while solving large models, the proper choice of extraction method should be made for better computational efficiency and reducing stored data.

We’re always here to help, so if you have questions about contact in your models, or just FEA in general, **don’t hesitate to reach out**!

As you can see, as the mesh gets finer, the maximum stress continues to increase (diverging) and is always concentrated on the last row of elements before the thickness change. Does this mean that FEA is broken and we can’t trust its results anymore? Not at all - this is a stress singularity known as a reentrant corner.

We can define a reentrant corner as a perfectly sharp inside corner that causes an infinite change in stiffness in the part. Because the change in stiffness is infinite, the stresses in a reentrant corner will always diverge.

Let’s illustrate this with an example. Here we have four beam elements arranged in an angle with the elements and nodes labelled. Since element 3 is along the x axis, its stiffness matrix involves the derivatives of the shape functions at nodes 3 and 4 with respect to x (dN/dx). However, at node 3, the derivative of the shape function with respect to x is 0 since element 2 is along the y axis. This leads to a stiffness matrix containing only 0s.

Since element 2 is along the y axis, its stiffness matrix involves the derivatives of the shape functions at nodes 2 and 3 with respect to y (dN/dy). However, at node 3, the derivative of the shape function with respect to y is 0 since element 3 is along the x axis. This also leads to a stiffness matrix containing only 0s. No matter which element you use to formulate the stiffness matrix, the stiffness matrix at node 3 will also be full of 0s, leading to the stress singularity.

If we added a radius to this example, we can then formulate a stiffness matrix at node 3 since both elements 2 and 3 have changes in x and y.

Reentrant corners are very common in FEA – they can occur because of how a component is modeled in the CAD, or they are made as a result of geometry simplification.

The first (and most important) step is to recognize the reentrant corner in the first place! If you’re not sure you can always try to make the mesh finer in the area and see if the stress is diverging or not, similar to the study done earlier in this blog.

Once the reentrant corner is identified the easiest approach is to simply ignore the stresses right on the reentrant corner. This approach is most valid if the reentrant corner is not in a high stress area of concern. Typically, the stresses one or two elements away from the corner are more realistic. This is known in more academic terms as Saint-Venant’s principle, which states:

“Stress and strain produced at points in a body sufficiently removed from the region of load application will be the same as the stress and strain produced by any applied loadings that have the same statically equivalent resultant, and are applied to the body within the same region.”

If the cross section allows for it, performing a hand calculation on the section forces at the reentrant corner will typically give a more accurate result as well, especially if running a linear static analysis.

If the reentrant corner is in a high stress area of concern, the other approach is to add a small radius, which changes the stress singularity into a stress concentration. This would allow the mesh to converge properly. Additionally, in almost all real-life applications, perfectly sharp reentrant corners do not actually exist due to manufacturing constraints, so adding a small radius would be valid. Just beware of doing this to all reentrant corners in your model as the element count, and therefore, runtime, can get very large very quickly. Consider sub-modeling if needed. Also, if you have physical test results, you could correlate to them using your model.

In this example, a shaft with a cross section of 10 mm in diameter and 10 mm long is loaded with a force of 500 N in the X direction. The analysis was run with linear static assumptions.

In the contour below, there is no radius between the shaft and the thicker piece (which is 30 mm in diameter). Just like the tension example from earlier in this blog, the stress values at the corner diverge since there is no radius and therefore there is a reentrant corner.

The table above compares the stress values from the FEM with the hand calculated stress at 1mm away from the reentrant corner. As you can see, the FEM stress matches the hand calculated stress quite well at 1mm away from the corner, while the FEM stress diverges at the corner. The formula used for the hand calculated stress is

where *P* is the expected stress, *V* is the shear force, *M* is the bending moment, A is the cross-section area, *I* is the area moment of inertia, and *r* is the radius. At 1mm away from the corner, we expect *V* = 500N and *M* = 4,500Nmm.

As an alternative to probing the stress directly from the FEM, you can pull the section forces, which will get you a much more realistic answer which will converge as the mesh gets finer.

Section Forces, corner: [Expected: V = 500N and M = 5,000Nmm]

Section Forces, 1 mm from the corner: [Expected: V = 500N and M = 4,500Nmm]

The table above compares the stress values calculated from the section forces (using the same formula as before) with the hand calculated stress at the reentrant corner and at 1mm away from the reentrant corner. Compared to the previous table with the FEM forces, the section forces converge toward the hand calculated value at both locations. HOWEVER, there is one very important caveat – even though the stresses at a reentrant corner won’t be infinite in real life, the corners will still be stress concentrations and will therefore have elevated stresses. This elevated stress is equivalent to the hand calculated stress multiplied by a stress concentration factor (Kt). If there is a known or assumed radius, the stress concentration factor can be quantified using a resource such as *Peterson’s Stress Concentration Factors* and used in conjunction with the section forces to find the real stress, which is done in the example below.

In the contour below, a radius of 0.5 mm is added to the same shaft.

The image above shows that the stress values converge when a small radius is added. These stresses will not match the section forces in this case due to the stress concentration caused by the radius; however, this stress concentration is quantifiable using *Peterson’s Stress Concentration Factors*. In the table below, the hand calc stress from the corner before is multiplied by Kt = 2.39, which was calculated using *Peterson’s*.

From *Peterson’s Stress Concentration Factors*:

It is important to stress that mesh size does matter a lot when using a radius – if there’s not enough fidelity through the radius, you will not get the correct stress value. In the plot above, the stresses in the circled region are <5% away from each other, with the variation being due to each mesh size (0.125mm, 0.25mm, and 0.5mm) having different amounts of elements through the radius.

Reentrant corners are stress singularities that mathematically diverge as the mesh gets finer. While perfect reentrant corners are very rare in real life, they are very common in FEA due to geometrical simplifications. The two most effective approaches to handling them are to either ignore the stresses at the corner or to introduce a small radius. Knowing how to effectively handle these is an essential aspect to performing proper FEA.

If you’ve been struggling with a reentrant corner in your project, our well-rounded services team can help! **Reach out to us today**!

Celtic is a non-league football club based, as the name might suggest, in Stalybridge, which is a suburb of Manchester, England. They currently reside in the Northern Premier League Division One but, until recently, played in the upper reaches of the non-league pyramid. Their home is Bower Fold and they play in traditional blue and white kits. Keep an eye out for them soon!

Although we're based in the US, Rob Hurlston (Co-Owner of Fidelis along with Bill Webster) originally grew up right by the stadium and followed the team home and away for over 15 years before moving to the US in 2012.

Fidelis Co-Owner Rob Hurlston said: “Fidelis is incredibly proud to become the main sponsor of Stalybridge Celtic for the 2023/2024 season.

“As a devout follower of the club since I was a kid, the opportunity to help out and gain some exposure for Fidelis was a no brainer.

"I brought up the idea of becoming the main sponsor of an English 'soccer' team to Bill on the golf course and I think maybe the idea of becoming a real life Ted Lasso enticed him?

“We'll probably be the only international sponsors of a team at this level. And we’ll all be donning our Celtic shirts in the office and following the team this season!

“I was right behind that Stuart Locke penalty at Droylsden and I am so pumped to see the good times back at the Bridge!”

Afshin Mirtorabi and Andy Seddon, commercial directors at Stalybridge Celtic said: “We’re both delighted that Fidelis have decided to partner with the club and become our shirt sponsor for the 2023/24 season.

“From our very first conversations, Rob’s enthusiasm and excitement for all things Celtic was very clear. Despite Rob living in the US for the last few years, he has continued to follow the fortunes of Celtic. The timing proved to be perfect as Rob’s business has continued to successfully grow which has coincided with the new ownership and new era beginning at Celtic.

“We look forward to welcoming Rob to Bower Fold at the earliest opportunity!”

Learn more about the mighty Celtic at www.stalybridgeceltic.co.uk and follow along in our journey!

]]>However, if the applied external loads exceed yield stress, permanent deformation occurs, and the material will not be able to recover its original shapes upon unloading. In a ductile metal for example, if the plastic deformation exceeds the ultimate tensile strength of the material, the dislocations become concentrated in a localized region. Any additional plastic deformation leads to reduction in cross sectional area and further stress concentration in that region, ultimately leading to breaking of the material as shown in the image below.

Damage is a highly dynamic process and needs to be considered while simulating the behavior of components under high strains. There are many examples (including this fun one that we made) of finite element simulations that use damage material models to predict the behavior of materials and structures under different loading conditions. Here are some examples:

- Crashworthiness Analysis: In automotive engineering, crashworthiness analysis is used to predict the behavior of a vehicle under crash conditions. Modeling damage with the FEA allows us to predict the extent and location of damage in the vehicle structure, as well as the occupant injury potential.
- Metal Forming Simulation: In metal forming processes, such as forging or stamping, damage material models can be used to predict the onset and progression of damage, such as cracking or necking, in the material. This information can be used to optimize the forming process and prevent component failure.
- Composite Material Analysis: Composite materials, such as carbon fiber reinforced plastics (CFRPs), have complex failure modes due to their anisotropic and heterogeneous nature. Finite element simulations with damage material models can be used to predict the onset and progression of damage, such as delamination or fiber fracture, in composite materials under different loading conditions.
- Concrete Structure Analysis: Concrete structures, such as buildings or bridges, can experience damage due to various factors, such as weathering, seismic events, or overloading. Finite element simulations with damage material models can be used to predict the onset and progression of damage, such as cracking or spalling, in concrete structures under different loading conditions.
- Biomechanical Analysis: In biomedical engineering, finite element simulations with damage material models can be used to predict the behavior of biological tissues, such as bone or cartilage, under different loading conditions. This information can be used to design and optimize medical implants or prostheses.

If damage is not defined in a material model, Abaqus continues to evaluate stress strain behavior indefinitely. Instead, the material behavior can be accurately represented by multiple damage initiation and evolution criteria. Let’s briefly discuss damage initiation and evolution for ductile materials in this article.

The figure below shows stress-strain behavior of a material undergoing damage. The solid line shows the damaged behavior of the material whereas the dashed line shows the material response when the damage is not present. The progressive degradation of material occurs due to damage after the stress exceeds ultimate tensile stress (UTS) of material. In the figure, *σy0* and *εpl0* are the UTS and equivalent plastic strain at the onset of damage, and *εplf* is the equivalent plastic strain at failure. At the failure point, the overall damage variable reaches the value *D = 1*. This overall damage variable * D* encompasses the combined effect of all the active damage mechanisms occurring within the material. The value of

Two aspects must be considered in the damage model to implement it into a finite element simulation. One is defining when the damage is initiated in the element and the other is how the stresses in the elements evolve once the damage is initiated. These two aspects for ductile damage model are explained elaborately here.

This is a basic damage model used to define the fracture of metals using uniaxial test data. Fracture in ductile metals occurs due to nucleation, growth, and coalescence of voids. This damage criterion can be used along with equation of state and different plastic models such as Mises, Johnson-Cook, Drucker-Prager and Hill in Abaqus.

This model assumes that the equivalent plastic strain at the onset of damage *εplD* is a function of stress triaxiality and strain rate. The damage initiation occurs when the following condition is satisfied at the material integration point.

Here, *ωD* is the state variable that increases monotonically with plastic deformation in the material, *η* is the stress triaxiality and *ε.pl* is the equivalent plastic strain rate. Stress triaxiality is calculated as,

Here, *p *is the hydrostatic pressure from the stress tensor and *q* is the von Mises equivalent stress. The values of stress triaxiality for different loading modes are given in the table below.

At each step time increment of the analysis, the increment in damage variable *ΔωD* is calculated as,

The increment is added to the state variable at previous time increment and damage is initiated when this state variable reaches 1. If the damage is independent of equivalent strain rate *ε.pl*, its value can be prescribed as 0. The effect of temperature and other field variables can also be incorporated into this initiation criterion in Abaqus.

Once the damage is initiated in the material, the progression of stresses at integration point are highly effected. The material fails due to progressive degradation of material stiffness. Evolution defines how the material degrades after the damage initiation criteria is met. The equivalent plastic strain at failure depends on the element dimensions, it cannot be used as a material parameter. The parameters selected to define evolution should be independent of the element dimensions in the model.

**Based on effective plastic displacement -**In this criterion, the damage is defined as a function of plastic displacement after the damage initiation. This displacement is independent of the element size.**Based on energy dissipation -**In this evolution method, fracture energy required for failure of the material is defined. This is the area under stress train curve after the initiation of damage.

Damage is a highly dynamic process and needs to be considered while simulating components subjected to very high strains. There are many damage initiation and evolution models available for finite element implementations in Abaqus. Hopefully, this article has provided some insights on the ductile damage criterion, which is very well suited to model fracture of metals.

We are always here to help, so if you have questions about damage in your models, or just FEA in general, **don’t hesitate to reach out**!

The surfaces between the two bodies involved in the contact interactions are distinguished as primary and secondary surfaces in the Abaqus FEA software. Each contact pair is composed of a primary and secondary surface.

- Primary surface: Contact behavior is defined and controlled typically by the primary surface. It is the surface that initiates contact with another body and is responsible for generating contact forces and reactions. It is defined in the section of the input file where contact properties and behavior are specified.
- Secondary surface: This interacts with the primary surface and experiences contact forces and reactions. The secondary surface is not responsible for initiating contact, but it merely responds to the contact behavior defined on the respective primary surface.

The contact between multiple components in a mechanical assembly can transpire in multiple ways as demonstrated in the figure below:

- Surface to surface
- Surface to edge
- Edge to edge
- Vertex to surface

When setting up contact problems in Abaqus, you'll typically need to define contact pairs (unless using the general contact algorithm), specify contact behavior (friction, separation, etc.), assign appropriate contact properties, and apply appropriate boundary conditions to simulate the desired contact behavior accurately. In Abaqus/Standard, we have three ways for defining contact:

General contact is specified as a part of model definition, which allows simple contact definitions with very few restrictions on the surfaces involved. This uses robust tracking algorithms to ensure proper contact conditions are enforced efficiently. It has a simple interface and allows for highly automated contact definition. However, it is computationally very expensive because of this. Self-contact and multibody contacts can be specified using a single definition.

The simplest way to define contact is to specify self-contact for a default unnamed, all-inclusive surface which is automatically defined by Abaqus. This way, all the regions that can potentially come into contact in an assembly are enveloped into the general contact domain. This default domain encompasses all exterior element faces and all analytical rigid surfaces and it is defined only once at the beginning of the analysis. The computational performance and robustness of this algorithm can be improved by just adding specific contact inclusions and exclusions at assembly level in the general contact domain.

Specified using pairwise contact interactions for certain contact surfaces. The contact pair is defined by indicating the surfaces that may come into contact during an analysis. Be aware that extending these contact surfaces to include surface faces and nodes that may never come into contact results in significant memory usage, which increases the computational cost. Every contact pair must be specified with an appropriate interaction property. This may result in efficient analysis if there are only a few contacting pairs in the model.

This differs from general contact in terms of user interface, default numerical settings and the available options and can be used in conjunction with general contact algorithms. It is sometimes useful to define surface pairs with complex interaction definitions using the contact pair algorithm while letting others self-resolve with the general contact algorithm.

This is rarely used, and the contact is specified though elements or slide lines. Abaqus has a library of contact elements such as GAPCYL, GAPSPHER, CAXAn and DGAP, which can be used based on the model requirements. Heat flow in a discontinuous piping system is an example where contact elements should be utilized.

It is important to note that contact problems can be computationally intensive, especially for large-scale simulations with many contact interactions. Proper meshing, convergence criteria, and solution techniques should be considered to ensure accurate and efficient simulations. Some of the things to think about while modelling contact are briefly explained here.

This occurs when the two contacting surfaces overlap in the model at the beginning of analysis. This can be caused by poor CAD modelling, mesh discretization or intended overlap for interference fits as shown in figure below.

Initial overclosure can be resolved in two ways: with strain-free adjustment or with interference fits. In strain free adjustment, the nodes on the secondary surface are moved until the overclosure is removed without any stresses and strains generated in the elements. This is appropriate for unintended overlaps occurring due to CAD modeling and mesh discretization.

The initial overlap can also be treated as interference fit for contacting surfaces. The interference between the surface pair is gradually removed in the first step of the analysis resulting in realistic stresses and strains in the deformed geometries. This can be specified only in the first step of a Standard analysis in Abaqus.

This occurs when there is gap between the contacting surfaces as the beginning of the analysis. an initial gap can lead to rigid body motion of components during the analysis, which will, in turn, lead to convergence issues. Numerical singularity warning messages and very large displacements indicate the unconstrained motion in a static analysis. Large initial gaps should be avoided whenever possible in the model and small initial gaps can be removed using strain free adjustments of the elements. If large initial gaps are inevitable in the model, the contact stabilization option, which introduces artificial damping in the analysis, can be used.

Poor mesh quality can lead to roughly defined surfaces causing undesirable behaviors such as excessive penetration, unexpected opening, and inaccurate force application between the contacting surfaces. This can cause nonconvergence and termination of the analysis.

When the meshes on the primary and secondary surfaces do not match, the primary nodes can grossly penetrate the secondary surface without any resistance as shown in the above figure. This problem can be alleviated by refining the mesh on secondary surfaces. Also, using surface-to-surface contact can resist the penetration of primary nodes into the secondary surface. Coarser meshes on two contact surfaces with dissimilar curvatures can also lead to contact interactions occurring entirely within the bounds of a single element as shown in the figure below. This will lead to unreliable and unrealistic results as the primary node penetrates the secondary surface until it encounters a secondary node. Refining the mesh to spread the contact interaction over multiple element faces can help while modelling contact surfaces with dissimilar curvatures. However, unless perfectly matching meshes are used, local oscillations may be observed in the contact stresses and pressures, even in the refined models.

Contacts are an essential part of model definition in FEA, which can lead to nonlinearity and convergence issues. These problems can be computationally expensive for large-scale simulations with multiple contact interactions. Hence, Proper meshing, convergence criteria, and solution techniques should be considered to ensure accurate and efficient simulations. Hopefully this article has given a good overview of different ways of defining contact and overcoming commonly observed issues in a multibody analysis.

We’re always here to help, so if you have questions about contact in your models, or just FEA in general, **don’t hesitate to reach out**!

As one would expect, the Mesh module in Abaqus CAE contains the tools needed to generate a 3D mesh. Within this module, it is worth noting that the geometry becomes color-coded according to the meshing algorithm selected for a given part. As shown below, orange surfaces indicate that the part cannot be meshed automatically; this can generally be rectified by cleaning up the geometry, partitioning surfaces, or changing the type of element desired.

The other mesh-based surface colors present in Abaqus CAE are pink (Free Mesh), green, (Structured Mesh), yellow (Sweep Mesh), and Tan (Bottom-Up Mesh), which will be discussed in more detail in the following sections.

The Free Mesh algorithm, which is indicated by a pink surface color, is likely the most versatile mesh available in Abaqus CAE. This method uses an unstructured approach to fill a solid void with elements and does not require that they be regular or uniform in size. This meshing approach is sometimes the only option, especially for geometries with highly complex shapes. An example of a tetrahedral Free Mesh is shown below (note the inconsistent mesh through the cross-section).

The Sweep Mesh algorithm can be identified by a yellow surface color and provides a convenient method for modeling extruded or revolved parts. This approach provides a much more consistent mesh than Free Meshing since it essentially projects a 2D mesh along a path in 3D space; this results in an evenly distributed, layered mesh across the entire part. An example of a hexahedral Sweep Mesh is shown below (note the consistent, layered mesh through the cross-section).

The meshing technique that typically provides the highest quality mesh is the Structured Mesh algorithm. This approach is denoted by green surfaces and can only be used on components that can be meshed with consistently sized and shaped elements. This approach is only available when the geometry is partitioned into “regular” shapes (cuboids, cylinders, etc.) and the biggest advantage to using this algorithm is that structured meshing can produce consistent, high-quality mesh. However, since structured meshing requires the elements to be arranged in a regular pattern, this option is often only available when complex geometric surfaces are manually partitioned into regular shapes (rectangles, circles, etc.).

In addition to the automatic meshing techniques previously discussed, Abaqus CAE offers a manual meshing option that provides users with more control over the quality of the mesh. This algorithm, referred to as Bottom-Up Meshing, can be identified by a tan surface color and offers a robust method for generating hexahedral meshes. Because this incremental meshing style uses elements that are not inherently tied to the geometry, this approach offers more versatility than the automatic meshing algorithms when it comes to modeling complex geometry.

Now that we’ve reviewed the various methods available for generating 3D mesh in Abaqus CAE, let’s take a moment to briefly discuss some other important aspects of meshing.

Selecting the appropriate element type for a given simulation is critical for obtaining accurate results. For instance, using fully-integrated hexahedral elements in bending results in shear locking (which artificially stiffens the model); similarly, using incompatible mode elements in compression can often lead to convergence difficulties.

When meshing, it is important to ensure an appropriate element size is being used. This is paramount when reviewing stress results in regions of high gradient since large elements will generally underpredict stress (since the localized force is distributed over a larger area). A mesh sensitivity study can be performed to determine whether a mesh is suitable for a given analysis.

Utilizing a high-quality mesh is required in order to obtain valid FEA results. Typically, high-quality mesh will use elements that are well-shaped, well-connected, and uniform in size. The quality of the mesh can be assessed using the element quality checks in Abaqus CAE.

**Final Thoughts:**

Meshing is one of the most critical steps of the FEA process. A low-quality mesh will heavily impact the accuracy and reliability of your results, so be sure to use appropriate meshing techniques and follow the best practices outlined above when performing your next Finite Element simulation.

If you need additional assistance about meshing, Abaqus CAE or anything else FEA-related, don’t hesitate to **reach out** to our team!

Strain, the underlying core of any FEA solver, measures the deformation of an object. Objects that are stretched, compressed, bent, or twisted undergo a change in shape. Strain is defined as this change in length divided by its original length. Although it is commonly presented as a percentage, strain itself is the unitless measure of deformation. A simple example of uniaxial strain is presented below:

The strain in the bar is defined by the change of length (in this case due to tension) divided by its original length.

Stress, on the other hand, is defined by the amount of pressure or tension applied over the cross-sectional area of the object.

The tensile stress in this bar can be calculated by taking the amount of force applied and dividing by the cross-sectional area of the member.

The relationship between stress and strain can be graphed using what is called the Stress-Strain Curve. Each material has its own unique stress-strain curve. Materials that have similar characteristics, like ductile metals or elastomeric foams, will all share a similar looking Stress-Strain Curve. A stress-strain curve representative of most common metals is shown below for reference.

The graph starts with a linear segment (left of the dashed line) referred to as the elastic region. This region is characterized by the linear relationship between stress and strain: as strain increases, stress increases by a proportional amount. The Proportional Limit marks the point when the stress-strain relationship moves away from being linear.

As implied by its name, any strain that occurs in the elastic region of the graph is considered recoverable. This means an object that is loaded short of the proportional limit will be able to return to its original shape. After loading exceeds the proportional limit, permanent deformation begins to occur.

Young’s modulus (E) describes the linear relationship between stress (σ) and strain (ε) of a material. It can be calculated by taking the slope from the elastic region of the stress-strain curve.

Young’s modulus is a convenient way to quantify the stiffness of various materials. A large Young’s modulus means that high amounts of stress (load) is required to achieve small amounts of strain. Stiff materials such as steel will have a large Young’s modulus (E~200,000 MPa), whereas more compliant materials such as nylon will have a much lower value (E~2,000 MPa).

The yield point (marked on the graph above) is described as the point when “severe” permanent deformation begins to occur. Technically speaking, permanent deformation begins immediately after exceeding the proportional limit. The yield point, however, is defined when 0.2% plastic strain is achieved. This value is an industry standard for defining the elastic limit of a material because it is too difficult to experimentally record the exact point when plastic deformation begins to occur. The 0.2% offset yield ensures that empirical data remains reliable and repeatable.

The non-linear segment of the stress-strain curve (right of the dashed line) is referred to as the plastic region. In this region, the stress-strain relationship described by Young’s Modulus no longer applies. Any small amounts of additional stress (load) cause increasingly large amounts of strain. Strain occurring within the plastic region of the graph induces permanent deformation and is no longer recoverable when unloaded. Note that the elastic strain is always recoverable, even after undergoing plasticity.

Say a given material is exposed to the stress (load) level marked on this graph. Since it entered the plastic region of the graph, there will be permanent deformation upon unloading. As previously stated, the elastic portion of strain is still recoverable. Thus, the total permanent deformation (or plastic strain) can be calculated by subtracting the elastic strain from the total strain. These areas are marked on the graph above.

The maximum stress level marked on this graph is defined as the ultimate tensile strength for the given material. At this point, no additional load can be supported and is typically used as the “failure” stress value when performing FEA. Note that this is not the point at which fracture occurs (unless it’s a very brittle material). Ductile materials will continue to stretch well beyond the ultimate tensile strength point despite strain occurring from no additional force. This is a process called necking (right of the dashed line) where the cross-section becomes overloaded, and the area starts decreasing by a greater proportion than the remaining material. Think when you pull a piece of playdough apart. The material continues to stretch until there’s only a thin filament formed between the two solid ends.

During necking, it appears that the stress-strain curve undergoes decreasing amounts of stress despite the increasing strain, but this is misleading. Mathematically speaking, stress is defined as force over area. Since the area is decreasing during necking, the true stress would be rapidly increasing. In engineering, however, stress is calculated with respect to the original area since that is much easier to measure. For more details on this concept of True vs Engineering stress values, check out our other blog!

The final stop on our trip through the stress-strain curve is the fracture point where the material literally ruptures (breaks). This is commonly referred to as “Elongation at Break.” As previously discussed, materials that are more brittle (like glass) will fail at or very close to the ultimate tensile strength value. Whereas ductile materials (like stainless steel) are more representative of the behavior shown in this graph.

The stress-strain curve is a fundamental concept in material science and engineering. When performing FEA, it’s very important to ensure the material properties in your model are accurately defined. You now should understand the defining points needed to create the graph.

If you need additional assistance about material properties or anything else in FEA, don’t hesitate to **reach out** to our team!

In this post we explore the mathematical foundations for the displacement and strain. This article also discusses the small strain assumptions for the Cauchy strain tensor and derivation of principal strains from the strain tensor.

When a body is subjected to external loading, it undergoes displacement. This displacement includes rigid body translation, rigid body rotation and deformation. The deformation in a body is the relative displacement between points in it. This displacement in the theory of elasticity is continuous and differentiable. Let’s first try to understand this displacement in a deformable body in fixed cartesian system (e1, e2, e3) as shown in the figure below.

From the above figure, the initial and final configurations are defined using vectors as,

There are two ways to describe this displacement field : Lagrangian and Eulerian

- Lagrangian variables use initial configuration of the body A as a reference. The independent variables are x1 , x2 , x3 .

- Eulerian variables use displaced configuration of the body A’ as a reference. The independent variables are y1 , y2 , y3 .

The rest of this document uses Lagrangian variables to define the body configuration.

Deformation is defined as the relative displacement between points in a body when subjected to external loading. For the figure above, it is defined mathematically as follows:

So, if we have the displacement tensor above, how do we utilize that to derive strains? Well, strain is defined as the ratio of change in dimension to the original dimension of the body. This quantity is unitless and, mathematically, strain is defined from the gradient of the displacement tensor.

In cartesian coordinate system, the Green strain tensor is defined as,

A small strain condition can be assumed when the displacement of the body is significantly smaller than the length scale of the body. This is represented mathematically as,

In the small strain condition, all the higher order terms in the Green strain tensor can be neglected. This yields **Cauchy Strain Tensor**, which is defined as,

Here, the first 3 terms **ε**11, **ε**22, and **ε**33 are engineering normal strains and **ε**21, **ε**23, and **ε**13 are engineering shear strains.

- It is a symmetric second order tensor.
- The transformation of strain tensor along different coordinate systems does not change the magnitude.

When a body is subjected to external loading, normal and shear strains are developed. Any strain tensor (or stress tensor for that matter) with normal and shear strains can be transformed on to the principal planes, where the shear strains are zero - as shown in the figure below. These principal strains allow us to determine the objects maximum and minimum normal strain values.

The general Cauchy strain tensor is expressed as,

Determinant of the strain tensor is calculated as,

Solving for *ε, *we get* ε1 ≤ ε2 ≤ ε3*

Here,*ε1 ,ε2 *and* ε3 *are the principal strains.

The terms θ1, θ2 and θ3 are the fundamental invariants which are calculated using principal strains as follows,

The first invariant represents the volumetric change in the system calculated using principal strains.

Hopefully this article has provided brief understanding behind the mathematical formulations for displacement, Green strain tensor, Cauchy strain tensor and principal strains.

As we’re sure you’re aware by now, we’re here to help! If you would like to learn more about simulation with SIMULIA products, or even just pick our brains on something, don’t hesitate to **get in touch** with our team!

** Quenching** is the process of rapidly cooling a hot metal to lock the atoms in place, creating a very hard but brittle microstructure. This is typically done by plunging the hot metal into a cooling bath, such as oil or water. The rapid cooling rate prevents the atoms from rearranging into a more stable, lower-energy state, which results in a high density of defects in the crystal lattice. These defects increase the hardness of the material, but also make it more susceptible to cracking.

** Tempering** is the process of reheating the quenched metal to a lower temperature, which increases the toughness of the material. During the tempering process, the defects in the crystal lattice rearrange into a more stable, lower-energy state, reducing the density of defects as well as the hardness.

During the quenching and tempering process, a number of phase changes occur, resulting in changes in the microstructure of the material. These phase changes involve the transformation of one type of crystal structure to another, and they are driven by changes in temperature and cooling rate.

During the quenching process, the austenite crystal structure transforms into a martensite crystal structure. Austenite is a face-centered cubic (FCC) crystal structure that is stable at high temperatures in ferritic steels. During quenching, the rapid cooling rate prevents the austenite from transforming into a more stable, low-temperature crystal structure, such as ferrite (BCC) or pearlite. Instead, the austenite transforms into martensite, a body-centered tetragonal (BCT) crystal structure. This transformation results in a hard and brittle microstructure with a high density of defects, such as dislocations, which are responsible for the increased hardness and strength of the material. The image below shows a typical martensitic microstructure, which is characterized by narrow lath and block patterns bounded by the prior austenite grain boundaries.

The plot below shows the Time-Temperature-Transformation (TTT) diagram of a typical steel. This allows us to understand the effect of cooling rate on the structures that will form during the cooling process from fully austenite. As can be seen in the schematic, fast cooling rates result in the formation of either martensite or bainite (similar to martensite), while significantly slower cooling rate allows the growth of a ferrite-pearlite microstructure.

During the tempering process, the martensite crystal structure begins to transform back into a more stable, low-temperature crystal structure, such as ferrite or pearlite. This transformation is driven by the rearrangement of defects in the crystal lattice into a more stable, lower-energy state. The specific crystal structure that forms depends on the temperature, the cooling rate during the tempering process, and the chemical composition of the material. The image below shows ferrite/pearlite regrowth (white) in a largely martensitic (grey) microstructure. The formation of these new crystal structures also results in a reduction in the hardness of the material, which improves the toughness and fatigue performance of the material.

*Improved Strength*: The high-energy defects created during the quenching process increase the hardness and strength of the material. This increase is a result of the increased density of defects in the crystal lattice, which prevent dislocations from easily moving through the material, which is the mechanism through which plasticity occurs. This results in a material that is stronger and more resistant to deformation.

*Increased Hardness*: High-energy defects also result in a material that is much harder than the original material. Hardness is a measure of a material's resistance to indentation and abrasion, and is closely related to strength. Hardness and wear resistance is essential in applications such as gears and drills, in which parts are constantly rubbing together.

*Improved Fatigue Performance*: The rearrangement of defects during the quenching and tempering process can also improve the fatigue performance of the material. Fatigue is a failure mode that results from the repeated application of stress, and the improved fatigue performance is a result of increased toughness of the material. This can be very valuable in applications such as shafts and axles, where load is cycling often and failure would be catastrophic.

Hopefully this post provides some insight into the process and why we might want to do it in our engineering components. In conclusion, the quenching and tempering process involves a series of phase changes, including the transformation from austenite to martensite and the regrowth of ferrite-pearlite. These phase changes result in changes in the microstructure of the material and the atomic movement of atoms within the crystal lattice. The specific mechanisms of these phase changes are driven by changes in temperature and cooling rate, and they result in significant improvements in the strength, hardness, and fatigue performance of the material.

If you’d like to learn more about how Fidelis can help in your process or product simulations, don’t hesitate to **get in touch**!

The Abaqus Command Window is a powerful tool that allows users to perform advanced simulations, automate repetitive tasks, and customize the behavior of Abaqus simulations. Outlined in this post are some of the most useful commands that you can use in the Abaqus Command Window.

Firstly, we’ll need to have generated an Abaqus input file. This can be done in most pre-processors on the market, or if you’re an advanced user, even by hand. We’ll leave that for another post, but let’s assume that our input deck is named * Job.inp*.

Next, we’ll need to open the Abaqus command window. Check out the image below to see how to do this in Windows 11. It’s essentially the same for any version of Windows, although it might look a little different…

At this point we’ll need to navigate to the scratch directory, which is C:\temp as default. To navigate between folders in command:

- 'cd..' to move back a directory
- 'cd
' or ' ' to move into that particular directory - e.g. if you start off in C:\, type ‘cd temp’ to open the temp directory

Now that we have a window open and a job that we want to perform operations on, lets take a look at some of the more basic commands that are available when running jobs.

Job management commands include:

**Job:**The job command allows us to launch a new simulation. In our case we’d simply type ‘abaqus job=Job’ and Abaqus will begin to run our simulation**Datacheck:**Adding the word ‘datacheck’ allows us to run a quick check of our input deck for any errors or issues that would come up in the .dat file during abaqus pre.exe. Using this lets us ensure that we don’t have any serious problems with the model prior to launching the main simulation**CPUs and GPUs:**At the end of the line, we can define the number of cpus and gpus that we’d like to commit to the simulation. For example ‘cpus=4 gpus=1’ submits the job on four cores and one gpu**Interactive:**Adding the word ‘interactive’ at the end of the line allows us to view the log (.log) file interactively as it’s being written. This can be particularly useful when we’re debugging jobs on the go**Suspend, Resume and Terminate:**Finally, ‘suspend’, ‘resume’ and ‘terminate’ can be used to stop, start and kill your Abaqus jobs, respectively

Over the years, you tend to pick up on some of the more useful ‘power user’ commands that can really make your Abaqus workflows more effective and efficient. Here is a list of our favorite lesser-known commands that might just save your day!

**Abaqus Version:**When we’re running Abaqus, it might be necessary to revert to prior versions that are available on the computer that you’re running on. To do this, instead of simply typing ‘abaqus’, we’ll be specific about the version. Typically this will look something like ‘abq2017’ for the 2017 version, but that might change a little depending on the information in the environment (.env) file**Restart:**If we want to use results from the end of a previous analysis at the start of our next one, after we’ve defined the new job, we need to let Abaqus know what the original job name was. To do this, after ‘job=Job’ we’ll type ‘oldjob=’. This can be super valuable when we have a bolt preload step, for example. We don’t want to run that same step every time for each load case, so, instead, we use the results from the bolt preload job as the starting point for all of our future analyses **Double Precision:**When running Abaqus/Explicit, it is often necessary to utilize double precision; especially when the number of expected increments gets very large. To do this, simply include the word ‘double’ at the end of your job submission line**Opening Files:**It is possible to open ODB files directly from the command window. This can be useful if you’ve just run an analysis and would like to check out the results. To open viewer and view our Job, type ‘abaqus viewer odb=Job’**Running Python Scripts:**Python allows us to do all different types of things with Abaqus, and running one from the command line couldn’t be simpler. Type ‘abauqs python**Launch Subroutine With Job:**FORTRAN subroutines offer almost endless customization potential to Abaqus, but how do we run them once they’re complete? Easy! Add the ‘user=SubroutineName.for’ at the end of the command!**Unconnected Regions:**And we saved the best (in our opinion) to last! Ever have a model that is failing because of rigid body motion, but you can’t figure out exactly which parts are the issue? This is for you. If you use the datacheck function described above and add in the term ‘unconnected_regions=yes’ at the end of the command, Abaqus will create a set/sets to let you know which parts in the model are not connected together. This can instantly let you know whether you just have a rogue part or there are a bunch of regions in the model that are not seeing each other. As you can imagine, that really helps save time when debugging big models!

**Fetch Files:**There is an oft-forgotten tool that would help many Abaqus analysts, and especially beginners, and we feel obliged to call attention to. When you install Abaqus, there are a number of example models that come with it. To ‘fetch’ them, type in ‘abaqus fetch job’ and all the requisite files will be copied into the directory from which the command was run. To learn more about the files available, check out your documentation for Abaqus Example Problems, Abaqus Benchmarks and Abaqus Verification.

Hopefully, this post has provided a good Abaqus Command Window commands that can help you get the most out of your Abaqus software. Whether you are automating tasks, visualizing results, or debugging simulations, these commands can help you work more efficiently and effectively with Abaqus.

As we’re sure you’re aware by now, we’re here to help! If you would like to learn more about Abaqus, or even just pick our brains on something, don’t hesitate to **get in touch** with our team!

“How does Abaqus compare with other FEA solvers?”

We pretty much agree with everything the little chatbot had to say! What about you? Did it miss anything?

“Abaqus is a well-established finite element analysis (FEA) software that is known for its robust and reliable performance, as well as its advanced post-processing and visualization tools. When compared to other FEA solvers, Abaqus has several strengths:

: Abaqus provides a wide range of simulation capabilities, including linear and nonlinear analysis, dynamic response, heat transfer, and more. This makes it a good choice for multi-disciplinary simulations that require a wide range of simulation capabilities.*Comprehensive simulation capabilities*: Abaqus provides advanced post-processing and visualization tools that make it easy to analyze and understand simulation results. This includes tools for creating animations, cutting planes, and more.*Advanced post-processing and visualization*: Abaqus has a user-friendly interface that makes it easy for users to set up and run simulations. This includes an intuitive pre-processing environment that makes it easy to create and edit finite element models.*User-friendly interface*: Abaqus is known for its robust and reliable performance, making it a good choice for complex and large-scale simulations. This is due in part to its ability to handle large numbers of elements and degrees of freedom, as well as its ability to handle a wide range of material models and boundary conditions.*Robust and reliable performance*: Abaqus is compatible with a wide range of CAD packages and other engineering tools, which makes it easy to integrate into existing workflows and pipelines.*Interoperability*: Abaqus provides an open platform that allows users to customize and extend its capabilities through macros, subroutines, and other customization tools. This makes it possible to automate repetitive tasks, incorporate custom models and algorithms, and more.*Customization*: Abaqus is designed to scale to handle large and complex simulations, making it well-suited for large-scale engineering and scientific problems. It supports distributed processing across multiple cores and compute nodes, which can significantly reduce the time required to run simulations.*Scalability*: Abaqus has a large and active user community, which provides a wealth of resources and support for users, including tutorials, best practices, and more. This can help users get up and running quickly and efficiently, and can also provide valuable insights into the latest trends and advancements in the field.*Strong user community*: Abaqus provides comprehensive documentation that includes user manuals, tutorials, and more. This makes it easy to learn and use the software, and also provides valuable information for more advanced users.*Robust documentation*

Overall, Abaqus is a versatile and powerful FEA software that provides a wide range of capabilities and advantages to engineers and scientists in a variety of fields. Whether you're working in structural analysis, heat transfer, fluid dynamics, or other areas, Abaqus provides a comprehensive solution that can help you meet your simulation needs.

That being said, there are other FEA solvers that may be a better choice for specific types of simulations, or for users with different needs and preferences. For example, some FEA solvers are better suited for dynamic and impact simulations, while others are better for fluid dynamics simulations. It's important to carefully evaluate the strengths and limitations of each option and choose the one that best meets your needs.”

So there you have it! If you’re interested in learning more about Abaqus or any of our other software or service solutions from a real person instead of a chatbot, **get in touch** with the team over at Fidelis today!

Nonlinearity can take many forms, but the three most common types are geometric, material, and contact nonlinearity. In this blog post, we'll take a closer look at each of these types of nonlinearity and explain why they matter when it comes to FEA.

Geometric nonlinearity occurs when the deformation of a structure is so large that it causes significant changes in the shape. This can happen in structures that are subjected to large loads, where strain is above a typical threshold of around 5%. When deformation is significant enough, it can lead to changes in the stiffness and mass of the structure. This can have an important impact on the results of a linear analysis, as the assumptions of linearity are no longer valid.

Geometric nonlinearity can occur in a variety of structures, and one example is a washing line under tension. In a linear analysis, the washing line is assumed to be perfectly straight and the tension force is assumed to be proportional to the displacement. However, as the tension force increases, the washing line will begin to stretch and its shape (and the stiffness matrix in the FEA) will change, leading to a nonlinear relationship between force and displacement.

Mathematically, the nonlinear equation for the deformation of a washing line under tension can be represented as follows:

where *F* is the tension force, *L* is the length of the line under tension, *L0* is the initial length of the line, and *k* is a constant representing the line's stiffness.

As we can see, the relationship between force and displacement is no longer linear, hence a traditional linear analysis would not be able to capture this behavior. In this case, a nonlinear analysis must be performed to accurately predict the behavior of the washing line under tension. This nonlinear analysis would take into account the change in shape of the line and the change in stiffness due to the stretching, which is often labeled ‘stress stiffening’.

For more information on nonlinear geometry, check out **this blog post**! To accurately analyze this type of behavior, a nonlinear analysis must be performed.

Material nonlinearity occurs when the material properties of a structure change with deformation. This is relevant to most materials, but can become very important when simulating highly nonlinear materials such as rubber and certain types of metals. Material nonlinearity can also occur in materials that are subjected to high temperatures. The stress-strain relationship of the material is changing as it deforms. This can lead to changes in the stiffness and strength of the material and can result in a significant departure from the results that would be found in a linear analysis.

The stress-strain relationship of metals is perhaps the best example of material nonlinearity, where the stiffness of the material reduces as the strain increases beyond the yield point.

Finally, contact nonlinearity occurs when two or more parts of a structure come into contact and interact with each other. This can happen in structures that have moving parts, such as gears and bearings, or in structures that have multiple components that are connected together like a car body and chassis. The main cause of contact nonlinearity is the interaction between the two parts and, importantly, the change in the contact conditions as the parts move during the analysis. This can lead to changes in the stiffness and strength of the structure as a whole, and can have a significant impact on the results of a linear analysis.

Nonlinearity is an important aspect of FEA that can greatly impact the accuracy and reliability of analysis results. It is important to take into account geometric nonlinearity, material nonlinearity, and contact nonlinearity when analyzing structures and systems, in order to ensure that the analysis results are accurate and reliable.

We’re always here to help, so if you have questions about nonlinearities in your models, or just FEA in general, **don’t hesitate to reach out**!

Industrial equipment is vital to many infrastructures across the world, helping to move forward the industries associated with construction, mining, energy, automotive, and more. Technological advancements in this space have allowed for increased speed, quality, and quantity in the manufacturing of this equipment. However, many mid-market manufacturers may find the adoption of new technology for processes and systems quite daunting and cost prohibitive.

Fortunately, Dassault Systemes has created an Industry Solution Experience on the 3DEXPERIENCE platform specifically designed for small to medium industrial equipment companies. **Digital Equipment Continuity **assists with transforming business processes to align engineering, manufacturing, and service information more efficiently, connecting business disciplines that have historically been extremely siloed. This digital continuity promotes collaboration and accelerates operational speed, ultimately providing a competitive edge and ensuring customer satisfaction.

Mid-market industrial equipment companies experience unique business challenges, with specific needs while implementing process changes to overcome these challenges.

Siloed Business Units

- Slows innovation and idea sharing
- Difficult to centrally manage extended organizational departments

Increasing Customer Demands

- Require innovative, highly customized experiences
- Expect quick development cycles

Slow and Risky Decision Making

- Project management processes historically treat design and manufacturing content as files rather than digital data

- Seamless Solution Deployment
- Time-To-Market Improvement
- Reduction in Cost
- Improved Product Quality/Flexibility
- Improved Collaboration

**Digital Equipment Continuity **addresses these key challenges and requirements, leveling the playing field for mid-market companies. It** **promotes an increased freedom to collaborate, design, and produce at an accelerated rate at any location. This solution helps perpetuate exciting opportunities, new processes, and systems to advance how manufacturers make products and deliver services

Using a combination of 3DEXPERIENCE roles, **Digital Equipment Continuity** offers tools and applications specifically designed to benefit key organizational units.

- Quicker response to external or internal opportunities
- Promote continuous improvement
- Idea capitalization, maturation, and prototyping with advanced capabilities

- Increase product offering while optimizing developmental costs
- Remove the gaps between Engineering and Marketing requirements
- Maximize intellectual property reuse
- Improve customer satisfaction by validating Product Strategy against Customer Requirements

- New product development on time and on target
- Seamlessly integrate deliverables throughout the lifecycle
- Better collaboration and resource sharing

- True collaborative concurrent engineering
- Fast and robust product development
- Performance driven design
- Eliminate design errors reaching production

- Manage engineering definition of a product from start to final validation
- Dedicated tools for digital continuity from engineering to manufacturing
- Full change and configuration traceability across functions
- Enterprise Resource Planning integration

- Decrease time to market
- Reduce change management time
- Increase Mean Time Between Failure by merging service tasks
- Reduce Mean Time to Repair by optimizing service process

- Data consistency based on business rules
- Automatically generate high quality documents
- Ensure documents follow corporate identity guidelines
- Flexible document formats

Dassault Systemes’ 3DEXPERIENCE offers solutions with a data-driven philosophy, allowing true collaboration between a broader range of a company’s business units. **Digital Equipment Continuity **helps to break down the silos between stakeholders at mid-market industrial equipment manufacturers, connecting the organization on one platform, thus creating a “single source of truth”. By providing one unique solution to engineer, produce, and service fast anywhere, **Digital Equipment Continuity** can assist with the change management required to excel in the industrial equipment industry.

To learn more about **Digital Equipment Continuity** or other Dassault Systemes Industry Solution Experiences, **reach out to us at Fidelis today**!

Before we delve into true-stress and strain, it is probably important that we understand what comes from the traditional tensile testing that we do on many of our materials in the laboratory. A standard tensile test produces what we typically refer to as engineering or nominal stress and strain. Essentially, the sample in question is stretched using a testing machine and the displacements caused by the applied load are measured and recorded.

Of course, given that we know the initial shape of the specimen, we can infer the level of stress

and strain

at any point during the test, meaning we can simply convert our unitless load-displacement plot into an ‘engineering’ stress-strain plot.

The problem with this approach to generate stress-strain data is not obvious at first, but with a little consideration, it becomes apparent. While engineering stress and strain inferred directly from force-displacement data might be reasonable at the beginning of loading, the specimen is changing shape as load is increased, meaning that the values that we used in our calculations above, namely original length and specimen cross-section, become less and less valid or true. The specimen is thinning due to the Poisson’s ratio and is also increasing in length, meaning that stress is actually higher than in our nominal calculation and incremental strain is lower.

So now we know why the engineering strain isn’t *exactly* right, what is? Well, the answer is true-stress and strain. So, what are these and how do we calculate them?

Under the assumption that the volume of material remains constant throughout the test, taking the product of the cross-section and the gauge length yields the same result, regardless of what stage of the test this is done at. This obviously only holds true prior to necking of the specimen, at which point all bets are off and the stress at failure must be calculated after the fact by measuring the area of the fracture surface.

Hence:

Or

Where subscript *o* denotes original and subscript *i* denotes instantaneous.

If we know that true-stress is force over instantaneous area and that engineering strain is change in length over original length, then we can manipulate the equations above to allow calculation of true-stress from only engineering stress and strain as shown here:

Now, the true-strain is simply the change in instantaneous length over time, which can be expressed as an integral:

And remembering that engineering strain can be expressed as:

Then we can replace length in the true-strain equation with engineering strain as follows:

As mentioned previously, there is not much disparity between engineering and true stress and strain values at low strain. However, as loading increases and the specimen begins to change shape more drastically, the difference does become relevant and, hence, we would always recommend utilizing true-stress and strain data in your FEA models.

Let’s take a look at the error in the stress-strain data for an arbitrary material at various strain levels:

As we can see presented in the data above, once the strain in the model increases beyond around 5%, the conversion to true-stress true-strain certainly does begin to matter. In fact, the error in stress is directly related to the engineering strain and the difference between the stress in the curves at 18.2% strain is a whopping 22.5%.

True-stress and strain are probably at least in the vocabulary of most structural simulation engineers. Hopefully this post has shed some light on what exactly these values are and why you should probably be using them in your FEA models, especially when the amount of strain in the model exceeds a couple of percent.

As always, we’re here to help! **Get in touch** with our team today to learn more about Fidelis what we can offer you!