Releases: Ferrite-FEM/Ferrite.jl
Releases · Ferrite-FEM/Ferrite.jl
v1.0.0
Ferrite v1.0.0
See CHANGELOG.md
for notable changes.
Merged pull requests:
- SubDofHandler/MixedGrid/PorousMedia example (#448) (@KnutAM)
- FaceCache and FaceIterator (#495) (@KnutAM)
- Describe Navier-Stokes Diffeq example mesh by gmsh api usage and translate via FerriteGmsh (#498) (@koehlerson)
- Extract boundary entities + getfaceedges helper (#606) (@AbdAlazezAhmed)
- Pyramids (#623) (@lijas)
- Improve dof distribution interface (#627) (@termi-official)
- Helper script for convergence rates for Poisson problems (#640) (@termi-official)
- [BREAKING] Embedded elements (#651) (@termi-official)
- Refactor to use grid and dofhandler interface internally (#655) (@termi-official)
- get_*_coordinates[!] - consistent naming (#664) (@KnutAM)
- Remove unused typeparameter from MixedDofHandler (#666) (@kimauth)
- Merge
DofHandler
andMixedDofHandler
(#667) (@kimauth) - Generalize topology construction (#670) (@termi-official)
- Replace deprecated functions in tests/examples (#671) (@KnutAM)
- Rework code for
add!(::ConstraintHandler, ::Dirichlet)
(#672) (@fredrikekre) - Add
ndofs_per_cell(::FieldHandler)
(#673) (@fredrikekre) - Speed up transform!(grid, f) (#675) (@KnutAM)
- Rework the
AbstractCell
interface (#679) (@fredrikekre) - Remove old
vertexdof_indices
method (#685) (@fredrikekre) - document vtk_grid(::String, ::DofHandler) (#687) (@KnutAM)
- Document all the reference shapes and their (current) numbering (#688) (@fredrikekre)
- Abstraction layer around vtk export (#692) (@KnutAM)
- CI timeout (#693) (@KnutAM)
- Implement
(Scalar|Vector)Interpolation
andVectorizedInterpolation{<:ScalarInterpolation}
(#694) (@fredrikekre) - Default to
Lagrange{refdim,refshape,1}()
for geometric mapping (#695) (@fredrikekre) - Remove deprecated L2Projector methods (#697) (@fredrikekre)
- Deprecate
function_*(::VectorValues, ::Int, ::VectorDofs)
(#698) (@fredrikekre) - Remove
project_to_nodes
option in L2 projection (#699) (@fredrikekre) - Deprecate
compute_vertex_values
(#700) (@fredrikekre) - Update VTK export to use CellValues for evalutation (#703) (@fredrikekre)
- Fix point eval interface (#705) (@termi-official)
- Improve boundschecks during assemble (#706) (@KnutAM)
- Deprecate start_assemble(f, K) (#707) (@KnutAM)
- Merge (Cell|Face)(Scalar|Vector)Values (#708) (@fredrikekre)
- Cross-elements coupling for
DiscontinuousLagrange
sparsity patterns. (#710) (@AbdAlazezAhmed) - Use the new reference shapes for
Interpolation
s andQuadratureRule
(#711) (@fredrikekre) - Remove the refdim parameter from AbstractCell. (#712) (@fredrikekre)
- replaced str with str_scalar/str_vector for CellValues warning (#713) (@JanM12)
- Hex27 VTK export (#714) (@termi-official)
- Embedded elements showcase: Gray-Scott model on a sphere (#715) (@termi-official)
QuadratureRule
: removedim
parameter and introduceFaceQuadratureRule
(#716) (@fredrikekre)- Allocate less in
find_local_coordinate
(#719) (@fredrikekre) - Deprecate
Ferrite.value
andFerrite.derivative
(#720) (@fredrikekre) - Fold
Ferrite.value
into methods ofshape_value
(#721) (@fredrikekre) - More doc versions (#723) (@termi-official)
- Use the interpolation to figure out the return type in
get_point_values
(#724) (@fredrikekre) - Make create_incidence_matrix work for AbstractGrid (#726) (@lijas)
ConstraintHandler
for discontinuous interpolations (#729) (@AbdAlazezAhmed)CellIterator
broadcast safety doc warning (#730) (@AbdAlazezAhmed)- introduced interpolation Lagrange{RefQuadrilateral, 3} (#731) (@fredrikekre)
- Error if the interpolation dof indices are wrong (#732) (@termi-official)
- Better defaults for high order dof distribution (#733) (@termi-official)
- Enable usage of vectorized geometric mapping also in non-embedded case (#734) (@fredrikekre)
- New DofHandler syntax for mixed grids / subdomains (#735) (@kimauth)
- pretty printing for
VectorizedInterpolation
(#736) (@kimauth) - Structure the documentation according to the Diataxis framework. (#737) (@fredrikekre)
- Add stress computation to incompressible elasticity example (#739) (@gagankaushikmanyam)
InterfaceValues
for DG interface integration (#743) (@AbdAlazezAhmed)InterfaceCache
&InterfaceIterator
(#747) (@AbdAlazezAhmed)- Fix doc links (#748) (@termi-official)
- Add tolerance for periodic face search. (#749) (@lijas)
- Make benchmarks work with master branch (#751) (@AbdAlazezAhmed)
- Topology vroom 1 (#753) (@termi-official)
- enhancement: Remove exported names (#754) (@3RB16)
- Update interpolation docs (#755) (@termi-official)
- Restructure tutorials into tutorials/howto/gallery (#756) (@fredrikekre)
- getcoordinates (#757) (@KnutAM)
- Fix neighborhood queries for topology (#758) (@termi-official)
- FaceSkeleton Vroom 1 (#759) (@AbdAlazezAhmed)
- Split values into geometric mapping and function values (#764) (@KnutAM)
- Add changelog entries for the upcoming release (#765) (@fredrikekre)
- Various changes to FaceCache/InterfaceCache/InterfaceIterator (#769) (@fredrikekre)
- Fix show of Face and Cell values (#771) (@KnutAM)
- Implement FaceQuadratureRule for RefPrism and RefPyramid (#779) (@AbdAlazezAhmed)
- enable dependabot for GitHub actions (#782) (@ranocha)
- Bump actions/checkout from 2 to 3 (#783) (@dependabot[bot])
- Bump codecov/codecov-action from 1 to 3 (#784) (@dependabot[bot])
- Change type of PointIterator in PointEvalHandler.jl (#785) (@suurj)
- use replace! instead of aliased map! (#786) (@KnutAM)
- DG heat equation tutorial (#787) (@AbdAlazezAhmed)
- Fix some Documenter link warnings (#791) (@fredrikekre)
- Improvements to assembler (#792) (@lijas)
- DocumenterCitations.jl baseline integration (#793) (@termi-official)
- Fix CellIterator for subdomains (#794) (@kimauth)
- Add more references and some urls/dois (#795) (@fredrikekre)
- Add Cenanovic citation (#796) (@termi-official)
- Linear elasticity example (#799) (@kimauth)
- fix vtk export of fields on mixed grids (#800) (@kimauth)
- More flexibility for internal types (#802) (@termi-official)
- remove allocations in reinit!(cv, xe) (#803) (@kimauth)
- pretty print interpolation in SubDofHandler (#804) (@kimauth)
- Bump actions/checkout from 3 to 4 (#805) (@dependabot[bot])
- define 1-arg getcelltype with a subdofhandler (#807) (@KnutAM)
- Fix CI times (#810) (@termi-official)
- Uniform point sampling for reference geometry and interpolation test fix (#818) (@termi-official)
- Batch evaluations (#819) (@termi-official)
- Test coverage for PointEval with nonlinear geometries (#820) (@termi-official)
- Add docstring to SubDofHandler (#825) (@KnutAM)
- Extensible InterpolationInfo (#830) (@termi-official)
- Introduce OrderedSets (#834) (@termi-official)
- add isequal and hash methods to check tuple in BoundaryIndex Sets without type piracy (#835) (@koehlerson)
- More first-order CR type elements (#838) (@termi-official)
- change to well posed NeoHooke (#846) (@koehlerson)
- Support saving no, or first order, derivatives in FEValues (#847) (@KnutAM)
- Some docfixes (#851) (@KnutAM)
- Rename files with values to match type name (#854) (@KnutAM)
- Update benchmarks (#855) (@AbdAlazezAhmed)
- Update CHANGELOG.md for DG PRs (#856) (@AbdAlazezAhmed)
- Simplify initialization of types for
N
,dNdx
, anddNdξ
(#858) (@fredrikekre) - Make close of ConstraintHandler 50x faster (#860) (@KnutAM)
- Minor adjustments to FEValues devdocs (#861) (@KnutAM)
- Fix typos discovered by typos ci (#866) (@KnutAM)
- Add list of registered packages in the Ferrite ecosystem (#869) (@KnutAM)
- Fix bug in L2Projector (#870) (@lijas)
- Fix wrong confusing order of argument names in shape_x functions (#871) (@KnutAM)
- Bump actions/cache from 3 to 4 (#878) (@dependabot[bot])
- Bump codecov/codecov-action from 3 to 4 (#879) (@dependabot[bot])
- Add helper function
bounding_box
(#880) (@lijas) - Use julia-actions/cache instead of actions/cache. (#881) (@fredrikekre)
- Make default constructor type stable (#882) (@KnutAM)
- doc: fix some doc build warnings (#887) (@fredrikekre)
- Implement a proper sparsity pattern (#888) (@fredrikekre)
- Update some missing Lagrange docs (#889) (@termi-official)
- [X-PR] p4est/p8est face transformation fix (#890) (@termi-official)
- Bump julia-actions/setup-julia from 1 to 2 (#895) (@dependabot[bot])
- p4est constraint handler integration (#900) (@termi-official)
- [X-PR] p4est edge operations and consistent corner operation (#902) (@koehlerson)
- Fix logo generation. (#904) (@KnutAM)
- Explicitly import all names (#905) (@fredrikekre)
- Update constraints.md (#907) (@koehlerson)
- Only test l2-projection hash for vtk export on linux (#915) (@KnutAM)
- Generalize CSC assembler (#916) (@termi-official)
- [X-PR] Update OrdinaryDiffEq.jl and fix Navier-Stokes solver (#917) (@termi-official)
- Delete unused method: n_facets_per_cell (#921) (@KnutAM)
- Deprecate
onboundary
, removeboundary_matrix
property fromGrid
(#924) (@fredrikekre) - Shell on solid-face test (#926) (@lijas)
- Add pre-commit action workflow (#928) (@fredrikekre)
- Remove workaround for facets in porous media example (#929) (@KnutAM)
- Remove facet workarounds for FerriteGmsh (#932) (@KnutAM)
- grid.jl docstrings and remove qualified Ferrite names (#933) (@KnutAM)
- Add
make clean
target to docs/Makefile (#934) (@fredrikekre) - Document reference shape entity naming (#935) (@KnutAM)
- Fix pr link in vtk_grid error message (#937) (@KnutAM)
- Higher order gradients in CellValues (#938) (@lijas)
- Changelog for facets (#940) (@KnutAM)
- add dispatch for 2D edgeidx topology (#942) (@koehlerson)
- replace getdim with getrefdim/getspatialdim and getfielddim by n_components (#943) (@KnutAM)
- Simplify and speedup shape_gradient_and_value for embedded (#947) (@KnutAM)
- Fix and test write_cellset (#948) (@KnutAM)
- L2Projector on ...
v0.3.14
Ferrite v0.3.14
Closed issues:
Ferrite.nfields
should be called differently (#444)- Tracking progress for merging the dofhandlers (#629)
- Dof distribution slow (#632)
Merged pull requests:
- Pretty printing for MixedDofHandler + L2Projector (#465) (@kimauth)
- Fix forgotten rebase oopsie (#635) (@termi-official)
- Update dof storage in MixedDofHandler (#636) (@fredrikekre)
- Minor performance improvements for
close!(::MixedDofHandler)
(#637) (@fredrikekre) - Don't track internal dofs when distributing dofs for
MixedDofHandler
(#639) (@fredrikekre) - Reduce memory footprint in dof distribution for MixedDofHandler (#642) (@fredrikekre)
- Use vectors instead of dicts for keeping track of vertex dofs (#643) (@fredrikekre)
- Add FieldWise and ComponentWise renumbering for mixed grids (#645) (@kimauth)
- Store field names in MixedDofHandler (#646) (@fredrikekre)
- Remove
getfielddims
/getfieldinterpolations
/getfieldnames
forFieldHandler
(#647) (@kimauth) - Move
create_sparsity_pattern
and friends to own file (#649) (@fredrikekre) - Implement coupling support for MixedDofHandler (#650) (@fredrikekre)
- Move shared dofhandler functionality out of DofHandler.jl (#652) (@kimauth)
- Remove and deprecate nfields (#653) (@termi-official)
- Create a
BitSet
ofFieldHandler.cellset
in loops (#656) (@fredrikekre) - remove Ferrite.ndim(dh, fieldname) (#658) (@kimauth)
- Re-add getfieldnames(::FieldHandler) (#659) (@KnutAM)
- Use
BitSet
inapply_analytical!
andreshape_to_nodes
(#660) (@fredrikekre) - Fix various typos (#663) (@goggle)
- Version 0.3.14 (#665) (@fredrikekre)
v0.3.13
Ferrite v0.3.13
Closed issues:
- Benchmarking (#94)
- Don't assume the same number of dofs on egdes/faces (#272)
- Numerical Evaluation of Order 3,4,5 Lagrange Triangle Inexact (#582)
- Describe requirements for correct initial conditions (#603)
Merged pull requests:
- Performance regression tests (#388) (@termi-official)
- Remove grid representation from
MixedDofHandler
(#577) (@kimauth) - Wedge Support (#581) (@termi-official)
- Small fixes for topology optimization example (#587) (@blaszm)
- More development docs related to interpolations (#611) (@termi-official)
- Fix stokes flow. (#614) (@termi-official)
- Just a typo in a docstring (#615) (@DRollin)
- Set up actions/cache for doc builds. (#618) (@fredrikekre)
- (Performance) improvements on gathering field information from
MixedDofHandler
(#621) (@kimauth) - Making Lagrange2Tri345 interpolation values exact (#633) (@AbdAlazezAhmed)
- Version 0.3.13 (#634) (@fredrikekre)
v0.3.12
Ferrite v0.3.12
Closed issues:
- Self-inclusion in topology information incomplete (#453)
- Topology Bug (#518)
- Error when adding Dirichlet on nodes for MixedDofHandler (#593)
Merged pull requests:
- topology fixes and docs clean up (#455) (@koehlerson)
- Improve cellnodes! (#576) (@kimauth)
- Fix loading Ferrite + Metis on Julia 1.9 (#588) (@fredrikekre)
- Minor simplifications and changes to the hyper-elasticity example. (#591) (@fredrikekre)
- Fix constraint condensation for
Symmetric
matrices. (#592) (@fredrikekre) - Fix dirichlet check cellcheck (#594) (@KnutAM)
- Add basic
Base.show
method for assemblers (#598) (@fredrikekre) - Fix slow show(grid) (#599) (@KnutAM)
- Fix coloring for edge case with one or zero cells (#600) (@lijas)
- Remove incorrect statements about initial conditions (#601) (@KnutAM)
- fix vtk docs export (#602) (@argeht)
- DAE initialization note (#604) (@termi-official)
- Version 0.3.12. (#608) (@fredrikekre)
v0.3.11
Ferrite v0.3.11
Closed issues:
- Having to send a time into the function for constraints is a design failure. (#207)
- Dof distribution methods (#378)
- Bandwidth/fill-in minimzation algorithms (#393)
Merged pull requests:
- add!(::ConstraintHandler, ::Dirichlet) for nonconcrete celltypes (#427) (@KnutAM)
- Implicitly call update!(ch) in close!(ch). (#459) (@fredrikekre)
- Add doc for option all in add*set! (#527) (@KnutAM)
- overview of examples / topology optimization example (#531) (@blaszm)
- Add apply_analytical! function (#532) (@KnutAM)
- Sparsity patterns without constrained dofs (#539) (@fredrikekre)
- Rework CellIterator by extracting out the caching part (#546) (@fredrikekre)
- Metis extension for renumbering. (#549) (@fredrikekre)
- fix DiscontinuousLagrange value (#553) (@koehlerson)
- Fixes the discontinuous lagrange reference coords dispatch (#559) (@koehlerson)
- Add internal function
fillzero!
for filling stored entries with 0 (#562) (@fredrikekre) - Use more efficient sparse matrix constructor when supported (#563) (@fredrikekre)
- Add package extension for BlockArrays.jl. (#567) (@fredrikekre)
- Submit coverage from /ext folder. (#568) (@fredrikekre)
- Make showgrid work for all cells (#570) (@KnutAM)
- Improvements to local condensation of constraints (#571) (@fredrikekre)
- Fix a few typos (#574) (@pitmonticone)
- AffineConstraint for nonzero b and nonlinear problem + docfixes (#575) (@KnutAM)
- Deprecate
push!(dh, ...)
in favor ofadd!(dh, ...)
(#578) (@fredrikekre) - Fix broken links in docs (#583) (@kimauth)
- Fix landau.jl (#584) (@KnutAM)
- Rename MetisExt extension module to FerriteMetis (#585) (@fredrikekre)
- Preparation for release 0.3.11 (#586) (@fredrikekre)
v0.3.10
Ferrite v0.3.10
Closed issues:
- CellIterator not working at all if called without dof handler (#289)
- inconsistent higher order node between RefCube and RefShape (#520)
- Affine constraint between two DBC constraints should work (#530)
Merged pull requests:
- improve performance of
apply!
be rewriting the part that zero out rows (#489) (@KristofferC) - resolve inconsistency between refcube and refshape interpolation in 3D (#523) (@koehlerson)
- Local condensation of constraints (#528) (@fredrikekre)
- Unify Dirichlets and affine constraints (#529) (@lijas)
- Speed-boost for close!(dh::MixedDofHandler) (#533) (@kimauth)
- Quick fix for threaded assembly example on Julia 1.8 (#534) (@kimauth)
- Handle prescribed dofs in RHS of affine constraints (#535) (@fredrikekre)
- Improve
get_coordinates!
(#536) (@kimauth) - Remove some unnecessary allocations in affine constraint condensation (#537) (@fredrikekre)
- Remove
create_sparsity_pattern(::MixedDofHandler)
(#538) (@fredrikekre) - Unify sparsity pattern creation also when passing the ConstraintHandler. (#540) (@fredrikekre)
- Skip further lookup work in constraint condensation if current matrix entry is zero. (#541) (@fredrikekre)
- Support renumbering of ConstraintHandler. (#542) (@fredrikekre)
- Do not assemble zero contributions from local to global matrix (#543) (@fredrikekre)
- Specifying coupling between fields/components in
create_sparsity_pattern
(#544) (@fredrikekre) - Implement dof renumbering by fields or components (#545) (@fredrikekre)
- Remove most uses of at-inbounds in documentation (#547) (@fredrikekre)
- Refactor _addindex_sparsematrix! into arrayutils.jl (#548) (@fredrikekre)
- Condense sparsity pattern: don't check if entries already exist (#550) (@fredrikekre)
- Release 0.3.10. (#551) (@fredrikekre)
v0.3.9
Ferrite v0.3.9
Closed issues:
- Contributor guideline missing (#391)
- Change default components to constraint to be all components (#506)
Merged pull requests:
- grid manual update and new docs for mesh reading (#504) (@koehlerson)
- Default to constraining all components for (Periodic)Dirichlet. (#509) (@fredrikekre)
- Update doc build dependencies. (#510) (@fredrikekre)
- Add CONTRIBUTING.md, fixes #391. (#511) (@fredrikekre)
- Extend Lagrange elements for 2D Triangles (#512) (@fredrikekre)
- Extend 2D Gauss Legendre quadrature for triangles up to order 15 (#514) (@edljk)
- Debug mode toggle (#524) (@termi-official)
- Release version to 0.3.9. (#525) (@fredrikekre)
v0.3.8
Ferrite v0.3.8
Closed issues:
Merged pull requests:
- More efficient way of creating condensed sparsity pattern (#436) (@lijas)
- Add a logo :) (#464) (@fredrikekre)
- Fix PointEvalHandler when first point is missing + add some kwargs (#466) (@kimauth)
- Fix wrong docs: CellIterator, assemble! (#467) (@KnutAM)
- Throw a more descriptive error message when passing a too long element dof vector. (#469) (@fredrikekre)
- max(u...) -> maximum(u) in plasticity example (#470) (@KnutAM)
- Add assemble function for non-square matrices (#471) (@lijas)
- Remove onboundary from Neumann BC introduction (#473) (@fredrikekre)
- Fix face node ordering for Tetrahedron{3} (#475) (@fredrikekre)
- More complete support for periodic boundary conditions (#478) (@fredrikekre)
- Periodic Nirvana (#481) (@fredrikekre)
- Assembler: error if number of dofs does not match the size of the local matrix/vector. (#483) (@fredrikekre)
- Relax type constraints for components in PeriodicDirichlet (#484) (@fredrikekre)
- remove intermediate vector in ConstraintHandler (#485) (@kimauth)
- Add notes in doc about mesh parser (#487) (@KnutAM)
- doc: fix capitalization in postprocessing example (#490) (@fredrikekre)
- Missing space (#491) (@vinhtu95)
- fix master test (#493) (@koehlerson)
- doc: fixed some more typos (#494) (@vinhtu95)
- Periodic constraints: support dof-rotation (#496) (@fredrikekre)
- Make FerriteGmsh a proper test dependency. (#499) (@fredrikekre)
- Update manual section on periodic boundary conditions. (#500) (@fredrikekre)
- PBC: Change definition of mirror/image mapping (#501) (@fredrikekre)
- remove unneccessary function parametrization (#503) (@koehlerson)
- Improvements to grid coloring (#505) (@fredrikekre)
- Add changelog for 0.3.8, set version to 0.3.8. (#507) (@fredrikekre)
v0.3.7
Ferrite v0.3.7
Merged pull requests:
- Update the heat equation example (#460) (@fredrikekre)
- Improvements to hyperelasticity example (#461) (@fredrikekre)
- Fix tests for WriteVTK 1.14.3 which uses 64-bit integers in the output. (#462) (@fredrikekre)
v0.3.6
Ferrite v0.3.6
Merged pull requests:
- Fix bug with L2projection of mixed grid (#456) (@lijas)
- Expand manual section on Dirichlet constraints. (#458) (@fredrikekre)