SimplexGridFactory.SimplexGridBuilder
— Typemutable struct SimplexGridBuilder
Simplex grid builder: wrapper around array based mesh generator interface. It allows to build up the input data incrementally.
SimplexGridFactory.SimplexGridBuilder
— MethodSimplexGridBuilder(; dim, tol)
Create a SimplexGridBuilder.
ExtendableGrids.plot!
— Methodplot!(ctx::ExtendableGrids.PlotterContext, gf::SimplexGridBuilder; kwargs...) -> Any
Two panel plot of gridfactory and its output.
ExtendableGrids.plot
— Methodplot(gf::SimplexGridBuilder; Plotter, kwargs...)
Two panel plot of gridfactory with input and resulting grid See default_options
for available kwargs
.
ExtendableGrids.simplexgrid
— Methodsimplexgrid(this::SimplexGridBuilder; kwargs...) -> ExtendableGrids.ExtendableGrid{Float64,Int32}
Build simplex grid from the current state of the builder. See default_options
for available kwargs
.
ExtendableGrids.simplexgrid
— Methodsimplexgrid(input::TetGen.RawTetGenIO; kwargs...) -> ExtendableGrids.ExtendableGrid{Float64,Int32}
Create Grid from TetGen data.
See default_options
for available kwargs
.
ExtendableGrids.simplexgrid
— Methodsimplexgrid(input::Triangulate.TriangulateIO; kwargs...) -> ExtendableGrids.ExtendableGrid{Float64,Int32}
Create Grid from Triangle input data.
See default_options
for available kwargs
.
ExtendableGrids.simplexgrid
— Methodfunction simplexgrid(points=Array{Cdouble,2}(undef,0,0),
bfaces=Array{Cint,2}(undef,0,0),
bfaceregions=Array{Cint,1}(undef,0),
regionpoints=Array{Cdouble,2}(undef,0,0),
regionnumbers=Array{Cint,1}(undef,0),
regionvolumes=Array{Cdouble,1}(undef,0);
kwargs...
)
Create Grid from a number of input arrays. The 2D input arrays are transposed if necessary and converted to the proper data types for TetGen.
This conversion is not performed if the data types are those indicated in the defaults and the leading dimension of 2D arrays corresponds to the space dimension.
See default_options
for available kwargs
.
SimplexGridFactory.cellregion!
— Methodcellregion!(this::SimplexGridBuilder, i::Any) -> Any
Set the current cell region (acts on subsequent regionpoint() calls)
SimplexGridFactory.default_options
— Methoddefault_options()
Create dictionary of mesh generation options with default values. These at once describe the keyword arguments available to the methods of the package and are listed in the following table:
keyword | default | 2D | 3D | Explanation |
---|---|---|---|---|
PLC | true | -p | -p | Triangulate/tetraheralize PLSG/PLC |
refine | false | -r | -r | Refines a previously generated mesh. |
quality | true | -q | -q | Quality mesh generation |
minangle | 20 | Minimum angle for quality | ||
volumecontrol | true | -a | -a | Maximum area constraint |
maxvolume | Inf | Value of area/volume constraint if less than Inf | ||
attributes | true | -A | -A | Regional attribute to each simplex. |
confdelaunay | true | -D | Ensure that all circumcenter lie within the domain. | |
nosteiner | false | -Y | -Y | Prohibits insertion of Steiner points on the mesh boundary |
quiet | true | -Q | -Q | Suppress all output unless an error occurs. |
verbose | false | -V | -V | Give detailed information. |
debugfacets | true | -d | Detects self-intersections of facets of the PLC. | |
check | false | -C | -C | Checks the consistency of the final mesh. |
optlevel | 1 | -O | Specifies the level of mesh optimization. | |
unsuitable | nothing | Unsuitable function | ||
addflags | "" | Additional flags | ||
flags | nothing | Set flags, overwrite all other options |
For mesh generation, these are turned into mesh generator control flags. This process can be completely ovewritten by specifying the flags parameter.
For the flags parameter in 2D see the short resp. long documentation of the Triangle control flags.
For the 3D case, see the corresponding TetGen flags
The unsuitable
parameter should be a function, see triunsuitable
.
SimplexGridFactory.facet!
— Methodfacet!(this::SimplexGridBuilder, i1::Any, i2::Any, i3::Any, i4::Any) -> Int64
Add a facet via the corresponding point indices.
SimplexGridFactory.facet!
— Methodfacet!(this::SimplexGridBuilder, i1::Any, i2::Any, i3::Any) -> Int64
Add a facet via the corresponding point indices.
SimplexGridFactory.facet!
— Methodfacet!(this::SimplexGridBuilder, i1::Any, i2::Any) -> Int64
Add a facet via the corresponding point indices.
SimplexGridFactory.facet!
— Methodfacet!(this::SimplexGridBuilder, p::Union{Tuple, Array{T,1} where T}) -> Int64
Add a facet via the corresponding point indices.
SimplexGridFactory.facet!
— Methodfacet!(this::SimplexGridBuilder) -> Int64
Add a facet via the corresponding point indices.
SimplexGridFactory.facetregion!
— Methodfacetregion!(this::SimplexGridBuilder, i::Any) -> Any
Set the current cell region (acts on subsequent regionpoint() calls)
SimplexGridFactory.holepoint!
— Methodholepoint!(this::SimplexGridBuilder, x::Any, y::Any, z::Any)
Add a point marking a hole region
SimplexGridFactory.holepoint!
— Methodholepoint!(this::SimplexGridBuilder, x::Any, y::Any)
Add a point marking a hole region
SimplexGridFactory.holepoint!
— Methodholepoint!(this::SimplexGridBuilder, x::Any)
Add a point marking a hole region
SimplexGridFactory.holepoint!
— Methodholepoint!(this::SimplexGridBuilder, p::Union{Tuple, Array{T,1} where T})
Add a point marking a hole region
SimplexGridFactory.maxvolume!
— Methodmaxvolume!(this::SimplexGridBuilder, vol::Any) -> Any
Set the current cell volume (acts on subsequent regionpoint() calls)
SimplexGridFactory.options!
— Methodoptions!(this; kwargs...)
Set some mesh generation options, see default_options
SimplexGridFactory.point!
— Methodpoint!(this::SimplexGridBuilder, x::Any, y::Any, z::Any) -> Int64
Add point or merge with already existing point. Return its index.
SimplexGridFactory.point!
— Methodpoint!(this, x, y)
Add point or merge with already existing point. Return its index.
SimplexGridFactory.point!
— Methodpoint!(this, x)
Add point or merge with already existing point. Return its index.
SimplexGridFactory.point!
— Methodpoint!(this::SimplexGridBuilder, p::Union{Tuple, Array{T,1} where T}) -> Int64
Add point or merge with already existing point. Return its index.
SimplexGridFactory.regionpoint!
— Methodregionpoint!(this::SimplexGridBuilder, x::Any, y::Any, z::Any) -> Array{Int32,1}
Add a region point marking a region, using current cell volume an cell region
SimplexGridFactory.regionpoint!
— Methodregionpoint!(this::SimplexGridBuilder, x::Any, y::Any) -> Array{Int32,1}
Add a region point marking a region, using current cell volume an cell region
SimplexGridFactory.regionpoint!
— Methodregionpoint!(this::SimplexGridBuilder, x::Any) -> Any
SimplexGridFactory.regionpoint!
— Methodregionpoint!(this::SimplexGridBuilder, p::Union{Tuple, Array{T,1} where T}) -> Any
Add a region point marking a region, using current cell volume an cell region
SimplexGridFactory.tetgenio
— Methodtetgenio(this::SimplexGridBuilder) -> TetGen.RawTetGenIO{Float64}
Create tetgen input from the current state of the builder.
SimplexGridFactory.tetgenio
— Methodtetgenio(; points, bfaces, bfaceregions, regionpoints, regionnumbers, regionvolumes) -> TetGen.RawTetGenIO{Float64}
Create a RawTetGenIO structure from a number of input arrays. The 2D input arrays are transposed if necessary and converted to the proper data types for TetGen.
This conversion is not performed if the data types are those indicated in the defaults and the leading dimension of 2D arrays corresponds to the space dimension.
SimplexGridFactory.triangulateio
— Method(TYPEDSIGNATURES)
Create triangle input from the current state of the builder.
SimplexGridFactory.triangulateio
— Methodtriangulateio(; points, bfaces, bfaceregions, regionpoints, regionnumbers, regionvolumes) -> Triangulate.TriangulateIO
Create a TriangulateIO structure from a number of input arrays. The 2D input arrays are transposed if necessary and converted to the proper data types for Triangulate.
This conversion is not performed if the data types are those indicated in the defaults and the leading dimension of 2D arrays corresponds to the space dimension.