
doi: 10.5281/zenodo.10797291 , 10.5281/zenodo.7339775 , 10.5281/zenodo.7277690 , 10.5281/zenodo.7497954 , 10.5281/zenodo.10965022 , 10.5281/zenodo.15769357 , 10.5281/zenodo.7830144 , 10.5281/zenodo.10864640 , 10.5281/zenodo.8170030 , 10.5281/zenodo.10647136 , 10.5281/zenodo.7013918 , 10.5281/zenodo.10648043 , 10.5281/zenodo.10936747 , 10.5281/zenodo.7888494 , 10.5281/zenodo.17202699 , 10.5281/zenodo.11787403 , 10.5281/zenodo.8220542 , 10.5281/zenodo.14208254 , 10.5281/zenodo.11149614 , 10.5281/zenodo.7613582 , 10.5281/zenodo.10269521 , 10.5281/zenodo.7879399 , 10.5281/zenodo.14967768 , 10.5281/zenodo.10797650 , 10.5281/zenodo.11077415 , 10.5281/zenodo.7463758 , 10.5281/zenodo.13711976 , 10.5281/zenodo.8218028 , 10.5281/zenodo.7808429 , 10.5281/zenodo.10660029 , 10.5281/zenodo.7063233 , 10.5281/zenodo.8342605 , 10.5281/zenodo.17214512 , 10.5281/zenodo.10670925 , 10.5281/zenodo.7790893 , 10.5281/zenodo.8305004 , 10.5281/zenodo.8318938 , 10.5281/zenodo.11516720 , 10.5281/zenodo.7278331 , 10.5281/zenodo.7421720 , 10.5281/zenodo.10869736 , 10.5281/zenodo.7159096 , 10.5281/zenodo.10420900 , 10.5281/zenodo.7498000 , 10.5281/zenodo.10655798 , 10.5281/zenodo.8217967 , 10.5281/zenodo.10899596 , 10.5281/zenodo.8341417 , 10.5281/zenodo.7498009 , 10.5281/zenodo.10908947 , 10.5281/zenodo.7456965 , 10.5281/zenodo.10835756 , 10.5281/zenodo.7869112 , 10.5281/zenodo.7447071 , 10.5281/zenodo.7874624 , 10.5281/zenodo.11374645
doi: 10.5281/zenodo.10797291 , 10.5281/zenodo.7339775 , 10.5281/zenodo.7277690 , 10.5281/zenodo.7497954 , 10.5281/zenodo.10965022 , 10.5281/zenodo.15769357 , 10.5281/zenodo.7830144 , 10.5281/zenodo.10864640 , 10.5281/zenodo.8170030 , 10.5281/zenodo.10647136 , 10.5281/zenodo.7013918 , 10.5281/zenodo.10648043 , 10.5281/zenodo.10936747 , 10.5281/zenodo.7888494 , 10.5281/zenodo.17202699 , 10.5281/zenodo.11787403 , 10.5281/zenodo.8220542 , 10.5281/zenodo.14208254 , 10.5281/zenodo.11149614 , 10.5281/zenodo.7613582 , 10.5281/zenodo.10269521 , 10.5281/zenodo.7879399 , 10.5281/zenodo.14967768 , 10.5281/zenodo.10797650 , 10.5281/zenodo.11077415 , 10.5281/zenodo.7463758 , 10.5281/zenodo.13711976 , 10.5281/zenodo.8218028 , 10.5281/zenodo.7808429 , 10.5281/zenodo.10660029 , 10.5281/zenodo.7063233 , 10.5281/zenodo.8342605 , 10.5281/zenodo.17214512 , 10.5281/zenodo.10670925 , 10.5281/zenodo.7790893 , 10.5281/zenodo.8305004 , 10.5281/zenodo.8318938 , 10.5281/zenodo.11516720 , 10.5281/zenodo.7278331 , 10.5281/zenodo.7421720 , 10.5281/zenodo.10869736 , 10.5281/zenodo.7159096 , 10.5281/zenodo.10420900 , 10.5281/zenodo.7498000 , 10.5281/zenodo.10655798 , 10.5281/zenodo.8217967 , 10.5281/zenodo.10899596 , 10.5281/zenodo.8341417 , 10.5281/zenodo.7498009 , 10.5281/zenodo.10908947 , 10.5281/zenodo.7456965 , 10.5281/zenodo.10835756 , 10.5281/zenodo.7869112 , 10.5281/zenodo.7447071 , 10.5281/zenodo.7874624 , 10.5281/zenodo.11374645
[7.19.0] - 2024-03-08 Added Add FieldDual(disconnect=True) for a dual (secondary) field with an optionally disconnected mesh. This also enables FieldsMixed(disconnect=True) in mixed fields. Add a quadrature scheme for integrating the surface of a unit hemisphere BazantOh(n=21). Add NearlyIncompressible as a simplified version of ThreeFieldVariation. A constitutive material formulation on the distortional part of a strain energy function in terms of the deformation gradient has to be provided, e.g. by umat = NearlyIncompressible(NeoHooke(mu=1), bulk=5000). Add optional kwargs to a job-callback Job(callback=lambda stepnumber, substepnumber, substep, **kwargs: None, **kwargs) and CharacteristicCurve(callback=lambda stepnumber, substepnumber, substep, **kwargs: None, **kwargs). Add DiscreteGeometry properties x, y and z to access the columns of the points-array. Add a new math-function math.equivalent_von_mises(A) for three-dimensional second-order tensors. Add the evaluation of the equivalent von Mises Cauchy stress as cell-data in ViewSolid, available as Solid.plot("Equivalent of Cauchy Stress"). Add mesh.stack(meshes) as method to MeshContainer.stack(). Note that this only supports mesh containers with meshes of same cell-types. Add NeoHooke.gradient(out=None) and NeoHooke.hessian(out=None) for a location to store the results. Also for NeoHookeCompressible. Add out-keyword to gradient() and hessian of NearlyIncompressible and ThreeFieldVariation. Add optional initial state variables in ViewMaterial(statevars=None) and ViewMaterialIncompressible(statevars=None). Add the L2-projection as tools.project(values, region, average=True, mean=False, dV=None, solver=scipy.sparse.linalg.spsolve) to project given values at quadrature points to mesh-points. This replaces the old tools.project(values, region, average=True, mean=False) in a backward-compatible way. The new method is computationally more expensive but is also much more flexible. Add fifth-order quadrature schemes quadrature.Triangle(order=5) and quadrature.Tetrahedron(order=5). Add Region.copy(mesh=None, element=None, quadrature=None) to copy a region and re-evaluate this copy if necessary. Changed Rename Mesh.save() to Mesh.write() and add Mesh.save() as an alias to Mesh.write(). Enhance the performance of NeoHooke, NeoHookeCompressible, SolidBody and SolidBodyNearlyIncompressible. Enhance the performance of math.inv(out=None) and math.det(out=None). Use only the offical API of tensortrax. A workaround is used to ensure compatibility with tensortrax <= v0.17.1. Pass optional keyword-arguments in the plot-methods ViewMaterial.plot(**kwargs) and ViewMaterialIncompressible.plot(**kwargs) to the matplotlib axes object ax.plot(**kwargs). Only add off_screen and notebook keyword-arguments to pyvista.Plotter(**kwargs) if they are True. This is needed for not ignoring a global variable like pyvista.OFF_SCREEN = True. Enforce verbose=0 if the environmental variable "FELUPE_VERBOSE" is "false". This is useful for running the examples when building the documentation. Don't require a bilinearform in FormItem(bilinearform=None). An empty FormItem is now a valid item in a Step. For empty vectors/matrices, the shape is inferred from sum(FieldContainer.fieldsizes) instead of FieldContainer.fields[0].values.size. Rename the old-project method to tools.extrapolate(values, region, average=True, mean=False) which extrapolates values at quadrature points to mesh-points. Change the sorting of quadrature points for triangles and tetrahedrons (due to internal code simplifications). The reload-method of a region does only re-evaluate it if at least one of the arguments are not None Region.reload(mesh, element, quadrature). Fixed Fix missing support for third-order- and second-order tensor combinations to math.dot(A, B, mode=(2,3)) and math.ddot(A, B, mode=(2,3)). Fix error if FieldDual is in the fields of a FieldContainer for IntegralForm. Fix math.inv(A) for arrays with shape A.shape = (1, 1, ...). Also raise an error if shape[:2] not in [(3, 3), (2, 2), (1, 1)]. Raise an error in math.det(A) if A.shape[:2] not in [(3, 3), (2, 2), (1, 1)]. Fix mutable keyword-arguments in SolidBody._vector(kwargs={}) by SolidBody._vector(kwargs=None). Also for ._matrix() and for SolidBodyNearlyIncompressible. Fix wrong shape and the resulting error during assembly in fem.assembly.expression.Form for the integration of a linear form with different mesh- and field-dimensions. What's Changed Rename Mesh.save() to Mesh.write() and add Mesh.save() as an alias of it by @adtzlr in https://github.com/adtzlr/felupe/pull/626 Refactor constitution by @adtzlr in https://github.com/adtzlr/felupe/pull/628 Add FieldDual for the dual (secondary) fields in mixed fields by @adtzlr in https://github.com/adtzlr/felupe/pull/629 Add quadrature scheme BazantOh() by @adtzlr in https://github.com/adtzlr/felupe/pull/632 Add NearlyIncompressible(material, bulk) by @adtzlr in https://github.com/adtzlr/felupe/pull/633 Add math.dot(A, B, mode=(2,3)) and math.ddot(A, B, mode=(2,3)) by @adtzlr in https://github.com/adtzlr/felupe/pull/641 Add optional kwargs to Job(callback=lambda i, j, res, **kwargs: None, **kwargs) by @adtzlr in https://github.com/adtzlr/felupe/pull/642 Add support for FieldDual in IntegralForm by @adtzlr in https://github.com/adtzlr/felupe/pull/643 Fix math.inv(A) for A.shape[:2] == (1, 1) by @adtzlr in https://github.com/adtzlr/felupe/pull/644 Add FieldDual(disconnect=None). by @adtzlr in https://github.com/adtzlr/felupe/pull/646 Add DiscreteGeometry properties x, y and z by @adtzlr in https://github.com/adtzlr/felupe/pull/648 Add math.equivalent_von_mises(A) by @adtzlr in https://github.com/adtzlr/felupe/pull/650 Add MeshContainer.stack() by @adtzlr in https://github.com/adtzlr/felupe/pull/652 Enhance the performance by @adtzlr in https://github.com/adtzlr/felupe/pull/654 Enhance the performance of ``math.inv(out=None)` by @adtzlr in https://github.com/adtzlr/felupe/pull/655 Improve the performance of math.det(A, out=None) by @adtzlr in https://github.com/adtzlr/felupe/pull/659 Use only the official API of tensortrax.math by @adtzlr in https://github.com/adtzlr/felupe/pull/667 Only add off_screen and notebook keyword-arguments to pyvista.Plotter(**kwargs) if they are True by @adtzlr in https://github.com/adtzlr/felupe/pull/670 Docs: Examples are generated by Sphinx-Gallery by @adtzlr in https://github.com/adtzlr/felupe/pull/671 Fix error during assembly in Form for different mesh- and field-dimensions by @adtzlr in https://github.com/adtzlr/felupe/pull/675 Add the L2-projection and replace it with the old tools.project() by @adtzlr in https://github.com/adtzlr/felupe/pull/683 Full Changelog: https://github.com/adtzlr/felupe/compare/v7.18.0...v7.19.0
If you use this software, please cite it using these metadata.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
