Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 8 committers (25.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.4%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Finite Element tools in Julia
Basic Info
- Host: GitHub
- Owner: PetrKryslUCSD
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://petrkryslucsd.github.io/FinEtools.jl/latest
- Size: 15.3 MB
Statistics
- Stars: 158
- Watchers: 10
- Forks: 22
- Open Issues: 0
- Releases: 105
Topics
Metadata Files
README.md
<!--(https://github.com/githubocto/repo-visualizer) -->
FinEtools: Finite Element tools in Julia
FinEtools is a package for basic operations on finite element meshes: Construction, modification, selection, and evaluation of quantities defined on a mesh. Utilities are provided for maintaining mesh-based data (fields), for defining normals and loads, for working with physical units and coordinate systems, and for integrating over finite element meshes.

The package supports application packages, for instance:
- Meshing;
- Meshing of biomedical images;
- Linear acoustics;
- Heat conduction;
- Linear stress analysis;
- Nonlinear stress analysis;
- Analysis of flexible beam and shell structures;
- Vibration in fluids.
News
- 01/26/2025: Relax types in matrix utilities.
- 12/04/2024: Test with Julia 1.11.2.
- 11/28/2024: Add OFF export of surface meshes.
Get FinEtools
This package is registered, and hence one can do just
julia
] add FinEtools
Only version 1.x and the nightly builds of Julia are supported. The best bet is the latest stable Julia.
Testing
julia
] test FinEtools
Usage and Documentation
Tutorials in the form of marked-down Julia source files using the Literate workflow are available and more will be added in the near future. Each application package has some tutorials. For a complete list refer to the search.
The package has been used to build applications for various purposes. For a complete list refer to the search.
The documentation is published as Github pages.

