From 3b2a348dda561e62befe902fb875aa13ce304ae8 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 24 Jun 2021 11:16:55 +0200 Subject: [PATCH 1/2] Simpler syntax to create geometries from user-functions --- src/Exports.jl | 1 + src/LevelSetCutters/AnalyticalGeometries.jl | 5 +++++ src/LevelSetCutters/LevelSetCutters.jl | 1 + test/LevelSetCuttersTests/AnalyticalGeometriesTests.jl | 6 ++++++ 4 files changed, 13 insertions(+) diff --git a/src/Exports.jl b/src/Exports.jl index 15f9f55..8a5fa73 100644 --- a/src/Exports.jl +++ b/src/Exports.jl @@ -20,6 +20,7 @@ end @publish Interfaces OUT @publish LevelSetCutters LevelSetCutter +@publish LevelSetCutters AnalyticalGeometry @publish LevelSetCutters popcorn @publish LevelSetCutters doughnut @publish LevelSetCutters tube diff --git a/src/LevelSetCutters/AnalyticalGeometries.jl b/src/LevelSetCutters/AnalyticalGeometries.jl index b50d4fe..d23b1c2 100644 --- a/src/LevelSetCutters/AnalyticalGeometries.jl +++ b/src/LevelSetCutters/AnalyticalGeometries.jl @@ -14,6 +14,11 @@ struct BoundingBox{D,T} pmax::Point{D,T} end +function AnalyticalGeometry(f::Function) + tree = Leaf((f,string(nameof(f)),nothing)) + AnalyticalGeometry(tree) +end + # Factories function doughnut(R,r;x0=zero(Point{3,typeof(R)}),name="doughnut") diff --git a/src/LevelSetCutters/LevelSetCutters.jl b/src/LevelSetCutters/LevelSetCutters.jl index e8948e4..8c78e5f 100644 --- a/src/LevelSetCutters/LevelSetCutters.jl +++ b/src/LevelSetCutters/LevelSetCutters.jl @@ -31,6 +31,7 @@ using Gridap.Polynomials using Gridap.Visualization export LevelSetCutter +export AnalyticalGeometry export doughnut export popcorn export tube diff --git a/test/LevelSetCuttersTests/AnalyticalGeometriesTests.jl b/test/LevelSetCuttersTests/AnalyticalGeometriesTests.jl index bc43475..12537f9 100644 --- a/test/LevelSetCuttersTests/AnalyticalGeometriesTests.jl +++ b/test/LevelSetCuttersTests/AnalyticalGeometriesTests.jl @@ -18,6 +18,12 @@ end tmpdir() do d +geo0 = AnalyticalGeometry(x->.9*x[1]^2+1.1*x[2]^2-0.6) +model = CartesianDiscreteModel((-1,1,-1,1),(10,10)) +cutgeo = cut(model,geo0) +Γ = EmbeddedBoundary(cutgeo) +writevtk(Γ,joinpath(d,"user")) + geo0 = popcorn() test_geometry(geo0) From 99514a580a822fa36805a5b18646fe2916f55447 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Thu, 24 Jun 2021 11:24:20 +0200 Subject: [PATCH 2/2] preparing release 0.6.1 --- NEWS.md | 6 ++++++ Project.toml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 471131b..41ecdcf 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.6.1] - 2021-06-24 + +### Added +- Method `AnalyticalGeometry(::Function)` to simplify the setup of geometries from user-defined functions. +- `export AnalyticalGeometry` in `GridapEmbedded`. + ## [0.6.0] - 2021-01-12 ### Changed diff --git a/Project.toml b/Project.toml index 2faf984..bec24a6 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "GridapEmbedded" uuid = "8838a6a3-0006-4405-b874-385995508d5d" authors = ["Francesc Verdugo "] -version = "0.6.0" +version = "0.6.1" [deps] AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"