Meshes in 3D

Loading meshes

BoundaryIntegralEquations.load3dTriangularMesh — Function
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_normals — Function
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_element — Function
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