Meshes in 3D

Loading meshes

BoundaryIntegralEquations.load3dTriangularMeshFunction
load3dTriangularMesh(mesh_file;m=3,n=3,geometry_order=:linear,physics_order=:geometry,
                                beta_type=:legendre,entites=false,removed_entites=[-1])

Returns a Mesh3d from the geoemtry described in mesh_file.

Supports .obj, .ply, .stl, .off, .2DM files using MeshIO.jl and FileIO.jl.

source

Mesh manipulation

BoundaryIntegralEquations.tangents!Function
tangents!(normals, tangent1, tangent2)

Inplace computation of two tagents of the columns of normals. Results are saved in tangent1 and tangent2 respectively.

source
BoundaryIntegralEquations.get_element_normalsFunction
get_element_normals(shape_function::Triangular,coordinates, topology)

Compute the normal as the average normal of all normals from the different elements that a coordinate is connected to via topology.

source
BoundaryIntegralEquations.set_physics_elementFunction
set_physics_element(physics_order,shape_function,beta_type)

Returns element of type physics_order with the same interpolation as shape_function. For discontinuous elements beta_type defines the position of the internal nodes.

source
BoundaryIntegralEquations.cross_product!Function
cross_product!(normals,tangent,sangent)

Inplace computation of the cross product between every column of tangent and sangent. Results are saved in the corresponding column of normals.

source
BoundaryIntegralEquations.jacobian!Method
jacobian!(basisElement::SurfaceFunction,coordinates,normals,tangent,sangent,jacobian)

Inplace computations of the jacobian of the basisElement::SurfaceFunctionat the coordinates. The results are saved intangent,sangent,normalsandjacobian`.

source