Skip to content

Releases: febiosoftware/FEBio

FEBio 3.6

18 Feb 23:56
Compare
Choose a tag to compare
  • Added description of plot variables RVE generations, RVE reforming bonds, and effective friction coefficient
  • Updated description of plot variables in user manual.
  • Documented the coupled and uncoupled Gent material.
  • Added new uncoupled Holmes-Mow isotropic elastic solid.
  • Updated Theory and User Manual to include description of uncoupled Holmes-Mow material
  • Added persistMatrix flag that cleans up linear solver and stiffness matrix after every time step. (This is useful for reducing memory requirements for homogenization problems.)
  • Added deviatoric strain energy density calculation for FEIncompNeoHookean
  • Fixed problem with appending plotfile with compression flag on.
  • Fixed memory leak.
  • Implemented missing functionality of "prescribe_nodal_velocities".
  • Updated Theory Manual to explain that uncoupled fiber formulations are non-physical and that uncoupled damage should not be used with fiber materials
  • Fixed issue with allocating FENodeSet that caused crash in restarts.
  • Fixed problem with serialization of mapped model parameters.
  • Added parameter list for FEUDGHexDomain.
  • Updated calculation of local fluid load support in sliding-biphasic contact interface to place theoretical upper bound on its value. Improves prediction of fluid load support over contact interface.
  • Updated User Manual and Theory Manual to define and include local fluid load support as a plot variable
  • Minor formatting change to Invalid Value error.
  • Mesh data isn't generated until after the feb file is read in. This allows that load data section no longer needs to be defined before mesh data sections.
  • Fixed bug in FESlidingInterface when using higher-order elements.
  • Added PK1 stress plot variable.
  • Fixed error in description of muscle material.
  • Updated User Manual to include description of parameters and in reactive viscoelastic materials
  • Updated Theory and User Manuals to include a description of new relaxation functions implemented in FEBio and general theoretical background about continuous relaxation spectra
  • Cleaned up relaxation functions needed for reactive viscoelasticity (replaced double with ParamDouble for most of them). Fixed Malkin relaxation function to employ two time constants tau1 and tau2. Fixed CSexp relaxation function to return 1 at t=0 without further calculations.
  • Removed ability to specify (weak) bond material as a scaled version of base (strong bond) material in reactive viscoelastic and uncoupled reactive viscoelastic, because of initialization conflicts. Removed constraint on specifying solid mixtures in both base and bond materials, now that a material point data array is used to distinguish material points of base and bond materials.
  • Cleaned up reactive viscoelastic material implementation, using material point array to differentiate base and bond materials. Fixed small bug introduced in last commit.
  • Added missing CreateMaterialPointData function for FEContinuousFiberDistribution.
  • Added modified Bessel functions of the first and second kind, of orders 0 and 1.
  • Fixed issues with tri10 surface facets.
  • Added new reduced relaxation functions for reactive viscoelasticity (Malkin, Malkin-dist-user, CSexp, CSexp-dist-user). Added plot variable for rate of deformation tensor in solids. Added plot variables for mass fraction of reforming bonds in reactive viscoelasticity, strain energy density of strong and weak bonds, and deviatoric strain energy density for strong and weak bonds. Added initialization functions for bond relaxation materials that employ FEFunction1D objects for user-specified functions. Updated reactive viscoelasticity framework to reset fiber orientation of each weak bond generation based on fiber configuration at start of generation; created FEFiberMaterialPoint to store fiber pre-stretch tensor; updated continuous fiber distribution materials to set/reset fiber prestretch. Updated initialization of solid mixtures and uncoupled solid mixtures to prevent specification of mixture of mixtures. Modified FiberExpPowUncoupled to be consistent with FiberExpPow. Cleaned up reactive viscoelasticity materials to (a) update specialized material points in situ instead of within FEReactiveVEMaterialPoint; (b) prevent the specification of more than one mixture in these materials; (c) allow the weak bond material to be a scaled function of the elastic bond material (optional); (d) evaluate relaxation function using state of total strain at genesis time of weak bond generation (instead of relative strain); (e) properly set/reset fiber prestretch when applicable. Introduced FEScaledElasticMaterial and FEScaledUncoupledMaterial to allow item (c) in preceding sentence. Updated FETransIsoMooneyRivlin and FETransIsoVerondaWestmann fiber stress calculations to use public functions only.
  • Implemented symbolic derivative of pow.
  • Remove positivity constraint on Poisson's ratio v12 in "orthotropic elastic" material.
  • Fixed implementation of "fluid flow rate" plot variable for biphasic mixtures.
  • Added guidance section for dynamic problems to user manual.
  • Added error check for FERigidBodyFixedBC.
  • Fixed uninitialized member variable in FEMinMaxFilterAdaptorCriterion.
  • Fixed bug in coupled-trans-iso tangent and strain-energy-density calculation.
  • Added ramp parameter to FEConstPrestrainGradient.
  • Fixed issue with reading FEFunction1D object through loadcurves.
  • Added description of fiber exp-linear fiber models to user manual.
  • Fixed issue with reading nodedata when node set is defined implicitly via surface.
  • Added support for exporting vec3d mapped nodal data to plot file.
  • Plot stride now also respected when using FE_PLOT_USER1 plot level.
  • Updated User Manual to include description of pyra13 elements
  • Made some repairs to the CG-solid solver.
  • Minor edits to continuous damage section.
  • Added plot variable for "rate of deformation"
  • Added force and displacement norm to output for explicit solver.
  • Updated documentation on continuous damage formulation.
  • Added some documentation for homogenization.
  • Added new "D2beta" plot variable.
  • Param run now uses FEDataParameter for output variable. Added support for special domain log data that evaluates average and percentile of element data.
  • Implemented contact area for tied-elastic.
  • Implemented contact force for tied-elastic interface.
  • Refactored linear constraints. Added support for setting a loadcurve to the child dof's value parameter.
  • Cleaned up continuous elastic damage formulation.
  • Added PK2 stress log variables.
  • Added ':' as valid character for xml tag name.
  • Added '-' as valid character for xml tag name.
  • Fixed issue with beta plot variable and added psi0 plot variable for damage elastic fiber materials.
  • Fixed issue where incorrect termination status was reported.
  • Fixed HYPRE_Int typing issue in BoomerAMG function calls caused by recent change.
  • ́Added new bond relaxation function called relaxation-exp-pow, for reactive viscoelasticity.
  • Added SetResetFlag to FESBMPointSource.
  • Allow parameter optimization on the y value of vec2d parameters. This can be used to optimize individual points in the load curve description of a material response.
  • Fixed issue with output on CB_USER1 event.
  • Added CB_USER1 callback event, and FE_PLOT_USER1 plot option.
  • Added new parameter run feature, which allows users to run a model and set model parameters and output variables in separate input file.
  • Modified BoomerAMG function calls to re-type arguments
  • The RVE model now follows time stepping of macro model.
  • The micro material now uses RCI for solving RVEs.
  • Implemented RCI (Reverse Control Interface) for solving FE model.
  • Added additional check in FEVecPropertyT::SetProperty to make sure the correct class is allocated.
  • Made cp parameter of FEOgdenUnconstrained a mapped variable.
  • Added position of rigid bodies to default output for plot object.
  • Made coefficient parameters of Ogden materials variable. (issue #33)
  • Added mechanism for copying materials that have additional properties.
  • Added parameter to FECoreKernel::RegisterDomain to push a domain factory to the front of the list.
  • Added new bond relaxation models for reactive viscoelasticity (relaxation-exp-dist-user, relaxation-Park-dist-user, relaxation-power-dist-user). Fixed reactive viscoelastic materials by making them frame-invariant. Improved method of updating generations during iterative solution process. Fixed strain-dependent relaxation functions to depend on strain only at time of bond breaking. Added plot variables to save strain energy density in strong and weak bonds of reactive and uncoupled reactive viscoelastic materials.
  • Updated Theory and User manuals to version 3.5.1
  • Fixed initialization of newly introduced Prony bond relaxation function. Modified culling method in reactive viscoelasticity to prevent reduction in maximum number of generations. Added strain threshold for triggering new generation in reactive viscoelasticity.
  • Added reduced relaxation function for Prony series (can be used with reactive viscoelastic materials). Added safeguard in calculation of Fung relaxation function to prevent small negative values. Added plot variable for counting number of generations in reactive viscoelastic materials.
  • Improved method for culling generations in reactive viscoelastic materials.

FEBio 3.5.1

28 Sep 21:45
Compare
Choose a tag to compare
  • Added "cutback" parameter that controls the reduction factor when using aggressive time stepping. (default is 0.5)
  • A bug was fixed in the "kinetic energy density" plot variable.
  • Added domain log variable "volume" for calculating domain volume.
  • An issue with tangent evaluation of Mooney-Rivlin and Veronda-Westmann materials was fixed. This fix may improve convergence of nested materials (e.g. visco-elastic, mixtures, etc.) that use these materials as a component.
  • Updated Theory and User Manuals to describe parameter lam0 in fiber-exp-pow, and new material fiber-natural-NH
  • Added fiber with natural neo-Hookean response. Modified fiber-exp-pow to allow tensile response to engage at any stretch ratio greater than unity. Modified parameters alpha and beta of fiber-exp-pow to FEParamDouble.
  • Added "DC Octahedral natural strain" as a damage criterion.
  • Fixed a bug in closest-point projection algorithm.
  • Fixed some issues with restart and added a new version for restart input file that uses the 3.0 format.
  • Updated User Manual to reflect specification of plastic flow curve in reactive plasticity and reactive plastic damage materials
  • Fixed small bug in newly introduced user-defined plastic flow curve. Changed name of parameter emin to e0 in math plastic flow curve.
  • The definition of reactive plastic and reactive plastic damage materials was modified. It now requires the definition of a "flow_curve" property that. This change is incompatible with the previous version so older files will need to be updated.
  • Implemented "PK2 stress" plot variable, which exports the second Piola-Kirchoff stress.
  • updated User Manual to use Young's modulus and Poisson's ratio as material parameters for natural neo-Hookean material
  • Changed the material parameters of natural neo-Hookean from bulk and shear moduli to Young's modulus and Poisson's ratio.
  • Added left stretch tensor as plot and log variable
  • Added left Hencky plot and log variables to User Manual
  • Added ability to specify element type in shell domain section.
  • Modified shell domain classes to allow using secant stress and secant tangent calculations for shell domains.
  • Modified symmetry plane constraint to work properly if symmetry plane includes some nodes that belong to a rigid body (such as a rigid interface).
  • Changed type strings for Kamensky materials.

FEBio 3.5

30 Aug 21:26
Compare
Choose a tag to compare
  • Implemented new "Kamensky" material, an isotropic Fung-type material from Kamensky, CMAME 2018.
  • Added log variable for element volume (variable name "V").
  • Fix issue with penalty computation and plot (github issue #30)
  • Added ability to output log data for octahedral plastic strain, right stretch tensor components, and right Hencky strain tensor components. Added ability to add plot variables for right stretch tensor and right Hencky strain tensor.
  • Fixed bug in FEBioOpt/FEDataSource where node_data variables used as optimization parameters were not being read correctly. Added ability to specify node_data variables as ordinates in parameter optimization.
  • Updated reactive plastic damage material to (a) include elastic damage of non-yielding bonds, and (b) keep better track yielded bond fraction in the iterative solution process.
  • Fixed recently introduced bug in the plotting of intact bond fraction in reactive plastic damage materials.
  • Added new material "fiber-Kiousis-uncoupled".
  • Added "contact potential" contact interface and "mass damping" body load features.
  • Removed c1 > 0 restriction from Mooney-Rivlin material.
  • Added surface_data and domain_data log features. Added support for using these features in optimization module.
  • Added yield flags in reactive plasticity material to allow resetting yielded bond mass fraction to zero during an iterative process.
  • Fixed some issues with init and serialize of reactive plastic damage material that were causing problems with optimization.
  • Added flip_primary, flip_secondary, shell_bottom_primary and shell_bottom_secondary to sliding-biphasic interfaces (included mixed).
  • Changed default format for FEParamMat3ds to be ITEM.
  • Made additional changes to allow mapped FEParamMat3ds variables.
  • Modified FEEllipsoidalFiberDensityDistribution to accept mappable semi-principal axes for ellipsoid. Fixed spelling in class name.
  • Add ability to map 'mat3s' symmetric 3x3 matrix in MeshData section.
  • Updated perm-ref-ortho to use all mappable material parameters.
  • Modified sliding-elastic, sliding-biphasic, sliding-biphasic-mixed to use search_radius as length value instead of scale factor, for consistency with other sliding and tied interfaces.
  • Fixed bug in "fluid normal velocity" load where rim pressure was not initialized properly.
  • Updated "fluid normal velocity" load to set parabolic velocity distribution to zero only on sections of the rim where the user has prescribed zero fluid velocity. This change makes it possible to prescribe parabolic velocity profiles on cross-sections with symmetry planes, and on rectangular faces.
  • Created linear and nonlinear elastic fluid materials to allow alternating between linear and nonlinear pressure-dilatation models. Default setting is linear. Updated fluid-FSI traction and biphasic-FSI traction algorithms to better identify orientation of surface normal of the interface relative to solid elements with fluid-FSI or biphasic-FSI materials.
  • Reverted constitutive model for fluid pressure to linear model p = -k*ef where k=bulk modulus, because nonlinear model broke the FSI problems from the published paper.
  • Improved efficiency of calculation of octahedral shear strain. Reactive-plastic damage material now works with erosion tool.
  • Added Bingham fluid.
  • Renamed some biphasic-FSI plot variables to be consistent with biphasic plot variables. Added missing nonlinear and surface pair constraints in fluid, fluid-FSI, fluid-solutes and multiphasic-FSI solvers.
  • Added several new plot variables related to continuous damage formulation. Also added a "mixture stress", which can be used to look at stress of the mixture components.
  • Allowing some zeroes on lumped mass matrix for explicit solver (as can be the case if corresponding dof is fixed).
  • Added "linear" flag to traction load, similar to pressure load.
  • Fixed issue with under-timing model updates.
  • Fixed bug in reporting timing info for multistep analyses.
  • Added support for shells to explicit solver.
  • Fixed issue with initializing contact surfaces for febio 2.0 format.

FEBio 3.4

17 May 22:59
Compare
Choose a tag to compare
  • This version has an updated EULA (EULA version 4). This EULA adds a PRIVACY clause that details how and what information the software (i.e. FEBio Studio) communicates with an external server.
  • On Windows, this version was built with a newer version of Visual Studio (Visual Studio 2019). As a result, a new SDK has been released and it is highly recommended to rebuild any plugins against this new version.
  • A bug was fixed for shells that are directly attached to rigid bodies (i.e. shells that share nodes with rigid bodies).
  • The formulation of strain energy density for fiber-pow-linear-uncoupled material was fixed. In addition, a bug was that which produced discontinuous stress and elasticity at transition from toe region to linear region. The user manual was updated to reflect these changes.
  • A bug was fixed in CMakeLists that caused an error on Windows if not using MKL.
  • A bug was fixed in the "porosity" element log variable.
  • The description of the max_retries control parameter in the user manual was corrected.
  • The "reaction forces" plot variable now produces the equivalent nodal reaction forces for all nodes, even constrained nodes (fixed, prescribed, rigid).
  • Chapter on multi-step analysis was added back to user manual and several broken links were fixed.

FEBio 3.3.3

20 Apr 22:48
Compare
Choose a tag to compare
  • Added "porosity" log variable.
  • Added "fluid pressure" surface load as an alternative to prescribing (or fixing) the fluid dilatation. User manual was updated to include description.
  • Changed default constitutive model for fluid pressure from p = - K ef to p = K (1/(1+ef)-1), which is valid for finite dilatation.
  • Generic math expressions (e.g. as used in the force parameter of nonlinear springs) can now use model parameters in the math expression.
  • Added three new interpolation types for load curves: cubic spline, control points, approximation.
  • Fixed logic in setting debug mode from febio command prompt.
  • Removed dependency on GSL.

FEBio 3.3.2

06 Apr 20:10
Compare
Choose a tag to compare
  • This patch release fixes GSL support in FEBio for all OS. Not all previous builds, including the most recent ones, included support for GSL and consequently could produce incorrect results for certain types of models. For previous builds, materials that require GSL to evaluate the strain energy density, or other quantity, simply returned 0 in the absence of GSL support and did not produce an error message. The complete list of affected materials follows. The list shows the type string of the material, the source code class name, and the function where GSL is needed:
  • "relaxation-Fung" (FEBondRelaxationFung): relaxation function
  • "damage fiber exp-linear" (FEDamageFiberExpLinear): strain energy density function
  • "coupled trans-iso Mooney-Rivlin" (FECoupledTransIsoMooneyRivlin): strain energy density function
  • "coupled trans-iso Veronda-Westmann" (FECoupledTransIsoVerondaWestmann): strain energy density function
  • "CDF gamma" (FEDamageCDFGamma): evaluation of damage cumulative distribution function (cdf) and damage probability density function (pdf).
  • "fiber-exp-linear" (FEFiberExpLinear): strain energy density function
  • "uncoupled fiber-exp-linear" (FEUncoupledFiberExpLinear): strain energy density function

In addition, the following materials returned 0 for the strain energy density, and will now throw an error instead if the model attempts to evaluate the strain-energy function.

  • "viscoelastic" (FEViscoElasticMaterial)
  • "uncoupled viscoelastic" (FEUncoupledViscoElasticMaterial)
  • A bug was fixed in the log feature that wrote all log data to the same output file.

FEBio 3.3.1

02 Apr 14:28
Compare
Choose a tag to compare

Patch release:

  • A bug was fixed in the SPR projection algorithm. This affects plot variables that use the SPR projection, such as "SPR stress".

FEBio 3.3

26 Mar 20:33
Compare
Choose a tag to compare
  • The data log mechanism was extended to store surface data to the log file (github issue #10).
  • A bug was fixed in the enforcement of the concentration penalty in tied-multiphasic contact interface.
  • The explicit solver was repaired. It supports row-sum mass lumping (mass_lumping = 1) and Hinton-Rock-Zienkiewicz mass lumping (mass_lumping = 2) for higher order elements.
  • Breakpoint strings should now be case insensitive on Linux and macOS.
  • A check for NANS in the residual vector was added. If a Nan is detected, an error with node and dof info is printed.
  • The performance of the stiffness evaluations of multiphasic models using chemical reactions was improved significantly.
  • Loadcurves are now scaled based on the value of point functions that are defined via a load curve.
  • A check was added for invalid faces in surface definitions (i.e. faces that are not facets of an element).
  • The potfile now stores a status flag for each state. The flag depends on the action that triggered the write.
  • The "contact nodal gap" and "contact pressure" plot variables are fixed for "sliding node-on-facet" contact.
  • The self_contact flag in "sliding node-on-facet" was removed. Self-contact is now supported in all sliding contact algorithms. To use self-contact, just assign the same surface to the primary and secondary contact surface.
  • A bug was fixed regarding prescribed nodal loads in BiphasicSolute and Multiphasic analyses when no solutes are included in the model.
  • Added check for duplicate part names.
  • Implemented the "defgrad" data generator, which generates a deformation gradient from a nodal-displacement field. This can be used, for instance, in prestrain elastic materials to generate the prestrain gradient.
  • A bug was fixed in "in-situ target stretch" and "prestrain stretch error" related to how the fiber vector was taken into account.
  • A bug was fixed in formatting log data.
  • Support for a 13-node pyramid element was implemented.
  • Added check for valid material ID in rigid node set.
  • An issue was addressed with unloading of plugins at the end of FEBio's execution that was causing a crash on Windows.
  • A division by zero issue was fixed in the contact auto-penalty feature.

FEBio 3.2

05 Feb 20:57
Compare
Choose a tag to compare
  • Fixed issue with the "prestrain correction" plot variable.
  • Added node-data objective function, which optimizes for nodal data.
  • Implemented torsional spring.
  • The data filename is now written to the log file, not the data file.
  • Elastic materials can evaluate stress via "secant_stress" parameter.(This can be useful for debugging new material implementations). Also renamed "secant" to "secant_tangent", which approximates elatic tangent.
  • Made "value" parameter of initial condition a mapped parameter.
  • Implemented a exp-linear damage fiber model.
  • Fixed Holzapfel-Gasser-Ogden formulation. Deleted unconstrained (compressible) version of this material.
  • Updated the Gasser-Ogden-Holzapfel model to be consistent with ABAQUS formulation.
  • Added "HGO unconstrained" material to model the unconstrained (compressible) Holzapfel-Gasser-Ogden material. All parameters of "Holzapfel-Gasser-Ogden" are now mapped parameters.
  • Implemented rigid follower force and moment.
  • Fixed miscelleneous issues to improve backward compatibility with 2.5 format.
  • Modified projection logic in "sliding-facet-to-facet" contact. Added support for "search_radius" parameter.
  • An error is now thrown when data type of a map does not match the parameter's data type to which it is assigned.
  • Fixed bug in serialization of linear constraint set.
  • Added log output option for stess eigenvectors.
  • Implemented new "azimuth constraint", which fixes the angle coordinate of the cylindrical coordinates.
  • Introduced plot variables for local fluid load support and effective friction coefficient for biphasic and mixed biphasic contact interfaces.
  • Modified method to evaluate fluid load support in sliding biphasic contact by averaging the local fluid load support over the contact area (instead of dividing the fluid force magnitude by the contact force magnitude).
  • Made scale parameter of "nodal load" a model parameter.
  • Made "phi0" parameter of biphasic, biphasic-solute and triphasic materials a mapped parameter.
  • Improved calculation of rotation angle and extraction of rotation vector from quaternion.
  • Made active stress parameter of active contraction materials a mapped parameter.
  • Made value parameter of FENodalForce a mapped parameter.
  • Fixed issue with "pretrain stretch" plot variable.
  • Fixed crash when a parameter references invalid map.
  • Fixed bugs with element data ordinates in parameter optimization.
  • Added shell domain parameter "shell_normal_nodal"
  • Allow usage of auto-penalty when both contacting surfaces are rigid materials, as long as non-zero Young's modulus is specified for those rigid materials.
  • Added option to set TET4G4 integration rule in MeshDomains.
  • Improved performance of initialization of solid-shell interface elements.
  • Made "ksi" parameter of "fiber-exp-pow-uncoupled" a mapped parameter.
  • Added new "damage fiber exp-linear" material.
  • Fixed output of contact gap and contact pressure for the "sliding node-on-facet".
  • Added strain energy calculation to discrete elements. Added "discrete strain energy" plot variable.
  • Fixed some issues with storing contact plot variables for nodal-integrated contact interfaces.
  • Fixed crash when using "prestrain uncoupled elastic".
  • Fixed crash when nodal load type is not recognized.

FEBio 3.1

03 Nov 17:51
Compare
Choose a tag to compare
  • The xplt format 3 is now used, which adds data on rigid bodies and rigid constraints to the plot file.

  • The "fiber" property was added to the "tendon" material.

  • Some backward compatibility issues were addressed: The deprecated "print_level" parameter is ignored and will not cause FEBio to stop. The deprecated "value" parameter of the prescribed BC is now mapped to the "scale" parameter.

  • An issue was fixed with reading mat_axis element data in MeshData section.

  • The "solid stress" plot variable was added for biphasic, multiphasic, and fluid-FSI materials.

  • The bulk-modulus (k) of uncoupled materials is only taken from the top-level material. This is different from previous FEBio versions, where the specification of the bulk modulus depended on the material. For backward compatibility, febio 2.5 files will still processed in a manner that produces the same behavior as in FEBio 2.10. For the 3.0 files, only top-level bulk moduli are allowed.

  • A bug was fixed that caused a crash when a file was using 9-node quadratic surface elements.

  • Support was added to reading mat3d data from ElementData section.

  • Added support for assigning data maps to F0 parameter of const prestrain gradient.