Skip to content

Releases: febiosoftware/FEBio

FEBio 4.11

06 Jan 21:11

Choose a tag to compare

New Features:

  • Added plot variable for plastic yield stress, updated nonlinear iterative solution method for reactive plasticity to produce better results for yield criterion Deshpande-Fleck
  • Added plot variables for the Drucker shear stress, the Drucker-Prager stress criterion, and the Deshpande-Fleck stress criterion
  • Added Deshpande-Fleck yield/damage criterion
  • Added Drucker-Prager failure or yield criterion. Fixed factor of 2 error in tens4dmm::dyad4 calculation
  • Added support for "const" ElementData section.
  • Added pipette aspiration pressure load
  • Added support for reading and writing xml encode control characters.
  • Added support for MAT3F element data in VTK export.
  • Added support for FMT_MULT domain variables to VTK export. These fields are stored as nodal data.
  • Added "incremental displacement" plot variable that calculates the change in displacement from the previously stored state.
  • Implemented fiber-pow fiber material model.
  • Implemented fftw-based image blurring algorithm.
  • FEBio no longer requires a config file to run. Config files must now be explicitly added to the command line (use -config).
  • Implemented active contraction model valid for uncoupled materials.

Improvements:

  • Added body force stiffness calculation for beam domains.
  • Updated Deshpande-Fleck yield criterion to be more consistent with the paper.
  • Modified parameterization of FEEllipsoidalFiberDensityDistribution to simplify assigning maps.
  • Added option to stiffness diagnostic to only test a limited number of equations.
  • Initialized "spa" member of the "ellipsoidal" density distribution to a valid value.
  • Some minor changes to continuous fiber framework to simplify some plugin development.
  • Added error message when rve fails to load.
  • Modified sign convention in "rigid joint" to be consistent with other rigid connectors.
  • The invalid command line option is now reported to the user.
  • Allowed some whitespace in the tag's value when defining maps.

