Releases: febiosoftware/FEBio
FEBio 4.8
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
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
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
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
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
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
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.
FEBio 4.1
- Fixed issue with exporting log data "contact pressure" and "contact gap".
- Added element ID in Holmes-Mow permeability error message.
- Fixed problem with initialization of FERigidBC in multi-step analysis.
- Added all node, element, and facet sets defined in the input file to the plot file.
- Fixed issue with linear constraints for multi-step problems.
- Added config option (show_warnings_and_errors) to suppress warnings and error messages.
- Added parameter to param_run task to generate standard febio output files.
- Hide "clamp_shells" parameter in FERigidNodeSet since it has no effect currently.
- Now printing const scaled value for prescribed FEParamDouble values.
- Some changes that address minor inconsistencies between the BCs that replace their deprecated "load" versions.
- Fixed error in description of Hill discrete material.
- Added enums to solve_strategy parameter of FEFluidSolutesSolver.
- Minor change to console update.
- Corrected unit of P1 muscle material parameter in user manual.
- Fixed issue caused when febio prompt recieves EOF on Linux.
- Log data is now also evaluated and output at time 0.
- Fixed issue with missing material point data in multigeneration material.
- Fixed issue with initialization of FERealGas and FEOsmCoefManning.
- Fixed issue with initialization of FEMappedValueVec3 class and FEElasticFiberMaterial_T.
- Added check for invalid tags when reading rigid body force.
- Replaced NANDetected with NANInSolutionDetected and NANInResidualDetected.
- Minor formatting change when printing vec3d mapped parameters.
- Changed range for FEDamageFiberExponential k2 parameter.
- Fixed bug in allow-mixed-bcs logic in multistep analysis.
- Added support for target rigid moments.
- Added support for referencing domain parameters. This can now be used in the param_run task.
- Fixed bug in periodic boundary related to projection search radius.
- Updated reaction rates (const, expSED, Huiskes and Nims) to use FEParamDouble instead of double for material properties.
- Fixed initiation of referential solid volume fraction in multiphasic solid and shell domains.
- Added support for reading linear constraint offset and fixed issue related to offset.
- Added plot variable for specific strain energy in multiphasic materials (to account for solid remodeling).
- Added rigid body names to echo input.
- Updated User Manual to described fixed pressure, prescribed pressure, fixed concentration, prescribed concentration, fluid pressure (for multiphasic analyses), and add description of update flag to solute natural flux surface load
- Added FEMultiphasicFluidPressureLoad to allow prescribing the actual fluid pressure in a multiphasic analysis. Modified FESoluteNaturalFlux to provide better numerical convergence for this surface load.
- Moved up initialization of rigid system so PID load controllers can reference rigid body parameters.
- Fixed couple issues with explicit solver: initialized FETimeInfo and fixed bug in using prescribed rigid displacements.
- Fixed issue with shell dofs in explicit solver. Made some minor performance improvements.
- Renamed FEPrescribedFluidPressure to FEPrescribedNodalFluidPressure to avoid naming conflict.
- Fixed bug in parsing vector from input file.
- Fixed bug in parsing input file comments that contain '-' characters.
FEBio 4.0
FEBio4 is a major upgrade from FEBio3. Although it will continue to read most older files (version 3, 2.5, 2), a new format (version 4) is the preferred format. Files can be converted with FEBio Studio 2. Most of the important changes in this update are under the hood and improved the consistency between the internal representation of the febio model, the input file format, and the model representation in febio studio 2. The changes facilitated the direct integration of febio into febio studio. See the release notes of febio studio 2 for additional information regarding this integration.
- Fixed sign issue with evaluating body loads on rigid bodies. (Only affects the output of the rigid body reaction forces.)
- Added mat_axis property to solid mixtures, mostly to better support older file formats.
- Fixed a crash when an error was detected in the update of the contact potential.
- Added some error checking for -import command line option.
- Fixed bug in evaluation of FENodalFluidFlux
- Increased precicion when writing floating point values.
- Fixed some issues with parsing comments from the xml file.
- Rigid wall adds surface to mesh in feb3 import.
- Rigid node sets can now be applied in multi-step analyses.
- Fixed crash in parabolic map.
- Fixed several issues with mesh data generators.
- Added support for redefining load contollers in restart file format 3.
- Fixed issue with BSpline initialization.
- Added property validation for properties defined via empty tags.
FEBio 3.8
- Several issues with the cold restart capability were addressed.
- An issue was caused that could cause a crash when rigid rotational dofs are coupled to a biphasic element.
- Added dump stride parameter, which allows users to specify how often the dump file is written.
- Added "contact_traction" log variable.
- Added names of parent when printing model parameter values.
- Support for the MKL-DSS solver was added, which seems to work better for certain types of models than the default pardiso solver.
- Added gap offset option to facet-2-facet sliding.
- Fixed issue with plot output logic when first step does not request output.
- Fixed bug in "element center of mass" plot variable.
- Parameters of "orthotropic elastic" material can now be mapped.
- Added "discrete element signed force" plot variable.
- Added log variables for discrete element force components.
- Fixed bug in compressible Gent material.
- Added "facet area" log variable.
- Added "deformation gradient" plot variable.
- Fixed issue with initialization of FEParamMat3d parameters.
- Added FEMathExpression that refactored some of the logic previously in FEMathValue. FEMathValueVec3 now also uses FEMathExpression so that it can support maps.
- Added prescribed fiber active contraction models. (Similar to uniaxial, but fiber direction can be defined by user.)
- Added support for mixture stress log variable.
- The "mixture stress" plot variable now also works for uncoupled mixtures.
- Fixed calculation of fixed charge density in multiphasic and triphasic materials (in FEBio3)
- Added error exception in Holmes-Mow permeability to catch pathological case.
- Added "contact area" log variable.
- Updated Theory Manual to fix calculation of fixed charge density in reactive multiphasic materials that use charged solid-bound molecules
- Added description of fluid RCR surface load in User Manual
- Fixed the fluid RCR surface load and made it ready for release. Simplified the fluid resistance to be consistent with fluid RCR.
- Allow the initial referential mass density of solid-bound molecules, m_rho0, to be a FEParamDouble.
- Updated FEMembraneMassActionForward and FEMembraneMassActionReversible to use areal concentration of solid-bound molecules. Updated FEMembraneReactionRateIonChannel to accommodate solid-bound molecules in the calculation of the reaction rate.
- Added exponential damage CDF (useful for reactive viscoelastic materials with exponentially increasing weak bond fractions with increasing strain)
- Added aggressive interpolation type as user-specifiable option in BoomerAMG solver.
- Modified FEFiberPowLinear and FEFiberPowLinearUncoupled to use FEParamDouble material coefficients.
- Updated FEIdealGasIsentropic and FEIdealGasIsothermal to run properly in current version of FEBio.
- Point Source Updates
- Fixed bug in FEContinuousFiberDistribution::Stress
- Fixed issue with exporting plot parameter for mapped parameters of nodal loads.
- Added support for X, Y, Z in generic hyperelastic material.
- Restricted nodal reaction forces plot variable to non-rigid materials.