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 mixed grids (#949) (@KnutAM)
- remove JuaFEM mention from README (#951) (@KristofferC)
- Remove "simple finite element toolbox" from README file (#952) (@lijas)
- Rename default_interpolation -> geometric_interpolation (#953) (@KnutAM)
- Run ExplicitImport.jl's checks on CI (#954) (@fredrikekre)
- Changelog entry for geometric_interpolation (#955) (@KnutAM)
- Fix apply_analytical for subdomains (#956) (@DRollin)
- Function barrier in pointeval test (#957) (@KnutAM)
- Warn about SArray output from embedded FEValues (#959) (@KnutAM)
- use concrete types in
MaterialState
in topology example (#961) (@KristofferC) - Rename reference and references (#962) (@termi-official)
- cache neighborhood information in topology example (#963) (@KristofferC)
- Expose some missing docstrings to devdocs (#964) (@termi-official)
- Fix crash with dof handler on true subdomains (#967) (@termi-official)
- Bump julia-actions/cache from 1 to 2 (#970) (@dependabot[bot])
- fix type error in grid generators and add some test functions for gri⦠(#973) (@Abdelrahman912)
- ExclusiveTopology with ArrayOfVectorViews backend (#974) (@KnutAM)
- Type-stable construction of AbstractValues (#979) (@KnutAM)
- Allow geometric_interpolation(::AbstractCell) (#981) (@KnutAM)
- Update to BlockArrays.jl v1 (#982) (@KnutAM)
- Remove self-qualified names (#985) (@fredrikekre)
- Fix nfacets for non-Grids (#987) (@termi-official)
- Update Documenter and other doc dependencies. (#990) (@fredrikekre)
- Extend quadrature type to include a storage type parameter (#991) (@termi-official)
- Allow more vector types for nodal evaluation of solution. (#992) (@termi-official)
- Require Julia 1.9 and remove ScalarWrapper (#994) (@fredrikekre)
- Run ExplicitImports check on extension modules (#995) (@fredrikekre)
- Change all deprecations to hard errors. (#996) (@fredrikekre)
- Replace
shape_value
etc for interpolations withreference_shape_value
(#997) (@fredrikekre) - Only facetskeleton in ExclusiveTopology (#998) (@KnutAM)
- Flip the sign in the definition of jump for interface values (#999) (@KnutAM)
- Set version to 1.0.0. (#1000) (@fredrikekre)
- Fix deprecation warning of
Ferrite.(vertices|faces|edges)
(#1003) (@fredrikekre) - Add init_sparsity_pattern docstring to docs (#1005) (@KnutAM)
- Fix Quadrature rule docs and syms (#1007) (@termi-official)
- Fix arg ordering in add docstring (#1008) (@KnutAM)
- Throw when asking for dof indices of vectorized interpolations (#1010) (@KnutAM)
- remove ApplyStrategy enums (#1013) (@KnutAM)
- Rename VTKFile to VTKGridFile (#1014) (@KnutAM)
- Remove VTKFileCollection (#1015) (@KnutAM)
- Fix typed functions in Dirichlet (#1016) (@KnutAM)
- Widen accepted vector types in FEValues (#1017) (@termi-official)
- Add direct computation of mapping values (#1018) (@termi-official)
- Update degrees of freedom topic to reflect updates for 1.0 (#1020) (@KnutAM)
- speed up adding sparsity pattern entries with coupling (#1028) (@KristofferC)
- reduce chunk size of Hessian in Landau example to improve latency and performance (#1032) (@KristofferC)
- Add updated function names in devdocs (#1036) (@KnutAM)
- Fix notebook links in tutorials (#1038) (@KnutAM)
- Fix doc warnings and make docs build strict (#1039) (@KnutAM)
- Fix ns_vs_diffeq tutorial (#1045) (@KnutAM)
- Use https for codecov links (#1048) (@fredrikekre)
- Fix a typo in plasticity example (#1052) (@Niel-77)
- Fix wrong function to save pvd files in examples and docs (#1055) (@KnutAM)
- Clean up doc remaints of old face definition (#1056) (@KnutAM)
- Fix a deprecation warning in hyperelasticity tutorial (#1057) (@fredrikekre)
- Extend COOAssembler to also handle vector assembly (#1058) (@fredrikekre)
- Deprecate assemble! with local vector before local matrix (#1059) (@fredrikekre)
- User Changelog.jl for changelog generation (#1061) (@fredrikekre)
- Update doc build dependencies. (#1062) (@fredrikekre)
- Replace
sparse
withspzeros!
in grid coloring (#1064) (@fredrikekre) - Clarify why the inverse Metis permutation is used, closes #1065 (#1066) (@fredrikekre)
- Modernize the threaded assembly howto (#1068) (@fredrikekre)
- Consistently return the vtk file in export methods (#1069) (@fredrikekre)
- Remove old example notebook, closes #91. (#1073) (@fredrikekre)
- Correcting weak form + spelling mistake (#1074) (@mipals)
- Miscellaneous fixes to documentation (#1075) (@fredrikekre)
- Update documentation dependencies. (#1076) (@fredrikekre)
- Update changelog date for 1.0.0 (#1077) (@fredrikekre)
- Remove explicit documention of fields in CellCache (#1079) (@KnutAM)
- Add changelog for COOAssembler (#1080) (@KnutAM)
- Deprecate
celldofs!(::Vector, ::(Cell|Facet)Cache)
(#1082) (@fredrikekre) - Add [compat] for ForwardDiff and StaticArrays (#1085) (@fredrikekre)
Closed issues:
- Make Yeoh large deformation notebook work again (#91)
- Export of super parametric elements (#167)
- Support arbitrary precision (#195)
- CellIterator not broadcast safe (#267)
- Maybe remove the fallback
vtk_point_data
(#278) - L2Projection does not work accurately for mixed grids (#330)
- No examples with
MixedDofHandler
(#355) project_to_nodes
inL2Projector
projects to vertices (#380)- Grid inconsistencies (#394)
- Remove
ScalarWrapper
s and useconst
fields instead (#488) - Requesting help with the error "det(J) is not positive" when using custom Delaunay grids (#515)
- Threaded Assembly Performance Degradation (#526)
- Support for Wedge&Pyramid elements (#580)
- Extract boundary entities (#595)
- Rename
Ferrite.value
andFerrite.derivative
(#609) - L2Projector for mixed grids (#610)
- find_field and field_offset broken for MixedDofHandler (#613)
- Field dim is not necessarily spatial dim (#616)
- Topology construction is slow (#617)
- Fix embedded elements (#619)
- Introduce citation system to docs (#620)
- Merging
DofHandler
andMixedDofHandler
(#624) - Use OrderedSet for cellsets (#631)
- Verify interpolation <-> cell compatibility (#638)
- Topology broken for wedges (#641)
- dof management dev-docs (#661)
- Interpolation parameterization (#676)
- Change parameterization of (Abstract)Cell (#677)
- (Face|Cell)(Scalar|Vector)Values -> (Face|Cell)Values (#682)
- Workspace/additional data for interpolations in CellValues (#683)
- Topology construction for 1D elements is broken (#684)
- Update benchmarks for next release (#722)
ExclusiveTopology
topology.cell_neighbor
is inclusive. (#728)- Changing the meaning of Face in 1d/2d problems? (#740)
- Naming convention for getters (#741)
- Links in "Documentation of examples"-page do not work (#744)
- Refactoring of examples into tutorials, how-to guides, and code gallery. (#745)
- Remove exported names (#746)
- Showing FaceValues in the REPL is broken (#752)
- Update threading example (#760)
- Bug in PointValues (#763)
- Poor performance of converting Gmsh grid to Ferrite grid (#770)
- Implement FaceQuadratureRule for RefPrism and RefPyramid (#772)
- Go to definition problems (#773)
- A Loop over a CellIterator returns an Object of type CellCache (#775)
- Solutions of the assembled systems are misaligned/corrupted (#777)
- Ferrite.jl User & Developer Conference 2023 (#781)
- Too tight tolerance for pyramid interpolation tests? (#811)
- SimpleCellValues tutorial (#824)
- Docstrings for addedgeset! and addvertexset! missing (#833)
- AbstractFunctionValues (#837)
- Hyperelasticity example is not polyconvex (#844)
- Simplify deduction of eltype in FunctionValues constructor (#857)
- How to avoid trivial solutions? (#885)
- Explicitly import all names (#886)
- Coupling shells to solid faces (#899)
- Adopt proper names for entities with different dimensions and codimensions (#901)
- Some of links in documentation are dead (#908)
- Release v0.4 or wait to finish 1.0? (#909)
- Don't promise to not change fields in Grid (#918)
- Changelog for face -> facet changes (#919)
- Document return values of embedded as experimental / may change (#922)
- Document boundary entities (#923)
- Use Changelog.jl for CHANGELOG and include it as part of the HTML documentation (#925)
- getdim consistency (#936)
- fix topology getneighborhood call in 2D (#941)
- Docs naming for Reference vs References (#945)
- default_interpolation -> geometric_interpolation ? (#950)
FacetValue
does not seem to be type stable (#960)- CellIterator causes a OutOfMemoryError (#966)
- Ferrite.jl User & Developer Conference 2024 (#969)
- docstring of geometric_interpolation is wrong (#978)
- Update to BlockArrays 1.0 (#980)
- Error after importing vtu file to paraview (#986)
- ExclusiveTopology skeletons (#988)
- Quadrature rule storage type parameter (#989)
- Use separate functions for creating quadrature rule instead of the
QuadratureRule
constructor (#1002) - Dirichlet does not work with concretely typed functions (#1006)
- Fix doc warnings and make docs build strict (#1021)
- Question for dofs generation in
DofHandler
(#1042) - The incompressible elasticity example does not work (#1047)
- Remove dofhandler from CellCache (#1049)
- Possible bug in FerriteMetis (#1065)