Bug Fixes:

  • Fixed bug in FEBioMech/FEBioMechModule.cpp
  • Fixed method for evaluating isobaric specific heat capacity in real liquids, gases and vapors
  • Fixed minor bug to allow gap tolerance to be specified for AUGLAG in sliding-elastic, even when tol=0
  • Fixed crash in export of "PK1 norm" plot variable. (#111)
  • Fixed bug in writing mat3 data to vtk file.
  • Fixed bug in serialization of FEReaction.
  • Fixed issue with order of serializing data.
  • Fixed bug where nodeset was not set for nodedata generators.
  • Fixed issue in elasticity calculation in several materials.
  • Fixed several issues with stiffness matrices of rigid connectors. Also implemented Lagrange Multiplier method for all rigid connectors.
  • Alpha parameters are now only set in dynamic analyses. This fixes a bug where alpha parameters affected static analyses too.
  • Fixed problems when running micro-materials.
  • Fixed issues with stiffness matrix of "rigid joint".
  • Fixed issue with Gaussian filter in fftw blur.
  • The "import" plugin folder in config file is now supported on all OSes.
  • Fixed stiffness matrix for rigid connectors. [skip ci]
  • Stiffness matrix now handles rigid nodes correctly.
  • Fixed unit assignments in muscle material parameter list.

Documentation:

  • Description of FEBio tasks was added (section 2.10).
  • The tables of plot and log variables were expanded and are now available in Appendix E.
  • Many missing boundary conditions, initial conditions, and loads were added to the documentation.
  • Descriptions of several domain types were updated.
  • Documentation on FEBio's explicit solver was added to section 3.3.9.
  • Added documentation for Deshpande-Fleck damage/yield criterion
  • Added description of pipette aspiration pressure load.
  • Fixed reference in active contraction material in theory manual.
  • Updated description of time stepper in user manual.
  • Fixed documentation of fibers-3d-fei integration rule.
  • Updated developer's manual. Fixed some typos in the material plugin section and added a new section on creating plugins with fbs3.
  • Updated user manual to correct numbering error for reactive viscoelastic trigger (should be 0, 1, 2 not 1, 2, 3)

FEBio 4.10

23 Jul 16:19

Choose a tag to compare

New Features:

  • Added plot variables that calculate total linear momentum, angular momentum, and energy for a solid domain.
  • Added plot variable for nodal shell director
  • Added range check for E parameter of FE2DFiberNeoHookean.
  • Added calculation of Almansi strain for elastic material points. Added plot variables for Almansi strain, left Cauchy-Green and right Cauchy-Green tensors
  • Added isotropic Hencky elastic model
  • Added tension_only flag to fiber-pow-linear
  • Added command line option to suppress log file output.
  • Added calculation of helical axis (instantaneous and finite) for rigid bodies and rigid connectors, and created log variables for output to file.
  • Added command line option to prevent shell title updates.
  • Added axial body force.
  • Implemented radial body load.
  • Added option to contact potential to use a higher-order quadrature rule. This will use a new QUAD4G16 for quadrilateral elements.
  • Added "rigid kinematics" initial condition that sets initial velocity based on rigid body kinematics.
  • Added quick restart diagnostic.
  • Implementation of the slide-line and tied-line constraint.
  • Added PK1 stress components to logfile output, as Pxx, Pxy, etc.
  • Added log file nodal data variables for effective fluid pressure pe and effective solute concentrations ce1 to ce8
  • Added mapping to FEDiffAlbroIso, DiffConstOrtho and DiffRefIso diffusivity types
  • Added mapping capability for FEDiffConstIso diffusivity type
  • Added "sbm_referential_apparent_density" log variable.
  • Added option to specify initial displacements

Improvements:

  • Fixed some formatting issues in the FEBio EULA.
  • Added documentation for initial displacement condition
  • Added description of pressure_model in Uncoupled elastic solids. Improved description of enforcement of three-field-solid formulation.
  • Updated User Manual to include reactive fatigue materials
  • Added Doxygen comments to some core classes
  • Modules registered by plugins are now unregistered when the plugins are unloaded.
  • Improved performance of SPR projection by storing reusable data.
  • For mixtures, the density is now defined by the top-level parameter.
  • Changed type of perm parameters from double to FEParamDouble.
  • Added option to tag a parameter as obsolete. Now using this for unused biphasic and multiphasic solver parameters.
  • Made sure time increment is initialized before model initialization to avoid division by zero.
  • Modified kinematic growth formulation so that it does not need to permanently overwrite elastic material point data.
  • Fixed some logo issues in the documentation

Bug fixes:

  • Fixed issue with validation when not all properties are initialized yet.
  • Fixed issue with reading load curves from restart input.
  • Fixed bug in building matrix profile for tied-elastic interface.
  • Fixed problem with initialization of biphasic materials.
  • Unloading plugins on Linux and macOS now actually unloads the library (rather than doing nothing).
  • Fixed bug in evaluation of stiffness matrix for slide-line.
  • Changes to stiffness matrix diagnostic to better handle prescribed dofs.
  • Fixed issue with reassigning material IDs after MMG remeshing.
  • Fixed issue with serialization of array of FEParamDouble. Removed unnecessary Serialize of EFDMoonyRivlin.
  • Fixed potential crash in FBS when an analysis is allocated without an active module.
  • Reaction forces are not accumulated anymore in residual vector for rigid nodes. (Otherwise they are double-counted.)

FEBio 4.9

24 Mar 16:10

Choose a tag to compare

New Features:

  • The "fiber ODF" material was added, which is a new Continuous Fiber Distribution constitutive model. It uses a non-parametric orientation distribution function that is defined by a series of spherical harmonic coefficients. This allows for the definition of extremely detailed ODFs of any shape.
  • Added "edge contact gap" plot variable which plots gap data on the edge.
  • Added log output variables for fluid max shear stress and fluid principal stresses
  • Added secant stress, secant tangent, and secant permeability tangent calculations to biphasic solid and biphasic shell domains
  • Added plot variable for nodal shell displacements
  • Added flip_secondary and gap_offset parameters to sticky contact. Fixed some issues with contact initiation.
  • Added filter option to contact gap, contact pressure, and contact traction plot variables.
  • Added progress and relative error measure to stiffness diagnostic.
  • Added noappend command option to prevent appending of plot file when restarting.
  • Added "SPR relative volume" plot variable.

Improvements:

  • Editing pass to FEBio user manual (fix typos, removed obsolete info, added missing info.)
  • Now exporting FEIncompNeoHookean from febiomech dll. (In case plugins need it.)
  • Added documentation for FiberODF material [skip ci]
  • Made PlotFile::AddVariable public to make it easier for third party code to create plotfiles.
  • Updated reaction force log variables to be more consistent with "reaction forces" plot variable.
  • Added flags to tied-elastic to flip primary and secondary surfaces.
  • Made g0 parameter of visco-elastic material mappable.
  • Added check for matrix offset in pardiso solver (in case the sparse matrix was allocated externally).
  • Made perm parameter of "perm-holmes-mow" mappable.
  • Added units of length for length parameters in Surface Attraction Body Force
  • Added some additional parallelization to contact potential.
  • Updated User Manual to includee fluid max shear stress and fluid principal stresses as log output variables
  • Added description of Wall Shear Stress for fluids, in Theory Manual
  • All OSes now use MMG 5.7.3
  • Added helper function to levmar in order to avoid the need to link levmar (and blas) into FEBio Studio.
  • Updated nodal stress and nodal strain plot variables to exclude new shells. Updated top/bottom stress/strain and top/bottom nodal stress/nodal strain to only include new shell elements. Updated calculation of nodal projection for quad8 and tri6 shells.
  • Updated shell top stress and shell bottom stress plot variables to work with quadratic shell elements.
  • Modified shell top stress/strain and shell bottom stress/strain to display extrapolated integration point values instead of top or bottom integration point averages
  • Modified plot variables for shell nodal stresses to say shell top nodal stress and shell bottom nodal stress. Added plot variables for shell top stress and shell bottom stress.
  • Added secant_stress and secant_tangent parameters to solid-elastic domain.
  • Added support for tri7 surface elements to "normal displacement".
  • Implemented surface constraint member function to choose whether a nodal integration rule should be installed on the surface. The fixed normal displacement now sets a non-nodal integration rule.
  • Added option to check for edge-face intersections in contact potential.
  • Added function for SPR values of vector types, updated tet10 projection order default value

Bug Fixes:

  • Fixed issue with processing empty Module tag.
  • Linear constraints no longer assume node IDs start at 1.
  • Fixed small issue with resetting a timer.
  • Fixed issue with discrete element ID numbers.
  • Fixed bug caused when trying to compress plot files when compiling without zlib
  • Fixed bug in constructor of MKL solver if MKL was not used. Now not registering mkl solvers if mkl is not used.
  • Fixed destructor of PardisoProjectSolver to avoid error message at end of run
  • Fixed issue with parsing elem_type attribute of solid domain.
  • Fixed issue with contact potential when used with rigid bodies.
  • Fixed issue with the normal displacement constraint when node IDs don't start at 1.
  • Fixed problem with exporting fiber components to log file.
  • Fixed bug in FEPlotMixtureFluidFlowRate plot variable.
  • Fixed calculation of yielded bond fraction in reactive plasticity materials to account for rigid body rotations.
  • Updated damage criterion for von Mises stress to produce non-singular tangent at stress origin.

FEBio 4.8

07 Nov 21:53

Choose a tag to compare

FEBio 4.8

New Features:

  • Added new "preferred" option for matrix format. With this option, FEBio will select the matrix format depending on the analysis type and model components.
  • Added an "element data" criterion for mesh adaptors. This allows users to use any of the element log data fields in mesh adaptors.
  • Added new feature to use math expressions in element log data.
  • Implemented support "pardiso_64" linear solver that can be used with really large problems ( > 2e9 non-zero elements in stiffness matrix).
  • Added "msglvl" option to produce additional output from pardiso and mkl_dss linear solvers.
  • Implemented "surface-to-surface vector" element data map generator.
  • Modified implementation of cubic-CLE and ortho-CLE materials to hew more closely to theoretical formulation
  • Added "max contact gap" log variable.
  • Added additional damage log output variables.
  • Added log variables for exporting damage components of nested materials.
  • Added option to "moving frame" load to specify the angular velocity in the moving frame instead of the fixed frame.
  • Added nodal_target_force load, which can be used to ramp down reaction forces produced by prescribed displacements.
  • Added "relative volume" mesh adaptor criterion
  • Added option to specify a filter function for the target objective.
  • Added ls_check_jacobians control parameter for toggling modified line search that catches negative jacobians.
  • Added a "contact gap" mesh adaptor criterion.
  • Added "SPR infinitesimal strain" plot variable.
  • Added "normalized internal energy" domain log variable.
  • Added log output variable for total deformation gradient (includes effect of prestrain if present.)

Improvements:

  • Changed how element value is calculated from material point values in FEMeshAdaptorCriterion.
  • FEBioModel now also tracks stats per step.
  • Now printing warning if mass of rigid body is zero.
  • Modified timers so that they can record both inclusive (i.e. total) time and exclusive time. Added some additional timers.
  • Some changes to the update and linsolve timers to get more accurate timings.
  • Added additional output parameters for "moving frame" loads.
  • Made some minor performance enhancements for the explicit solver.
  • Implemented better way for getting parameter values from the model.
  • Modified MMG remesh so it can remesh internal surfaces.
  • Adaptor criterion work on elements instead of on integration points.
  • Modified definition of contact material point in several sliding and tied interfaced to facilitate plotting of contact gap and pressure gap in tied-biphasic and tied-multiphasic interfaces
  • Now storing parts lists defined in input file as domain lists on the mesh. Added new surface reconstruction algorithm for surfaces defined via part lists.
  • Updated the node-distance constraint so it can be used to enforce an absolute distance.
  • Added units to some parameters in FEHuiskeSupply and FERemodelingMaterial
  • Removed create handler mechanism (This has been moved to FEBio Studio since that's where it's actually used.)
  • Users can now set the max nr. of negative jacobians reported using the output_negative_jacobians flag.
  • Added missing description in long name of FEBondRelaxationParkDistortion
  • Modified FEHuiskesSupply to include characteristic distance from sensor cells, for consistency with FEHuiskesReactionRate.
  • Modified initialization of FEChemicalReaction to initialize FEReactionSpeciesRef objects, and to initialize forward and reverse reactions. Modified FEReaction initialization to remove initialization of base class. These changes fix out-of-order initializations that became problematic in FEReactionRateHuiskes and similar classes
  • Updated Huiskes reaction rate to include characteristic distance from sensor cells
  • Modified error reporting for the perm-ref-ortho permeability calculation so it only reports the error a limited number of times.
  • Added command line option to set the output_negative_jacobian flag.
  • Added plot file option to choose whether to export eroded elements or not.
  • Implemented algorithm for growing surfaces when underlying elements are eroded.
  • Added explicit check for zero shell thicknesses.
  • Updated biphasic, biphasic-solute and triphasic materials to include local material axes, just like multiphasic materials
  • Fixed issue when Surface section is empty. Added some additional mesh validation. Warnings are now produced if nodesets, surfaces, etc. are empty.
  • Improperly formatted step section will now throw exception.
  • Added warning to tied interfaces when no contact pairs were found.
  • Updated default solver strategy for biphasic, biphasic-solute and multiphasic modules to Broyden
  • Changed default settings for biphasic, biphasic-solute and multiphasic analyses to use max_ups=0 (full Newton) and max_refs=25
  • Updated FESolventSupplyStarling to use FEParamDouble instead of double material parameters
  • Added general growth option for kinematic growth and updated documentation.
  • Made domain attribute optional for domain_data.
  • Modified warning message for experimental features.
  • Load controllers are now given a default name if no name is provided.
  • Made sure that must points are written to plotfile even when plot stride is not one.
  • Addressed some performance issues in FEOctree.
  • Element neighbor list is now stored on the mesh so it does not need to be recalculated repeatedly.
  • Minor fixes to Accelerate solver for Apple computers. Documented Accelerate solver in User Manual
  • Made sure plugin is unloaded when its interface is not compatible.
  • Refactored binarySearch function out of PointCurve class.
  • Modified calculation of second derivatives of elastic fluid pressure with respect to temperature and volume to use first derivative calculation, since first derivative may employ smoothed functions
  • Modified real vapor models to use stretched temperature scale for more efficient point interpolation
  • Added descriptions of timings reported at the end of a job.
  • Addressed some problems reading old 2.5 files.

Bug Fixes:

  • Fixed bug in reactive viscoelastic materials (unconstrained and uncoupled) to correctly accommodate viscoelastic fibrous materials that don't sustain stress in compression. This affects reactive viscoelastic fibrous materials subjected to tension and compression.
  • Fixed bug in MKLDSSolver which prevented compilation of FEBio without MKL library
  • Fixed issue with merging vector data maps.
  • Fixed several issues related to restarts when using rigid components or when using dump=2 option.
  • Fixed some issues related to erosion in shells and contact.
  • Added omp critical section around logging in FEPermHolmesMow to avoid potential crash when run with multiple threads.
  • Fixed small bug in evaluation of elastic tangent in cubic-CLE and ortho-CLE materials
  • Fixed issue with gap tolerance in sliding-node-on-facet.
  • Fixed bug in processing expression string for FEMathValueVec3.
  • Fixed potential crash when using uninitialized FEMappedValueMat3d.
  • Fixed bug that incorrectly set the initial energy norm.
  • Fixed bug in discrete domain initialization.
  • Fixed issue that stress was not reported for von-Mises plasticity material.
  • Fixed bug in FECoreBase::GetParameterValue.
  • Fixed issue with reconstructing global nodeset.
  • Fixed issue with including materials from multiple include files.
  • Fixed issues with incorrect use of material point classes.
  • Fixed some memory leaks.
  • Fixed problem with evaluating multi-variable functions.
  • Fixed duplicated surface facet issue with surface erosion.
  • Moved ctol from biphasic-solute solver to biphasic solver (but set it to 0 in biphasic solver). This is needed to correctly pass ctol as a parameter in biphasic-solute analyses).
  • Fixed segfault caused by missing return values
  • Updated initialization of FEFluidSupplyStarling and FESolventSupplyStarling and their parent classes. Added FERemodelingSolid class to model reactive solid mixtures (initial implementation).
  • Fixed bug in initialization of FEGrowthTensor
  • Fixed issue with creating rigid bodies with shells on solids.
  • Added missing support for evaluating functions with variable number of parameters.
  • Fixed bug in FEElasticMixture::UpdateSpecializedMaterialPoints.
  • Added serialization for edge-to-surface sliding contact.
  • Fixed bug in evaluation of total deformation gradient log variable.
  • Fixed bug in export of global variables.
  • Fixed crash with FEPlotEffectiveElasticity.
  • Added function to FEMesh to extract element's zero-based index and used that to fix issue with domain boundary calculation.
  • Fixed problem with extracting boundary from mesh when element IDs don't start from 1.
  • Fixed bug in real vapor calculation of q.
  • Fixed bug in composing FEException message.
  • Added missing cases for FE_VEC3D and FE_MAT3D in FEPlotMeshData::SetFilter.

