Releases: febiosoftware/FEBioStudio
FEBioStudio 3.0
FEBio Studio version 3.0 is a major update and contains a lot of new features and changes. The two main design goals were to make working with FBS more programmable and to provide more tools for debugging FEBio runs.
The following is a short summary of the most noteworthy changes in FBS3. Please see the FEBio Studio User Manual for more details.
- The FEBio Monitor allows users to run FEBio models interactively from the graphical user interface. The model's state can be inspected visually at any time during the solution process.
- FEBio Reports provide a comprehensive analysis of the FEBio job. FEBio Reports can also be generated from FEBio log files, though they may be less detailed than reports generated from FEBio jobs that are run inside FEBio Studio.
- FEBio Studio now supports Python. A simple Python editor is available within FBS and the built-in Python interpreter (using Python 3.13.1) can run custom Python scripts. (An external Python module is in development and will be available in the next release.)
- Users can now generate FEBio plugins entirely from the FEBio Studio interface. The plugin files are generated via a wizard. They can then be edited within FBS3 and build into a plugin.
- The new Plugin Repository provides access to FEBio plugins developed by others. Using the Plugin Repo, users can quickly find plugins and install them in their local installation.
- FEBio Studio's render engine has been completely overhauled and now uses a hardware abstraction layer. This means that the user can now choose what render backend to use on their system. For instance, mac users can now use Metal. Other supported backends are OpenGL (all OS), Direct3D 11/12 (Windows), and Vulkan (Windows and Linux).
In addition, FBS3 now uses the .fsm extension again as the default extension for FEBio Studio models. (It can still read .fs2 files and some other older formats.)
The FBS3 settings are now stored in a different location than FBS2 so FBS3 will not import the FBS2 settings. The settings are now stored in an INI file and, in principle, can be hand-edited although this is not recommended.
The following lists changes in addition to the new features listed above.
New Features:
- A ray-tracer was implemented that allows users to generate high-quality, arbitrary resolution images of their models and results. The ray-tracer will also produce better results when shadows or transparency is required.
- Instead of simply using colors for materials and objects, users can now customize all the visual material properties that are used to rendered the model (on build and post side).
- Environment maps can be configured to enable special reflection effects.
- Added tools to measure the average surface normal and the dihedral angle between two selected faces.
- Added support for angle criterion to MMG Remesh modifier.
- Added support for global definitions and made a few other tweaks to the Abaqus reader.
- Added support for triangular elements in Extrude-to-surface tool.
- Added support for curves in ICP Registration tool.
- Implemented Extrude-to-surface tool.
- Added color picking button on 3D Image Settings panel.
- Added Math Function data filter to post data panel. (#196)
- Added option to "Project Nodes" modifier to project nodes onto a user-specified plane.
- Added arithmetic filter for scalar face data.
Improvements:
- Added templates for reporting issues through GitHub Issues.
- Modified moment of inertia tool to return eigenvectors and eigenvalues of the MOI tensor. Modified calculation of element volume to work with shell elements and to return area when shell thickness is zero.
- Removed unused toolbar button in New dialog.
- FEBio Studio now uses the C locale for its default when formatting numbers
- Surface metrics tool now reports in global coordinates.
- Renamed AverageNormalTool to FaceMetricsTool and added centroid calculation.
- Modified Purge Selections option so that log items are removed if they have selections assigned.
- Fixed some problems with import of springs in Abaqus file reader.
- Now storing nodesize to settings.
- Added checks for shared nodes and degenerate hexes in extrude to surface tool.
- Now using faster nearest-node query in ICP registration to speed things up a bit.
- Modified ICP Registration tool so it works with different type of selections.
- Modified how signed distance is calculated in distance map. Users can now choose the convention for calculating signed distances.
- Added support for exporting higher order elements to stl and surf. (Higher-order elements are triangulated before export.)
- Renamed "invert" math function filter to "negate" (#196)
- Added filename to RAW image import dialog. (#184)
Bug Fixes:
- Fixed issue with reading shell thickness for element sets from feb file.
- Fixed bug in reading SCALARS section from vtk legacy files.
- Fixed issue with exporting VTK data.
- Fixed issue with unhiding faces of an editable surface.
- Updating material assignments when objects are deleted.
- Fixed bug in processing nodesets in Abaqus import.
- Fixed several issues with import of STEP and BREP files.
Documentation:
- New FBS3 features are added to the documentation.
- Some images were updated to reflect the new FBS3 interface.
FEBio Studio 2.10
New Features:
- Added new modifier that projects nodes onto either one of the global coordinate planes, or onto a selected surface.
- Added tool to convert between rotation representations (see menu Tools/Convert Rotations).
- Added "helical axis" plot feature and added visualization for helical axes.
- Added support for different plot file formats. (Currently, only FEBio and VTK are supported.)
- Added export option for element data with DATA_NODE format.
- Added support for array data stored on faces.
- Added recent image file menu.
- Added MeshToImage tool. Moved image export functions to C3DImage.
Improvements:
- Improved fitting to exponential function in Graph window. Also added ability to fit to power function.
- Added support for exporting MAT3 element data.
- Added checks to make sure that data is available for export.
- Fixed minor logic issue in post material panel.
- Added check to see if local IDs of node data section are valid.
- Some minor tweaks to visualization of point objects.
- auto-penalty is now activated by default for sliding-biphasic.
- Now using ModernStyle for the upload wizard on Windows, since the default style doesn't look right in dark mode.
- Added widgets for entering element data and node data in the FEBio optimization wizard.
- Now ommitting Step section in febio4 export if no analysis steps are defined.
- Added check for "SFE" keywords in Ansys reader, since this was causing issues with reading the EBLOCK.
- Added check to IGES import to make sure shape is not null.
- All image views will now automatically update when filters are applied
- ImageSettingsPanel now has more significant digits available on some settings.
- Udpated image filter UI to make it more clear when there are unapplied filters.
- Images will now automatically revert to the original image when the last filter is removed from the pipeline.
- Warped image tool now outputs image metadata for all image types.
- Warp image tool now prints out image size information when writing raw images.
- Warp image dialog now defaults to the current state.
- Scaled bounding box a bit in warp image filter to avoid roundoff near image boundaries.
- MeshToImage tool now writes in-mesh values as 255 instead of 1.
- Fixed some logo issues in the documentation
- Updated FiberODF normalization to match normalization done in constitutive model
- Now ignoring obsolete FEBio parameters.
- Made sure selection mode is reset when no transform mode is active.
Bug Fixes:
- Fixed minor bug for those who compile FEBioStudio without SITK.
- Fixed issue with distance map calculation.
- Fixed issue with writing nodal connectivity when exporting element or face datafields.
- Fixed issue with IDs that are written when exporting data from post panel.
- Ensured that nodal IDs display in graphs are correct.
- Fixed bug in updater when updating to febiostudio3 branch.
- Fixed issue with processing top-level-only parameters when reading feb files.
- Fixed bug in TruncatedEllipsoid which caused a crash.
- Fixed crash in Graph window when displaying object data on limited time intervals.
- Added check to avoid crash in case GMeshObject was not constructed when reading feb file.
- Fixed sampling coordinates for MeshToImage tool
- Node selection now respects the "respect partition" selection option. (#142)
FEBioStudio 2.9
New Features:
- A new tool, the Fiber ODF (Orientation Distribution Function) analysis tool, was added to FEBio Studio. This tool calculates ODFs directly from 3D image data.
- Added support for edge data field variables.
- Added PadImageFilter
- Added Butterworth image filter.
- Added button to scroll to end on log panel.
- Added options to set font sizes for title, legend, and axes on graphs.
- Implemented the NetGenSTLMesher, which is now used as an option to mesh editable surfaces.
- TetGen mesher can now be used directly on primitives.
- Implemented exploded view feature.
- Added tool to extract curve and turn it into a beam mesh.
- Committed new surface meshsize tool.
- Added Set Axes option to clear the local material axes.
- Added option to add local weights to Laplace solver. Now using this in MeshMorphTool.
- Added option to convert "region" element data to "mixed".
- Added support for "region" format to arithmetic filter for scalar element data.
- Added filter option to add two element DATA_MULT fields.
Improvements:
- Some minor refactoring of the math datafields in order to make them work a bit faster.
- Point probe now always added, even when nothing selected.
- Discard mesh tool now removes the current mesh of a primitive (#131).
- Ensured that edges of higher-order elements interpolate the nodes (#132).
- Multiple images can now be imported at once.
- Warping images is now done in batches.
- Made sure that nodes of muscle paths can be moved.
- Added option to muscle path to select start time of mesh projection.
- The mesh morph tool no longer creates a copy of the mesh, but applies the changes directly to the active mesh.
- Implemented pie-filling algorithm for filling holes.
- Implemented Find Image feature for missing images of all types. Models now save relative paths to images.
- Updated mesh metrics so that transformed nodal positions are used.
- Model tree now uses shared property lists instead of unique lists. This speeds up building the model tree considerably for large models.
- Modified update of parts to make it more efficient.
- Added support for integrating over shells.
- Added support for saving and loading graphs from session file (#125)
- Now, when model components fail to allocate, an error is shown instead of aborting the import.
- Loading or deleting images now clears the command stack.
- 3D Image controls are hidden when no image model selected. Image controls remain active when image analysis is selected. Name of current model shown on panel.
- Added active flag for image analyses.
- Image view settings are now saved on the image model
- Image sources now save a filepath relative to the fs2 file
- Tiff file reader now has save and load logic
- Added time info to DlgStartThread.
- Added conversion to sitk image in tiffreader.
- Added mechanism for custom threads to output to the log panel.
- Now converting raw images to ITK images when ITK is supported.
- Implemented different algorithm for updating element partitioning in tetgen mesher.
- Removing a selectable property no longer asks for confirmation on macOS due to a still unsolved crash
- Implemented algorithm in tetgen mesher that reconstructs element partitioning.
- Ensured that parts are always visible when loaded.
- Named selections are now preserved by the "set axes from curvature" tool.
- Added error checking in equation editor.
- Modified extrude faces modified so that it retains partitioning and named selections.
- Modified tri-to-quad convertor to work with quad-dominant meshes.
- Checked whether the OCC object is shell or solid.
- Some tweaks to the netgen parameters that affect granularity.
- Moved mesh sizing for OCC objects to NetGenMesher. SurfaceMeshSize tool now lists surface names and responds to updates.
Bug Fixes:
- Fixed issue with processing part lists for body loads.
- Fixed problem when image reload fails. (#140)
- Fixed problem with the volume renderer's shader initialization. (#139)
- Fixed bug with Volume datafield that produces constant values in graphs. (#137)
- Replaced cast to int with floor to avoid numerical overflow issues.
- Fixed problem with building material selections when importing feb files.
- Fixed issue with keeping materials' selections and parts' material IDs consistent. (#129)
- Fixed bug in integration of nodal values.
- Fixed issue with reading VTK files that contain string field data.
- Now clearing selection before remeshing in order to avoid crash. (#116)
- Fixed issue with mesh panel update when no document is open (#117)
- Fixed issue with default color map being changed inadvertently (#122).
- Fixed build error when not using HAS_SSH (#123)
- Fixed some layout issues with the plot widget.
- Fixed issue caused by numerical round-off when calculating the legend bar labels.
- Fixed issue when rendering quads in GLMeshRender.
- Fixed issue with clear recent files list.
- default plot variables are reset when changing the physics module.
- Fixed issue with puring selections.
- Fixed problem with creating FETetGenMesher from fs2 files.
- Fixed issues with reading older fsm files.
- When copying mesh, made sure that node and element lookup tables are copied as well.
- Fixed bug in area calculator tool.
- Fixed issue with updating plot field dropdown when plot field name is changed. (#127)
- Fixed bug in calculation of volume ratio and volume strain standard data fields (#126)
- Fixed issue where Repo project description would sometimes erroneously have a scroll bar
- Fixed issue with setting face descriptors of netgen mesh generation.
- Fixed issue with populating property list for CSurfaceMesherProps.
- Fixed potential crash when parsing model component with unrecognized type string.
- Fixed bug with face colors in RenderGLMesh.
- Fixed bug in Log function of FSThreadedTask
- Fixed issue with cancelling of threaded task.
- Fixed deallocation bug in FEBioFileImport::AddLogEntry
- Resetting GL_UNPACK_ALIGNMENT after updating 3d texture, to avoid issues with qt rendering.
- Fixed issue with initialization of volume renderer.
- Fixed issue with the extract component filter for element data using NODE format.
- Fixed crash caused by sampling outside image domain during image map
- Fixed issue with febio export allowing degenerate elements.
- Fixed bug in copying rigid BC.
- Fixed issue that name of rigid connectors was not assigned when reading feb file.
- Fixed issue in counting of step components that was causing a problem when exporting single-step analyses with mesh adaptors.
- Disabled local mesh modifier parameter since it's seem to crash netgen when turned off.
- Changing granularity now updates netgen mesher parameter values.
- Fixed some crashes.
- Fixed problem with incorrect property flags when loading material components from fs2 file.
- Fixed issue with invert tool for quadratic triangular shells.
FEBio Studio 2.8.1
Fixes an issue with default windows style.
FEBio Studio 2.8
New Features:
- Added modifier to delete elements.
- Added density option for fiber visualization.
- Implemented filter for converting element data to face data (for DATA_ITEM format).
- Implemented "delete all" context menu for mesh data.
- Implemented "delete all" context menu for the mesh adaptors.
- Added option to export hybrid meshes (i.e. mesh of elements with different element types). Mesh of hybrid part is not split. Instead, degenerate elements are written.
- Added support for taking time derivative and exporting element region data.
- Added set of units for mm-mg-s
- Added tool for AddNode modifier.
- Added obj file reader.
- Added some basic support for reading ArtiSynth files.
- Implemented path selection for edges.
- Added custom ui tool for Add Triangle modifier.
- Added ability to perform adaptive curve extrusion.
- Added ability to fix jagged edges of surface meshes
- Added active status flag to discrete objects.
- Added context menu to hide inactive parts of an object.
- Added option to set parts as inactive. Inactive parts are not exported to the feb file.
- Implemented data filter that projects data onto the surface normal.
- Object manipulators are implemented The object manipulator allows users to change the object's shape through the UI. Cleaned up selection classes for geometry items.
- Implemented color picker tool for quickly assigning colors to objects or to a part's material.
Improvements:
- Delete elements modifier now updates named selections and part data.
- Now partitioning Ansys-imported mesh based on Field1 (material number).
- Part sets and part data is now copied when converting to editable mesh.
- Added support for interpolating face data with region format.
- Job report dialog is now displayed even when job is cancelled.
- Added check to export of surface pairs to see if the primary and secondary surfaces are found.
- Named selections are now automatically removed if they become unused when a model component is removed.
- Implemented different algorithm for evaluating a material's center of mass.
- Modified "volume ratio" and "volume strain" datafields to work better with multi-mesh models.
- Added shortcut ('a') and corresponding command to toggle the selected parts' active state.
- Distance parameter now also scales scalar map for extrude faces tool.
- Implemented extrude tool that can use a map, read from a file, to adjust the local extrusion direction and distance.
- Made sure correct units are set after reading a file.
- Added support for vec2d properties and fixed some issues with vector_double properties. Added options to slice plot to set the slice range and add user slices.
- Integrate Window now uses the source field instead of the Y field to select the source. Selections are now determined prior to integration in order to speed up calculations. Now using omp to speed up integration over a planecut.
- Removed SITKImage class. SITK is only used to read files and fitler images. Image data is now copied from SITK images into 3DImage
- Added report when meshing finishes.
- Added better check to see if an xml tag's value is empty.
- Made sure correct units are used after loading febio files.
- Set symmetric_stiffness flag for sliding-elastic to false using create handler.
- Added create handler for setting matrix format for FESolver to preferred.
- Added some interaction to the plane cut tool.
- Implemented new algorithm for finding nodes along shortest path.
- Added support for .key extension for reading LS-dyna file. Fixed some isses with the LS dyna reader.
- Added seperators between mesh selection tools and options. Select path tool no longer requires select connected to be on.
- Added error message if only one edge is selected in Fix Jagged Edges
- Regenerate node and element IDs after split modifier.
- Minor changes to FEInflateMesh and FENetgenMesher
- Removed occ object merge from STEP import and moved it to the merge tool.
- Status flags are now serialized for GParts and discrete element sets.
- Added part validator to check for zero shell thickness.
- Added ability to extrude edges in surface meshes
- Inactive discrete sets are now shown with italic font in model tree.
- Inactive parts and discrete objects are rendered dark-gray.
- Added export status flag to mesh items. Now using this to selectively export items from active parts only.
- Inactive parts are now shown as italic in model tree.
- Added warning messages to Edit\Find menu.
- Replaced Part Selector with Part Viewer tool.
- Color is now assigned based on the object color mode in color-picker tool.
- Added check for degenerate elements in revolve mesh tool.
- Added option to manipulate surfaces of objects.
- Adjusted data field ID so that field codes can be 16 bit instead of 8. (This allows more than 256 fields to be indexed.)
- Added support for domain data to febio logfile.
- FEMesh now stores its FENodeElement list so it does not need to be recalculated.
- Added options to Mirror tool to mirror about face selection or custom plane.
- Saved line size to settings. Added option to set font size used for rendering tag labels.
- Started work on expanding support for generating optimization input files.
- Implemented different algorithm for estimating surface normal in triangulate.
- FE nodes are now mapped to the geometry nodes in the NetGenMesher.
- Added variable argument Write function to FSLogger. Now using that in NetGenMesher, instead of CLogger.
- Some minor refactoring of FSLogger so it can be used safely in threaded tasks.
- Model check now reports when there are no issues found.
Bug Fixes:
- Fixed issue in delete-elements modifier that aims to preserve node partitions.
- Fixed issue with revolve faces tool that was not creating correct denegerate hexes.
- Fixed issue with preserving part data in the delete-elements modifier.
- Fixed issue with transparency of planecuts.
- Fixed some issues with visualization of planecuts on post side.
- Fixed bug in Netgen mesher which set granularity to 0.001 when user sepcifies 0. Added minimum element size in Netgen mesher.
- Mesh state is now updated for all meshes when enabling/disabling materials, not just the active one.
- Fixed crash in CFEBioJob's destructor.
- Fixed issue with importing must point curves from old fsm file.
- Fixed crashed when changing enum properties.
- Fixed bug in Archive::read when reading std::vector.
- Fixed issue with importing mat3s data from file.
- Fixed issue where material properties were not getting updated.
- Fixed potential crash when exporting mesh data.
- Made it so that object IDs and names are sequential when they are added to the model.
- Fixed bug in processing element sets from feb input file.
- Fixed issues with displaying mesh data when mesh inspector is active.
- Fixed issue with importing part lists for mesh adaptors.
- Fixed bug in extrude map tool.
- Fixed bug in camera animation.
- Fixed some issues with legacy VTK file reader.
- Fixed issue with initialization of colormap widget.
- Fixed potential crash due to double deletion of thread.
- Fixed some issues with reading feb 1.2 files.
- Fixed issue with selecting nodesets of multi-mesh models.
- Implemented better support for reading springs from Abaqus input file. Fixed some issues related to repeated solid sections and element sets in Abaqus input file.
- Fixed issue where colormap changes in settings were not immediately visible.
- Fixed crashes due to heap corruption of FSElement's m_h array.
- Fixed some issues in Abaqus reader.
- Fixed bug in new path selection for nodes. Added support for path selection of surface edges and faces.
- Fixed region selection for discrete springs.
- Fixed issue with selecting surfaces in a model that has multiple meshes.
- Fixed bug in hiding items.
- Fixed some issues with inflate tool.
- Fixed some issues with reading nodesets from feb2 files.
- Fixed compiler issue with older versions of Qt.
- Fixed bug in LSDyna file reader related to curves.
- Fixed bug that prevented extrusion of a single edge.
- Made sure error from surface modifier is propagated to running thread.
- Fixed minor bug in FEFixJaggedEdges
- Fixed crash triggered by image filter deletion
- Fixed crashes caused by bug in image filter pipeline.
- Fixed crash in newly created surface normal projection filter.
- Fixed some issues with reading solid elements and solid sections in LS-Dyna file reader.
- Fixed backward compatibility issue with feb3 files.
- Fixed potential crash in reading LS-dyna files.
- Fixed issues with creating named selections when importing older febio 2.5 files.
- Fixed problem with exporting initial conditions on parts that were split on export.
- Fixed buffer overrun problem when extracting enum values.
- Fixed problem with feb input that caused GObject::Update to be called too many times.
- Fixed problem with internal surfaces not being updated when hiding elements in post doc.
- Fixed issues with reading PLC objects.
- Fixed bug in PostDocument::UpdateSelection.
- Fixed bug in CPaletteWidget's constructor.
- Fixed qt style issue with newer version of qt on windows.
- Fixed issue with reading surfaces from feb 2.5 format.
- Fixed some compilation issues on Windows after updating Qt.
- Fixed some issues with the correct placement of the pivot for object selections on the post side.
Documentation:
- Updated FEBioStudio Manual to improve Netgen meshing features.
- Modified hyperlinks to appear colored in PDF output.
- Added documentation for Image Map tool.
- Fixed size of PostToolbar icons in manual
- Fixed error in lyx manual that was causing problems when processing to html.
FEBio Studio 2.7
New Features:
- Rendering of meshes has been significantly improved on the build side. Noticeable improvements are smoohter rendering of mesh lines, and significant speedup of render speed. (Use ctrl+F12 to show approximate FPS)
- Implemented geometry highlighting for surfaces and parts.
- Pressing Enter (Return) now converts the highlights to a selection.
- Added button to model viewer to toggle selection highlighting. Picked items can now be given a custom color. Fixed some issues with drawing the picked items.
- Outlines of selections and highlights are now also rendered.
- Added settings option to enable/disable geometry highlighting.
- Added recursive parameter to mirror planes, which can be used to create 3/4 symmetry.
- Added context menu option to export named surface selections to stl file.
- Added FEBio menu option to run model check.
- Added dropdown option to copy material properties from other materials.
- Added option to plot derivative on point curve plots.
- Added C2-smooth to dropdown menu for load curves
- Added context menu option to (re)load transform for Axes plot object (used by kinemat tool.)
- Kinemat tool now also adds triads that show the position and orientation of the kinemat transforms.
- Added support for surface log data.
- Added support for VTK's vtm files.
- VTU files can now also be read on the post side.
- Added support for some arithmetic filtering of vec3f element data.
- Added option to flip the plane cut's normal.
- Added option to paste plots in data graph windows.
- Added key shortcuts for rotation 90 degrees about major axes. (e.g. Alt+X rotates 90 deg around X. Alt+Shift+X rotatest the other way. Similar shortcuts for Y and Z)
- Added option to copy selections between open documents.
Improvements:
- Added validator for discrete element sets.
- Hex split modifier (for selected elements) used by the Refine Mesh tool now retains mesh topology.
- Modified hex split modifier so only selection needs to be hex.
- Fixed plot variable specific gauge enthalpy (gage to gauge)
- Pressing Esc also resets the transform mode.
- Handled case in muscle path plot were the first point is the departure point. LSDyna .k model are now partitioned by material.
- Now using VTK legacy reader in import springs tool. Also fixed bug in VTK legacy file reader related to LINES.
- Added support for float64 data arrays and fixed some other issues with VTU import.
- Fixed some problems with reading VTP files and added support for VTK_POLYGON (which is converted to triangles).
- Added check to make sure that all parts have elements when exporting to FEBio4 file.
- Implemented more efficient mechanism for rendering fibers.
- Plane cut now shows outline of cutting plane.
- Added select-and-hide option. Works with objects, parts, and element selections.
- Part selector dialog is now modeless. (so users can still interact with graphics view when this dialog box is visible)
- Y-field of graphs now default to active datafield in colormap.
- Fixed numerous typos in user manual.
- Added support for reading Abaqus CONTACT_PAIR keyword.
- Added support for reading name attribute of Elements tag for older feb files.
- Step notes are now written as model notes for single-step analyses.
- Step title of older feb files is now retained as a note.
- Changed "pct." to "%" sign in job monitor.
Bug fixes:
- Changed selection boxes so that they display the element or node IDs instead of the internal indices.
- Fixed crash when trying to add a selection for non-model documents.
- All mesh data is now removed when purging model.
- Fixed volume strain calculation for higher-order elements. (fixes #92)
- Fixed bug that prevented deletion of items from named selections.
- Fixed potential crash when discrete elements get scrambled as a result from a change to the mesh.
- Fixed problem with reading empty DiscreteSet section from feb4 file.
- Fixed issue with import of TetGen files.
- Fixed Recent files list Clear command
- Fixed issue with setting X-field of plot objects in graph window.
- Fixed some issues with reading LSdyna keywords.
- Fixed bug reading LSdyna file with ten nodes format for solid elements.
- Fixed problem with assigning element material IDs when reading dyn files.
- Fixed issue that put the legend bar on the wrong plot window, when two plot files were being read in simultaneously.
- Fixed bug where element material IDs were reset on post side.
- Fixed crash when toggling face visibility of editable surface.
- Fixed possible crash in evaluation of Shell jacobian. Addressed performance issue when evaluating tet quality.
- Fixed problem importing surfaces from 2.0 format.
- Fixed some issues with export and import of part lists from feb4 files.
- Fixed crash in Merge objects tool.
- Fixed issue with part materials after detaching elements.
- Fixed crash caused by incorrect node indices in nodesets while reading v3 febs
- Fixed issue with propagation of keypress events.
- Vector plot is now updated after any parameter change.
- Fixed issue with reading mat_axis using the compact format.
- Fixed crash on febio export when no analysis steps are defined.
- Fixed problem with selecting parameters for optimization.
- Fixed issue when reading SolidDomain tag.
- Fixed bug with finding facets when reconstructing surfaces from feb input file.
- Fixed crash in sync feature when the current document is not a model document.
- Fixed issue with rendering tensors using arrow glyphs.
- Fixed bug in calculation of histogram.
- Fixed some issues importing febio 2.0 files.
FEBio Studio 2.6
New Features:
- Added new job monitor dialog box. This dialog box replaces the message box when an FEBio run terminates. It shows a list of the warning and error messages that were generated during the run.
- The material and model tabs on the Post panel were modified so that they show the visible and enable buttons next to the items.
- Implemented different way to indicate whether a parameter is load controlled or not. A curve icon will now display next to a parameter that is load controller. When hovering over the icon a tooltip appears with the name of the load controller.
- Added context menu option to copy rigid load.
- Named selections can now be created on the post side. They are also saved in the post sessions file.
- Expanded merge tool so that it can be used with curve objects.
- Added Create tool for bending geometry.
- Added support for cloning curve objects.
Improvements:
- The Properties panel in the Model panel now has a reasonable minimum size.
- Added "float" to array datafield type string in Data tab of Post panel.
- The import curve dialog now remembers last used settings.
- Moved FEBio export Post option to Export Geometry menu (instead of Save As).
- Pressing Escape keyboard button will now also deactivate selection brush.
- Added check for unsupported element types when exporting to lsdyna file.
- Added support for CPS3 and CPS4 element in Abaqus reader.
- Added shortcut Ctrl+A to assign current selection to active item in model tree (if applicable).
- Now processing (but ignoring) PhysicalNames and Parametrization keywords for GMesh import.
- The Discard mesh modifier can now be applied to all objects. For editable meshes it works as before, but for other objects, it simply clears the FE mesh.
- Added option to turn off the selected item tags. (Use "i" shortcut, or menu View\Toggle Tag Info.)
- Modified Discrete Element Network (DEN) tool to convert a mesh into a DEN.
- Set shortcut for screenshot to Alt+F2.
- Added support for reading from and writing to febio4 format for const (surface) mesh data. Now also serializing mesh item lists for mesh data generators.
- Added more specific type info for mesh date generators.
- Added category column to Add Physics dialog.
- Added support for reading surface data generators from febio4 input file.
Bug Fixes:
- The curve object mesher now also generates the edges.
- Now using document title in the Import Material list (right-click option on Materials item in model tree).
- Fixed issue with muscle path where tangent was not calculated when departure point was the endpoint. Added rendering of tangent vector.
- Fixed crash when qnSolver fails to allocate.
- Fixed bug in Average Intensity over Element option in image map tool
- Fixed issue with reading names of user mesh selections in post-session file.
- Fixed bug in building post model tree.
- Fixed issue with reading SET_NODE_LIST_TITLE keyword from LSDYNA reader.
- Fixed problem with selecting curve objects.
- Caught issue that causes crash when exporting surface data without selection assigned.
- Fixed some problems with crashes when reading older plot files.
- Fixed issue with evaluating element values when some materials are disabled.
- Fixed issue with importing initial conditions applied to parts from febio4 format.
- Fixed problems with region selection for editable surfaces.
- Fixed issue that model tree did not update when changing physics module.
- Fixed issues with importing object that has no parts.
- Fixed issue with reading gmesh legacy files.
- Fixed issue with model update when toggling displacement map.
- Fixed issue with adding step when pressing cancel in the Add Step dialog box.
- Fixed issue with reading discrete sections of older febio3 and febio2.5 formats.
FEBio Studio 2.5
New Features:
- Added "physics" color mode option, which colors each surface depending on how it is used in the model's loads and boundary conditions.
- Added support for file extension dyn (will read lsdyna input file).
- Added support for exporting 3D image data to several formats.
- Added support for reading and writing quadratic beam elements to febio4 format.
Improvements:
- Inverted faces but not elements in NetGen mesher, to produce correct mesh output upon conversion to editable mesh.
- Added ability to merge multiple STEP objects into single STEP object upon import, allowing conforming meshing with Netgen
- Added Fluent mesh exporting capability
- Added a log message when attempting to export wrong Mesh type to Fluent. Made export distinguish mixed face types versus uniform face types
- Updated copyright statement on splash and about box.
- Added febio format 4.0 export for post docs.
- Added nodal fluid flux plot variable to FSI analyses
- Deletion of multiple parts will now process much faster.
- All new documents are now added to the recent files list.
- Added icons to model search panel, and a column for the type. Filter now also searches type strings.
- Implemented more efficient way of tracking output when running febio in a thread.
- Modified mesh building algorithm in post lsdyna importer to speed it up.
- In the Project panel, added support to load fs2 files via folder import, and fixed bug when moving files to a folder.
- Added options to set caps when rendering smooth paths and cylinders. Beam ends are now rendered as flat. Fixed issue with rendering colormaps on solid beams.
Bug Fixes:
- Fixed issue with FSModel::GetEnumValues for getting dof_list.
- Fixed some issues with reading feb3 files.
- Added checks when rendering objects to make sure a valid render mesh exists.
- Timeline panel is now updated when states are deleted.
- Fixed issue with saving the correct model file name when saving fsps files.
- Fixed issue with reading surfaces of febio files that uses node numbering that does not start at one.
- Fixed issue with rendering images with correct orientation in slice view. Also fixed bug in rendering z-slice.
- Updated ImageMap tool and WarpImageFilter to work with rotated images. Fixed bug caused by missing cases in 3DImage::Value
- Fixed bug in loading models with DICOM images
- Fixed issue with volume rendering images with orientation.
- Image models are now rendered with correct orientation.
- Fixed issue in kinemat build tool.
- Fixed problem with input of numbers in a property form.
- Fixed issue where shell IDs were not copied from lsdyna file.
- Fixed issue with rare case where elements have duplicate IDs.
- Fixed string overflow in FEBio import.
- Fixed issue with importing nodesets from old feb files.
- Fixed issue with volume rendering of signed int image data.
- Made some fixes to old febio and nike3d file readers.
- Fixed bug in rendering of general springs.
- Fixed problem with reading discrete element sets from LSDYNA file.
- Fixed bug in curve-projection tool that did not take transform of curves into account.
- Fixed issue with rendering half-spheres in special case.
FEBio Studio 2.4
New Features:
- Added option to the import-spring tool to generate linear truss elements instead of springs.
- Added support to the import-springs tool to read springs from a vtk file.
- Implemented GMesh (version 4) file export.
- Added option to fiber generator tool to create a map, instead of assigning to element fiber vectors.
- Added additional plane rotation parameters to fiber generator tool.
- Added new geodesic-curve create tool, which can be used to generate geodics, or shortest-path-curves on existing geometry.
- Added filter to convert element data to node data for types vec3f, mat3fs, and mat3f to the Data tab on the Post panel.
- Implemented Kinemat tool on the build side, which allows users to use kinematic data to setup a forward FE model.
- Added panel to Statistics window that shows min, max, mean, std. dev, and std. error.
- Added option to VTK-export to write the element part IDs as cell data.
- Added "Magnitude" component to mat3d and mat3f data types when visualizing FEBio plot data.
- The muscle-paths plots now support a "guided-mesh" feature, which allows the muscle path to move with the deformation of another mesh.
- Added a legend bar for visualizing data using the mesh inspector.
- Added ability to use the plotted data in a math expression in the Math plot tool of the graph window. (use _data as function name.)
- Added support for 32-bit signed and unsigned pixel types for reading 3D image data.
- A new tool was added for editing mesh data on the Tools panel of the Build panel. This tool allows you to overwrite values assigned to elements.
- Added option to write face and element connectivity when exporting data fields from the Post-Data panel.
Improvements:
- Made the Revolve Faces tool more robust.
- Expanded support for reading GMsh 4 files.
- Modified shell thickness modifier so that when no elements are selected, the thickness of all elements is set.
- Added smoothing option to loft tool.
- Nodal and element IDs are now serialized and preserved when writing feb files.
- Node, element, and part IDs are now read from LSDYNA model.
- Added support for reading node IDs from xplt file version 3.3.
- Current folder is now set to the path of the last file that was loaded successfully.
- Added additional support for interpolating state data.
- About box shows normal size FEBio Studio icon again.
- Added scale factor to curve probe. Fixed issue with evaluation of time-averaged data.
- The data import dialog is now used to import the points of the curve probe.
- Ensured that the default directoy for opening and saving is consistent (and equal to the current working directory).
- Added context menu for deleting named selections.
- Added the divisions and smooth options to the legendbar options dialog.
- Use ctrl or ctrl+shift to zoom a plot in x or y only.
- The "Source" label in the Graph window is now hidden when the data source widget is not used.
- Load controllers can no longer be deleted if they are being used in the model.
- Changed the element selection logic so that it is easier to select discrete elements.
- Added support for editing scalar part data stored as DATA_MULT.
- Updated selection report to include nodes of currently selected discrete element.
- Increased the max number of geometry items that can be displayed in model tree to 10,000.
- Ensured that node partitioning remains preserved when partitioning elements.
- Turned off specular lighting when rendering planecut.
- Elements that are visible because neighbors are hidden can also be region-selected with "ignore interior" option on.
- Modified help section on Inflate tool in FEBio Studio User manual.
- Modified Inflate tool for creating boundary layer meshes on existing tetrahedral meshes. The new formulation performs a series of operations that extrude the selected surface inward with a biased mesh, then fills the resulting inner surface with a tetrahedral mesh (TetGen), finally welding the two parts together and returning a rebuilt mesh with no seams.
Bug fixes:
- Fixed crash in mesh inspector when no object is selected.
- Fixed issue with verifying nodal IDs when export to febio file.
- Fixed bug in code that maps parameters between containers.
- Fixed empty error message.
- Fixed shell-to-solid rendering option.
- Fixed bug in option to replace contact interface.
- Fixed crash in Abaqus reader.
- Fixed potential crash in GModel::ValidateNames.
- Fixed some issues where node and element indices were used instead of IDs.
- Fixed issue in reading session files with plot groups.
- Fixed parameter name for muscle path.
- Fixed issues with adding new states. Added support for interpolating data for new states.
- Fixed issue with curve probe parameters not updating. Arc lenghts are now used as the ordinate axis in the curve probe plots.
- Fixed typo in job run message box.
- Fixed bug with Average Intensity Over Elements option in ImageMapTool
- Fixed logic bug in processing error string from lsdyna import.
- Fixed bug in scalar field tool when generating constant element data.
- Fixed issue with importing gmsh file where wrong tag was used to partition the mesh (issue #71)
- Fixed issue with update of the isosurface plot when users change parameters.
- Fixed issue with exporting node sets based on part lists.
- Removed duplicate manual figures
- Fixed issue with volume rendering 32 bit integer images.
- Fixed issue with reading very large Tiff files.
- Fixed crash when exporting a model that has no materials to feb4 file.
- Fixed GUI slowdown caused by working with medium to large images.
- Fixed issue with syncing discrete selection to model tree.
- Fixed issue with updating discrete element selection.
- Fixed issue with importing partlists from feb4 file.
- Fixed bug in pixel inspector caused by incorrect scaling. Pixel inspector rectangle is now drawn correctly.
- Fixed issue where error string of mesh modifier did not propagate to the user.
- Fixed issue with updating part sections when the mesh is changed.
- Fixed issue where random faces get selected after deleting a face selection.
- Fixed crash when purging selections from model components.
- Fixed bug in render vector plots for element data.
- Replaced allocation of "old" spring materials with the "new" discrete materials from FEBio.
FEBio Studio 2.3
New Features:
- Added the "Surface normal" post datafield to the Standard datafields availabe on the Post\Data panel.
- Added tool for removing isolated vertices. The tool can be accessed using the Fix Mesh tool on the Mesh panel.
- Added options to toggle rigid settings from the graphics view popup menu.
- Added context menu option to model tree to remove all unused load controllers in the model.
- Added context menu option to model tree to remove all unused named selections.
- Implemented quad fill-hole algorithm for editable surfaces. This tool is available via the Fix Mesh tool on the Build\Edit panel.
- Added fsps files to recent file list on the Welcome page.
- Added plot groups, which can be used to group plots together. A new plot group can be created from the menu Post\Add Group.
- Added new Pixel Inspector tool, which allows users to see the actual image values when hovering over an image.
- Added "triangle max dihedral angle" datafield to the Mesh Inspector for both editable surfaces and editable meshes.
- Added highlighting for geometry nodes. Hovering over a node will make the node render in a different color.
- Added interactivity to planecut and point probe plots.
- Added converter from penta6 to penta15. Use the convert tool on the Mesh panel to convert a mesh to a different element type.
- Implemented a brush selection tool (for selecting faces). Use Alt+scroll-wheel for adjusting the selection radius.
Improvements:
- Added a less-detailed rendering mode and made some minor changes to the rendering of muscle paths.
- Finished updating filters to work with all supported pixel types.
- Modified vector plot so that face data is rendered at the face centers.
- Changed some of the criteria for checking if a mesh can be deleted. A warning is shown when modifying a mesh could potentially invalidate named selections.
- Added warning message when re-running a job might overwrite existing results.
- Tiff files can now be stored and read from the fs2 file.
- Added coloring mode based on element type. Right-click in the Graphics View, and select "Element Type" from the "Object color" option.
- Added fs2 extension to list of recognized extensions in project file list.
- Purging now also deletes all named selections.
- Image model properties box now shows more information.
- Added more options to project surface nodes in the ImageMap tool.
- DICOM headers are now read for origin and spacing information.
- Mesh data values will now ouput to the log when elements are selected.
- Warning icons now appear as emblems on the base icon, instead of replace the base icon.
- Updated all image and image visualization features to support 8 and 16 bit, signed and unsigned, single channel and RGB (3-channel) pixel types, and real 32 and 64 bit pixel types.
- Node IDs are now stored when reading feb file.
- Changed rendering of springs in the Post view so it behaves more like an actual spring.
- Added support for reading global data from the xplt plot file. Global data can be visualized in a graph window.
- Mesh inspector select option now also works for editable surfaces.
- Editable surfaces now also show color maps when the mesh inspector is active.
- Surfaces for surface properties are now selected using a dropdown, instead of a selection box.
- Added option to specify the initial path of a musclepath in the post session file.
- Added support to VTK export to output data for element selections.
- ImageMap tool now works with parts as well as objects.
- Added "Curve Probe" plot, which can track model data along a user-defined curve. Can calculate both instantaneous, as well as time-averaged data.
- Added support for reading discrete elements from lsdyna file.
- Added support for writing and reading part lists from feb4 file.
- Added support lsdyna keywords DEFINE_CURVE and SET_NODE_LIST_TITLE. Some minor changes to how keywords are processed.
- Removed the "My Projects" category of the repository panel.
- Added mm-g-s units to the list of supported unit systems.
- Removed load controllers and named selections when purging a model.
Bug Fixes:
- Fixed issue in lsdyna reader so that warnings from included files are also captured.
- Fixed bug in rendering the plane of a planecut.
- Fixed some issues with export and import of part lists to and from febio files.
- Fixed potential crash in several plots related to z-sorting the faces before rendering.
- Fixed potential division by zero issue when drawing legend bars.
- Fixed bug in the internal algorithm RemoveIsolatedEdges() that is used by several other tools.
- Fixed issue with export of nodal_loads where type attribute was not written.
- Fixed crash caused by uninitialized 3DImage when loading an FS2 without the image file.
- Fixed issue with rendering selected faces when showing colormap data on surface meshes.
- Fixed some issues that caused unnecessary updates of the mesh inspector.
- Fixed incorrect gauss point coordinates for penta6 and penta15, which was the cause for incorrect element volume calculations for these elements.
- Fixed crash when saving image data when original image was not available.
- Fixed sporadic crash in creating springs.
- Fixed issue with setting the active febio module when switching tabs.
- Fixed issue with loading plugins without an active module.
- Fixed some issues related to import of surface-to-surface map data generator from the feb4 input file.
- Fixed issue with export of element data for parts that were split on export to the feb4 file.
- Fixed issue with evaluating material axes for visualization.
- Fixed some issues with the chemical reaction editor.
- Fixed bug in STL ascii importer.
- Fixed export of initial conditions for analysis steps.
- Fixed issue with import of nike3d files.
- Fixed crash caused by loading an fs2 with a loaded DICOM image that could not be found.
- Fixed bug that prevented the My Projects category in the repository panel from appearing in the repo.
- Repo panel now shows proper icon for fs2 files.
- Fixed issues with importing older feb2 files.