All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added support for distributed level-set geometries. Since PR#99.
- Adding
compute_redistribute_weights
andcompute_adaptive_flags
functions for load balancing and adaptive mesh refinement, respectively. Since PR #95.
- Updated to Algoim v0.2.2, which runs on Julia 1.11. Since PR #97.
- Missing distributed functions. Since PR #92.
- Background models extended with remote ghosts inherit Cartesian labels. Since PR #93.
- Unused
name
keywork argument insquare
andquadrilateral
analytical geometries. Since PR #86. - Gluing of the remote root cells to the local+ghost mesh. Since PR #91.
- Support for Algoim v0.2.1. Since PR #85.
- Distributed extension of the cutters and aggregation. The distributed methods work on top of GridapDistributed.jl and PartitionedArrays.jl. Since PR #81.
- Update compats to include Gridap 0.18. Since PR #80.
- Optimise computation of normal displacement in dynamic simulations. Since PR #78.
- Compute signed distance FE function in 3D. Since PR #77.
- Interface to Algoim v0.2, which provides algoim's high-order quadrature algorithms for domains implicitly-defined by multivariate polynomials and high-order accurate algorithms for computing closest points on implicitly-defined surfaces. Since PR #76.
- Moment fitted machinery. Since PR #68.
- Switch to Gridap 0.17. This required some changes in the user API. In particular, one needs to specify now if you want to build a triangulation of the "physical" domain or of the "active" domain. E.g,
Triangulation(cutgeo,PHYSICAL)
orTriangulation(cutgeo,ACTIVE)
. Taking advantage that one can define FE spaces on "body-fitted" triangulation in Gridap v0.17, the user builds the FE space in embedded simulation by using the "active" triangulation.
- Switch to Gridap 0.16. Note that we specifically need the fixes introduced in Gridap v0.16.3.
- Method
AnalyticalGeometry(::Function)
to simplify the setup of geometries from user-defined functions. export AnalyticalGeometry
inGridapEmbedded
.
- Switch to Gridap 0.15.
- Switch from TravisCI to GitHubCI
-
AggregateCutCellsByThreshold
strategy as a general case ofAggregateAllCutCells
. Basic usage:strategy = AggregateAllCutCells() # Same as before strategy = AggregateCutCellsByThreshold(0.5) # New
- Signature of methods that implement aggregation strategies
- Support for Gridap v0.14.
- Optional kw-argument
edges
tosquare
function.
- Support for Gridap v0.12 and v0.13.
square
function.
- Updated code according to Gridap v0.11.
- Extended the
Cutter
interface with functioncut_facets
that allows one to cut the facets of the background model instead of the cells. - Support for AgFEM methods. This includes the generation of cell aggregates
(via the
aggregate
function) and the construction of aggregated FE spaces (via the constructorAgFEMSpace
).
- Minor change in type signature of
Subtriangulation
.
- CSG machinery
- The
Cutter
interface representing a method that "cuts" the cells of a backgroundDiscreteModel
in order to generate different types ofTriangulations
that allow one to integrate on cut cells and embedded boundaries. - Concrete implementation
LevelSetCutter <: Cutter
that allows one to cut a background model with either an analytical levelset function, i.e. aAnalyticalGeometry
object, or a discrete levelset, i.e., aDiscreteGeometry
object.