Documentation:

  • Fixed comments in code snippet of plugin registration documentation.
  • Fixed typo in uncoupled material section.
  • Updated some documentation of linear solvers
  • Fixed explanation that shell_normal_nodal is defined in the ShellDomain section, not the Control section.
  • Added note on auto-contact to user manual.
  • Updated documentation on this node-distance constraint.
  • Updated Theory and User manuals to reflect updated features of the Huiskes reaction rate and clarify material specifications and potential pitfalls
  • Minor updates to mesh adaptor documentation.
  • Updated documentation on plot data plugins.
  • Updated documentation on optimization
  • Replaced mrl.sci.utah.edu links with weisslabutah.org links in manuals.
  • Replaced pdf figures with pngs. Updated theory manual accordingly.
  • Documented Holmes-Mow elastic solid in the limit as beta goes to zero

FEBio 4.7

06 Jun 21:29

Choose a tag to compare

New Features:

  • Added ability to select reactive plastic damage material as base (elastic) material of reactive viscoelastic materail, enabling viscoplastic damage analyses
  • Added C2-smooth option for loadcurves
  • Added "volume change" log variable.
  • A new body load "moving frame" was added to the solid module that simulates the effects of the model being embedded in a moving frame. A similar feature was added to the fluid module, where the load is called "fluid moving frame".
  • Added Quemada viscous fluid formulation
  • Added "body force" plot variable.
  • Added plot variable for enclosed volume change
  • Added plot variable for fluid body force. Improved formulation of stiffness matrix for body forces in fluid and fluid-FSI domains to include stiffness due to variation of fluid velocity. Minor tweaks to fluid-FSI solver.
  • Added the mat_axis domain property, which is used to initialize the material point material axis parameter.
  • Added option to export nodal reaction forces for explicit solver.
  • Added "ideal gas pressure" which applies a pressure based on the ideal gas law.
  • Added debug log output and a plot variable for outputting the current pressure of an ideal-gas-pressure load.
  • Introduced ReactionRateRuberti to model strain-dependent fiber degradation
  • Added FEVec3dValuator object to FEFiberExpPowSBM and FEFiberPowLinearSBM to make them behave consistently with other fiber models.
  • An (internal) mechanism was added for auto-differentation of Stress and Tangent routines. This is available to plugin developers who wish to avoid calculating the explicit form of the Stress and/or Tangent.
  • Added edge-to-surface sliding contact, which can be used to enforce contact between beams or trusses and a surface. Also renamed potential-based edge-to-surface contact.