Past news
- 06/19/2024: Propagate labels of extruded quadrilaterals and triangles.
- 05/19/2024: Make it possible to have different kinds of degrees of freedom.
- 04/19/2024: Replace asserts with errors.
- 04/11/2024: Speed up box selection of elements.
- 03/21/2024: Implement element coloring.
- 03/12/2024: Move parallel functionality to FinEtoolsMultithreading.
- 02/19/2024: Implement mesh reordering.
- 02/17/2024: Implement generic parallel matrix assembly using threaded tasks.
- 12/31/2023: Update for Julia 1.10.
- 06/19/2023: Introduce DataCache, generic linear and bilinear forms.
- 04/20/2023: Make all types in the library generic.
- 04/18/2023: Implemented resizing of assembly buffers. Makematrix! resets pointers.
- 04/16/2023: Enabled creation of finite element sets from arbitrary arrays.
- 03/15/2023: Changed strategy when assembling into the COO format.
- 03/10/2023: Genericity of arguments enabled in the assembly module.
- 12/27/2022: Added T4 and T10 cylinder meshing routines.
- 11/03/2022: Added extraction of outer surface of solid.
- 06/29/2022: Reconfigured documentation.
- 06/15/2022: Added point partitioning. Added dual connection matrix implementation.
- 05/03/2022: Updated project to Julia 1.7.2: Julia 1.6 is not supported from version 5.4.0 on.
- 01/26/2022: Added assembler for sparse diagonal matrices (such as the mass matrix for explicit finite element methods).
- 01/25/2022: Added export of a ParaView collection of a time sequence of data.
- 12/03/2021: Added a utility to generate a random-looking triangular mesh.
- 11/17/2021: Added utility to distort a block of mesh.
- 09/21/2021: Fixed import problems for Abaqus files.
- 08/29/2021: Mesh export/import in the HDF5 format using DataDrop.
- 08/12/2021: Added quadrilateral mesh generation by extrusion of a wire.
- 08/12/2021: Added triangle mesh generation for circular segments.
- 07/14/2021: Implemented the mechanism of the "delegate of" to facilitate creation of user-defined finite elements.
- 04/08/2021: Implemented export of VTK binary files using WriteVTK.
- 02/20/2021: Implemented extrusion of triangular meshes into tetrahedra.
- 02/07/2021: Tests clean with Julia 1.6 release candidate.
- 12/07/2020: Export of meshes in the .mesh format with the labels enabled.
- 08/02/2020: Enabled permuting of nodes in the field.
- 02/29/2020: Many new tests added. Code coverage enabled.
- 01/23/2020: Dependencies have been updated to work with Julia 1.3.1.
- 01/02/2020: Matrix multiplication code improved with the help of the
LoopVectorizationpackage. - 10/11/2019: Corrected a design blunder in the matrix utilities.
- 06/11/2019: Applications have been extracted from FinEtools into their own separate packages. This will make the base library lighter and easier to understand.
- 05/19/2019: Implementation of the computation of the infsup condition for isoparametric, mean-strain, and nodally-integrated solid finite elements.
- 04/27/2019: The naming and various definitions of abstract types has been unified and streamlined. Because of the ensuing (slight) incompatibilities, the toolkit has been released in the version v2.0.0.
- 04/25/2019: Added support for Documenter-generated guide and user manual.
- 04/13/2019: Added Reverse Cuthill-McKee renumbering.
- 03/07/2019: Meshing functions for circles, spherical surfaces, and cylinders added.
- 11/09/2018: The name IntegData was changed to IntegDomain to better reflect the meaning of this type. Since this is an incompatible change, v1.0.0 tag was released.
- 10/02/2018: The code-coverage computation seems to be broken. The coverage in the FinEtools package hasn't actually changed and it is still at 98%.
- 09/20/2018: Separated out examples and tutorials from the FinEtools library itself.
- 09/02/2018: Updated all examples for Julia 1.0.
- 08/24/2018: Updated all tutorials for Julia 1.0, using the Literate workflow.
- 08/23/2018: Added support for NICE (nodally-integrated continuum elements) tetrahedral four-node finite elements.
- 08/09/2018: The toolkit is at this point compatible with Julia 1.0.0 in that the tests are almost 100% passing. A handful of tests however are failing on Appveyor/Travis because of some LLVM issues, and these are at the moment left out of the test suite.
- 06/08/2018: FinEtools is now a registered package. The release 0.3.0 works with Julia 0.7.0-alpha. The notebook examples still need updating for 0.7.
- 03/26/2018: Development of the package for Julia 0.6 is frozen. All development now goes towards 0.7.
- 03/20/2018: FinEtools version to be used with Julia 0.7 and above is at the moment being developed in a separate branch, pathto0.7. At this point the package runs and tests cleanly with 0.7.
- 12/10/2017: A use-case package explaining how to integrate FinEtools with the user's own code is available here.
- 11/18/2017: The documentation of the design principles and organization of the package is published as Github pages. (At the moment incomplete, but under rapid development. Please don't hesitate to contact me if something is unclear.)
- 10/21/2017: Global RMS error norms can now be evaluated for multi-region models.
- 10/12/2017: Evaluation of global error norms implemented.
- 08/04/2017: Several Jupyter notebook tutorials are now available. Abaqus mesh import is now also implemented (for continuum elements). Initial implementation of high-performance mean-strain hexahedra and tetrahedra has been completed.
- 07/23/2017: Export of the finite element model to Abaqus CAE (from Daussault Systems) has been implemented. The FinEtools package can of course handle the finite element calculations that the export enables, but the point is to have an independent verification of the results. Export of continuum-element meshes for vibration and static stress analysis is currently included.
Owner
- Name: Petr Krysl
- Login: PetrKryslUCSD
- Kind: user
- Company: University of California, San Diego
- Website: http://hogwarts.ucsd.edu/~pkrysl/
- Repositories: 25
- Profile: https://github.com/PetrKryslUCSD
Prof. of Computational Mechanics. Interests: finite element technology, acoustics, model reduction, parallel computing.
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Krysl" given-names: "Petr" orcid: "https://orcid.org/0000-0003-1761-5047" title: "FinEtools.jl: Finite Element Tools in Julia" version: 8.0.26 doi: 10.5281/zenodo.7187506 date-released: 2024-2-8 url: "https://github.com/PetrKryslUCSD/FinEtools.jl"
GitHub Events
Total
- Create event: 6
- Commit comment event: 14
- Issues event: 1
- Release event: 5
- Watch event: 15
- Issue comment event: 7
- Push event: 27
- Pull request event: 4
Last Year
- Create event: 6
- Commit comment event: 14
- Issues event: 1
- Release event: 5
- Watch event: 15
- Issue comment event: 7
- Push event: 27
- Pull request event: 4
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Petr Krysl | p****l@u****u | 2,147 |
| repo-visualizer | r****r | 31 |
| Petr Krysl | P****o@G****m | 9 |
| Raghu | s****u@h****m | 6 |
| Leandro Martínez | 3****q | 2 |
| Kristoffer Carlsson | k****n@c****e | 2 |
| femtocleaner[bot] | f****] | 1 |
| Oliver Evans | o****6@g****m | 1 |
Committer Domains (Top 20 + Academic)
Packages
- Total packages: 1
-
Total downloads:
- julia 7 total
- Total dependent packages: 12
- Total dependent repositories: 1
- Total versions: 166
juliahub.com: FinEtools
Finite Element tools in Julia
- Homepage: https://petrkryslucsd.github.io/FinEtools.jl/latest
- Documentation: https://docs.juliahub.com/General/FinEtools/stable/
- License: MIT
-
Latest release: 8.1.1
published 11 months ago
Rankings
Dependencies
- JuliaRegistries/TagBot v1 composite
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia v1 composite