Improvements:

  • Added option to set element type to HEX8G6 in feb4 input file.
  • added missing s in some instances of output_negative_jacobians
  • Added default load curve to surface force load.
  • Added units of time for bond relaxation constants
  • Added descriptions for viscoelastic and reactive viscoelastic damage, and reactive viscoplasticity and reactive viscoplastic damage to User Manual
  • Changed long names of pressure- and cv-virial coefficients in real vapor, changed long name of viscosity-virial coefficient in Newtonian real vapor, added plot variable for fluid relative thermal Peclet number
  • Updated thermo-fluid module to use latest version of real vapor, added Newtonian real vapor and thermal conductivity real vapor material models. Added plot variables for tangents of fluid pressure with respect to volume and temperature. Used virtual functions to evaluate derivatives of functions of state with respect to volume and temperature
  • Added documentation for enclosed volume change
  • Updated Theory Manual to describe stiffness contribution from variations of fluid velocity to fluid body force calculation
  • Contact potential now also calculates total contact force.
  • Augmentations can now be done optionally for the sliding-elastic contact by attaching a load curve to the tolerance parameter.
  • Documented the stress and tangent of the "HGO unconstrained" material in the theory manual.
  • Improved consistency in PrepStep among fluid solvers, by calling UpdateModel instead of fem.Update in all the solvers.
  • Comments are now parsed in XMLReader::GetChar (this was to avoid a problem when a tag's value contains a comment)
  • Modified FiberExpPowSBM and FiberPowLinearSBM to use FEParamDouble properties.
  • Updated remodeling interface materials to calculate solid mass density for elastic solids, solid mixtures, and multiphasic materials
  • Implemented Init function for several contact material point classes.
  • Error messages for reset_test are printed to cerr instead of the log file.
  • Each contact interface now defines the laugon parameter so that the correct values can be specified.
  • added mechanism for plotting strain energy and specific strain energy for components of solid mixtures
  • Minor change to optimization output formatting.
  • X column now prints time for data-fit objective for optimization problems.
  • Implemented nodal integration rule for line elements. This is now default in edge-to-surface contact.
  • Added support for body forces for elastic-truss domain.

Bug fixes:

  • Removed update of rigid nodal velocities in FERigidSolver::PrepStep since it was incorrect.
  • Initialized m_rt material point member when created.
  • Made sure augmentations of prestrain constraint are not done when tolerance is zero.
  • Allowed prestrain gradient to work with shell domains.
  • Fixed issue with rigid solver to improve convergence
  • Made sure shell bottom flag is set in initialization.
  • Fixed bug in initialization of FEInitialVelocity and FEInitialShellVelocity.
  • Fixed plugin paths in Windows scp-to-repo script [skip ci]
  • Initialized m_ksi and m_ct parameters of FEFluidMovingFrameLoad to fix crash on Windows.
  • Fixed errors in evaluation of stress and tangent of "HGO unconstrained".
  • Fixed issue with reading xml tag values that are space-delimited.
  • Fixed issue with new FEPlotIdealGasPressure plot variable.
  • Fixed crash on Linux caused by buffer overflow in snprintf call
  • Fixed typo in ParseSurfaceData when reading vec2d data.
  • Fixed sprintf deprecation warnings by using snprintf
  • Fixed issues with plotting specific strain energy
  • Fixed plotting of specific strain energy when density is zero
  • Fixed crash due to recent change in linear solver cleanup.
  • Fixed issues with remodeling solids that belong to a solid mixture. Finalized implementation of strain energy density and specific strain energy for solid components of a mixture
  • Linear solver is not deallocated in Deactivate since this may cause issues when resetting model.
  • Made minor changes to multiphasic domains to properly initialize sbmrmin and sbmrmax
  • Fixed issue with material point tree when using elastic mixtures.
  • Added serialization for FESymmetryPlane.
  • Now ignoring some white space characters when reading tag values.
  • Fixed dynamic cast issues when writing discrete element force log data.
  • Fixed issues with processing edges from feb4 input file.
  • Removed mentioning of model title since that parameter no longer exists.

FEBio 4.6

29 Mar 20:53

Choose a tag to compare

New Features:

  • Two new rigid constraints were added to prescribe the rotation of a rigid body: rigid_rotation_vector prescribes the rotation via a rotation vector. The rigid_euler_angles prescribes the rotation via Euler angles.
  • Added "moving frame" body load, which can be used to emulate the effects of being embedded in an accelerating and rotating coordinate system.
  • Added new weak bond recruitment functions for reactive viscoelastictiy, including Weibull, log-normal, quintic, and gamma. Added new damage CDF function gamma.
  • Added filtering capabilities for RVE generations, RVE bonds, RVE recruitment and RVE strain, to plot these variables for specific solid mixture constituents
  • Added some initial support for body forces for beams. (Will only work with constant body forces.)
  • Added "field" plot variable, which can be used to output any field variable. Field variables are the internal solution variables that FEBio solves for. The available field variables depend on the physics module.
  • Added "rotation" plot variable, which writes the nodal orientation of beam elements.
  • Added Lagrange multiplier method to linear constraints in FEAugLagLinearConstraint

Improvements:

  • Array variables (e.g. solute concentrations) are now exported as FIELD variables in VTK export.
  • Added units to rigid force and mixture normal traction
  • Added option to use solute/sbm name in concentration dofs.
  • For dynamic analysis, the initial accelerations are now calculated based on the applied loads at time 0. This may improve the accuracy and convergence for dynamic problems.
  • Added initial values for some of the discrete Hill material parameters.
  • Modified mixture stress plot variable so that you can specify the material as well as the solid component.
  • Added additional plot variables for discrete element length and direction.
  • Added option to turn off deprecation warnings. These are now turned off for older file formats.
  • Simplified implementation of (uncoupled) fiber-exp-linear a bit.
  • Costly evaluations of the zero stiffness matrix contributions of constant body forces are now avoided, which may significantly speed up models that use constant body forces.
  • Discrete domains are now processed after they have been read in, which is more efficient.
  • Improved memory management of the dump stream used during serialization.
  • Modified fiber-exp-linear models to optionally enforce continuity of the strain energy density and elasticity when the user sets c3=0.
  • Changed default value of tolerance parameter to 0.1 in FEThermoFluidPressureLoad
  • Added units to 'orthotropic elastic' and 'orthotropic CLE' materials
  • Modified 'recruitment user' to use 'function' instead of 'cdf' for the recruitment function.
  • Modified reactive viscoelastic and uncouple reactive viscoelastic materials to use 'bond recruitment' functions instead of 'damage CDF' functions. Modified the weak bond recruitment algorithm from published paper formula to accommodate strain reversal in cyclical loading.
  • Added support for writing FMT_MULT mesh data to plot file.
  • Added check to make sure that the value of int parameters is indeed a number. If not, an exception is thrown.
  • Changed type for FEThermoFluidPressureLoad from 'fluid pressure' to 'fluid pressure constraint'
  • Added additional scenarios for material test.
  • Improved calculation of incomplete Gamma function needed for the evaluation of the Malkin reduced relaxation function. Limited the range of the Malkin exponent to be >= 1
  • Plotfile is now created after model has been initialized. This allows some of values calculated during initialization to be stored in the plot file (e.g. initial discrete element force).
  • Now using full Newton in tangent diagnostic, which seems to work a bit better.
  • Updated FEThermoFluidPressureLoad to include penalty, augmented Lagrangian, Lagrange multipler methods.

Bug fixes:

  • Fixed bug in contact potential initialization.
  • Fixes some issues to the velocity calculations in the biphasic and multiphasic solvers.
  • Fixed several issues with rigid body dynamics.
  • Fixed issue with surface data map that caused crash with cold restart.
  • Fixed problem with processing const surface data. Also provided more accurate error message when bc type is not recognized.
  • Fixed additional issue with reading old 2.5 files.
  • Fixed some issues with serialization of some material point data classes.
  • Fixed issue with merging maps for vec3d mesh data.
  • Fixed issue that was preventing old 2.5 files from running.
  • Fixed the reactive viscoelastic material response when weak bond recruitment is included, so that the response remains physical and meaningful during strain reversal, such as cyclical strain or cyclical stress
  • Fixed and updated several material parameter units.
  • Fixed strain energy density calculation for fiber-exp-linear when a non-zero c3 is specified by the user, to enforce continuity of the strain energy density.
  • Fixed bug that caused a crashed when plot file type was not initialized.
  • Fixed problem with restart when using VTK plot files.
  • Fixed some problems with serialization of model parameters.
  • Fixed cause of crash when using body forces with the rigid shell domain.
  • Fixed FEThermoFluidPressureLoad to make prescribed pressure spatially variable
  • Fixed implementation of nonlinear constraints in the fluid solver, thermofluid solver, and polar fluid solver.
  • Fixed issue with reading body loads that was always activating the loads, regardless of what step they are defined in.

Documentation:

  • Added description of dump_stride command line option and made some minor formatting changes to the febio command line section.
  • Updated user manual entry for uncoupled fiber-exp-linear and corrected formula for C6 in user manual .
  • Modified User Manual to describe continuous strain energy density for fiber-exp-linear and uncoupled version.
  • Updated User Manual to describe optional enforcement of strain energy density and elasticity continuity in fiber-exp-linear materials.
  • Minor edits to nonlinear constraints section of Theory Manual, such as adding equations numbers.
  • Updated Theory Manual to display representative continuous relaxation spectra and corresponding reduced relaxation functions
  • Fixed typo in Holmes-Mow material.
  • Updated theoretical description of nonlinear constraint enforcement.

FEBio 4.5

16 Jan 18:45

Choose a tag to compare

New Features:

  • A simple beam formulation has been implemented in FEBio. The stress-strain relation is linear, but allows for large deformations. It can be used in both quasi-static and dynamic analysis.
  • Added option to stiffness_test diagnostic to output the actual and approximate stiffness matrices.
  • Added output_stride option to control data output frequency.
  • Added support for body loads to linear trusses.
  • Added support for exporting stresses for linear trusses.

Improvements:

  • Made parameters of muscle and tendon materials mappable.
  • Added unit specification to offset parameter in sliding-elastic contact interface
  • Added check to see if XML writer failed to create the file.
  • Modified "force" parameter definition of the surface "force" load so that it shows units and cannot be assigned a load controller.
  • Added units and initial values for "isotropic elastic" material.
  • Added check in reading Elements section of input file to make sure element IDs are increasing.
  • Added support for writing element data with NODE format to VTK file (as point data).

Bug fixes:

  • Fixed some bugs in node-element list and element-element list classes.
  • Plot file now stores the FEFacetSets, not the FESurfaces because the latter can change in restarts, which could corrupt the plot file.
  • Fixed typo when reading rigid bc from 2.5 format. Also added check when setting parameter value to avoid crash.
  • Fixed bug in FindSSI function that assumed one-based node indexing.
  • Fixed issue with beam's reference frame. Line searches can now be used with beams.
  • Fixed minor issue in output of shell directors.

Documentation:

  • The plot file format is now described in Appendix D of the FEBio user manual.

FEBio 4.4

15 Nov 20:47

Choose a tag to compare

New Features:

  • FEBio can now output directly in the VTK file format. (Use to output febio results to a VTK file instead of the standard FEBio plot file.)
  • Added Yeoh constitutive model for uncoupled solid materials
  • Implemented dynamics for linear truss elements.
  • Added reaction rate for solutes modeled as SBMs for consistency with constant reaction rate for SBMs.
  • Added log variables "EulerX", "EulerY", and "EulerZ" for exporting rigid body Euler angles to the log file.

Improvements:

  • Expanded description of building plugin on windows in developer's manual.
  • Added check for valid rigid body ID in rigid initial conditions.
  • Modified FEPrescribedActiveContractionFiber so that it works better with FEBio Studio.
  • Added check for nodal IDs
  • Updated theory for tied-fluid interface
  • Made output of "damage" plot variable consistent with output of "D" log variable.
  • Nodal IDs are now stored on the mesh when reading feb files and written to the plot file.
  • Improved calculation of multiphasic tangent stiffness by accounting for tangents of referential solid volume fraction with respect to strain.
  • Updated documentation to include description of Yeoh material
  • Added units to material parameters of Holzapfel-Gasser-Ogden materials
  • Added support for creating node sets from part lists when reading the febio input file.
  • Added check to ensure that the parent material of "perm-Holmes-Mow" is biphasic or multiphasic.
  • Added initialization of the "E" parameter of the linear spring material.

Bug Fixes:

  • Fixed issue with restarts that use surface, domain, or model log data.
  • Fixed restart issue for prescribed normal displacement.
  • Fixed some serialization issuess with solutes and tied multiphasic interface.
  • Fixed bug with calculation of stv parameter in FEActiveFiberStress and FEActiveFiberStressUC
  • Fixed issue with "cylindrical" fiber generator.
  • Fixed bug with selection of solute id for Nims reaction rate.
  • Fixed bug where exact_eigen now returns correct eigenvalues for a diagonal matrix
  • Fixed typo in user's manual for coupled MR.
  • Added dllexport to some fecore debug functions.
  • Fixed issue with old solid solver for dynamic problems.
  • Fixed bug with initialization of elastic fiber materials.
  • Fixed issue with output of contact gap log variable for node-on-facet contact interface.
  • Fixed couple bugs in "tied-multiphasic" contact interface.
  • Fixed issue with log output of contact pressure (issue #71).
  • Fixed issue with serialization of item lists and domain maps.
  • Fixed issue with serialization of mesh nodes.

FEBio 4.3

31 Aug 15:33

Choose a tag to compare

New Features:

  • The "CG-solver" now supports preconditioners (#67)
  • Added fluid supply function to biphasic-FSI materials.
  • Added Starling fluid supply constitutive model for biphasic-FSI fluid supplies.
  • Implemented nrrd image reader.
  • Added support for storing global data in plot file. By default, PID controller values are now stored to the plot file.
  • Added "mesh_data" plot variable, which allows storing mesh data in the plot file.

Improvements:

  • Added support for reading part lists from feb4 file.
  • Improved error detection in fluid dilatation calculation of the "real vapor" material.
  • Added check for node ID numbers in linear constraints.
  • Updated default analysis type for biphasic analyses to be TRANSIENT.
  • The "m" parameters of Ogden materials now support maps.
  • Added support for reading vector of strings as xml tag.
  • Modified default settings for biphasic-solute and multiphasic analyses to be TRANSIENT (instead of STEADY-STATE).
  • Added units for coefficients c1 and c2 of Mooney-Rivlin materials that were missing them.
  • Added units to velocity in fluid normal velocity.
  • Added documentation on CG-solid solver.
  • Added error message when a fixed constraints has no dofs fixed.
  • Now, storing initial line coordinates of line object.
  • Updated some plot variables that were not thread-safe.
  • Added support for domain data stored as FMT_NODE.
  • The Surface-to-surface map is now evaluated at the nodes so that it can be replicated more accurately in a plot variable.
  • Updated error message when the fiber property of a material cannot be found when parsing ElementData section.
  • Added support for .fiber variable in ElementData. (which allows the "old" way of assigning user fiber data to mixture components.)

Bug Fixes:

  • Fixed bug in assembling stiffness of linear constraints.
  • Fixed bug with assigning maps to array parameters.
  • Fixed issue with model reset.
  • Fixed issue with attributes getting processed twice.
  • Fixed issue with default name for line objects.
  • Fixed issue with initialization of rigid body COM so the correct values are available for PID controllers that reference these parameters.
  • Fixed bug in "fluid surface force" plot variable to update surface area and surface normal at each time point, producing correct results for fluid-FSI problems. Fluid problems not affected.

FEBio 4.2

20 Jun 18:33

Choose a tag to compare

New Features:

  • A fluid-solutes module has been introduced, for fluid analyses with solute transport and reactive processes.

Improvements:

  • Updated description of porous neo-Hookean material to indicate that solid volume fraction is inherited from parent material if biphasic or multiphasic
  • Exporting additional symbols from febiorve (to make them available to plugins on Windows).
  • Added out-of-bounds check to ImageMap::gradient.
  • Modified multiphasic framework so that solutes that represent solid-bound-molecules do contribute to the referential solid volume fraction of the multiphasic mixture, by modifying FEMultiphasic::SolidReferentialVolumeFraction. Also updated order of initialization of material points in FEMultiphasicSolidDomain::InitMaterialPoints and FEMultiphasicShellDomain::InitMaterialPoints.
  • Updated User Manual to improve description of elastic fluid materials and to explain that solutes that represent solid-bound-molecules can now contribute to the referential solid volume fraction
  • Deleted deprecated FEPoroTraction files
  • Deprecated FEMultipihasicFluidPressureLoad for versions > 4.0. Changed FEMulatiphasicFluidPressureBC description to "actual fluid pressure" to avoid conflict with "fluid pressure" BCs in fluid, fluid-FSI and fluid-solutes analyses. Minor fix to FEBioFluidSolutes.cpp.
  • Added FEMultiphasicFluidPressureBC as a BC that supersedes deprecated FEMultiphasicFluidPressureLoad.
  • Added plot variables for various strain measures derived from the growth tensor of a kinematic growth material. Updated the kinematic growth material so that it correctly stores the elastic and growth deformation gradients. Cleaned up the method for creating material point data for the kinematic growth material. Fixed the UpdateSpecializedMaterialPoints function of FEKinematicGrowth to properly replace the deformation gradient calculated from the deformation with the elastic deformation gradient evaluated from the multiplicative decomposition. This provides the correct deformation gradient for calculation of strain-dependent stress, permeability, etc., and associated tangents.
  • Added description of the "contact potential" formulation ot user manual.
  • Fixed bug in FEKinematicGrowth that prevented proper integration with solid mixtures.
  • Updated FEPoroTraction to FEMixtureNormalTraction. Modified FECarterHayes to accept sbm specification as name instead of number. Added units to FEInitialConcentration. Added long names to parameters of FESolidBoundMolecule. Minor tweaks to serialization of FETiedMultiphasicInterface.
  • Added default calculation of divergence of body force from trace of stiffness (its spatial gradient).
  • Updated body force class to include a function for the calculation of the divergence of the body force. Updated derived classes to perform that calculation. Fixed the calculation of the body force stiffness matrix in the fluid-solutes domain, using divergence of body force.
  • Added NodeNormal and UpdateNormals functions to FESurface.
  • Created version of fluid RCR boundary condition for fluid-solutes solver. Added units to parameters in FEFluidRCBC, FEFluidRCRBC, FEFluidRCRLoad, FEFluidResistanceBC, FEFluidResistanceLoad, FEFluidSolutesResistanceBC. Updated new formulation for fluid-solutes module. Modified sequential solver in fluid-solutes module to ignore concentration residual when ctol=0. Updated solutes back flow stabilization for new formulation of fluid-solutes solver.
  • Added units of length for gap tolerance and search radius fields for several contact interfaces.
  • Added dynamic analysis capability to EAS and ANS shell domains using generalized-alpha method. Added units to initial velocity condition. Modified secant stress and secant tangent routines to return material stress and elasticity tensors when requested.
  • Added FEBIOMECH_API to FEFiberMaterialPoint (for plugins on Windows).
  • Renamed FEInitialFluidPressure to FEInitialMixtureFluidPressure to avoid naming conflict with FEBioFluid library.
  • Added initial fluid pressure in FEBioFluid and separate version in FEBioFluidSolutes. Added FEFluidSolutesResistanceBC class. Changed call to Dilatation virtual function in FEElasticFluid to exclude solute concentration. Added units to various initial conditions.
  • Added default load curve flags on nodal force and nodal load parameters.
  • Added plot variables for fluid relative Reynolds number and solute relative Peclet number.
  • Added new fiber models FEFiberCDF and FEFiberCDFUncoupled. Added plot variable for 'deviatoric elasticity' which saves the DevTangent of uncoupled materials.
  • Simplified evaluation of FEPorousNeoHookean::ReferentialSolidVolumeFraction.
  • Changed serialization from FEPorousNeoHookean.
  • Update FEPorousNeoHookean to be more robust to inclusion in an elastic mixture which is the solid part of a biphasic/biphasic-solute or multiphasic material.
  • Added FEStiffnessDiagnostic.
  • Added set command to febio prompt.
  • Added support for feb4 step section in restart input file.
  • Now storing covariant and contravariant vectors in shell element instead of recomputing each time.
  • Minor changes to omp logic in FEExplicitSolver::DoSolve.
  • Improved serialization for fluid-related solvers, materials, boundary conditions and domains.
  • Initialized L0 in bool FEElasticTrussDomain::Init().
  • Removed serialization of m_dof in FESurfaceLoad since it's already serialized in FEModelLoad.

Bug Fixes:

  • Fixed issue with name attribute of ElementData tag.
  • Fixed crash if no analysis steps are defined.
  • Modified how attributes are processed in FEBioMeshDataSection4::ParseElementData so that invalid attributes can be identified.
  • Modified how the fibers are defined for the HGO-coronary material so that they show up correctly in febio studio.
  • Fixed some issues with setting the preconditioner for the cg, fgmres, and bicgstab iterative solvers
  • Fixed issue with incomplete Cholesky and CG iterative solver.
  • Fixed error in description of CG iterative solver.
  • Fixed incorrect values for output_level.
  • Fixed issue with serialization of data maps.
  • Fixed bug in plotting solid mixture nested variables, when plotting component that doesn't exist.
  • Fixed serialization of FENodalLoad.
  • Fixed problem with copying valuators.
  • Fixed issue with initialization of load controllers added in restart input file.
  • Fixed bug in serialization of rigid nodeset.
  • Fixed issue with rigid shell initialization.
  • Fixed bug with setting dump file name.
  • Fixed several serialization issues.
  • Fixed serialization of FEMathValuator.