Overview of the modules¶
matrices¶
Depends on: none.
This module contains classes describing block matrices, block Toeplitz matrices (stored sparsely in memory) and low-rank matrices. All block matrices can nested to build hierarchical matrices.
- capytaine.matrices.block module
BlockMatrix
BlockMatrix.all()BlockMatrix.all_blocksBlockMatrix.any()BlockMatrix.astype()BlockMatrix.block_shapesBlockMatrix.densityBlockMatrix.display_colorBlockMatrix.dtypeBlockMatrix.fft_of_list()BlockMatrix.full_matrix()BlockMatrix.matmat()BlockMatrix.matvec()BlockMatrix.max()BlockMatrix.min()BlockMatrix.ndimBlockMatrix.no_toeplitz()BlockMatrix.plot_shape()BlockMatrix.rmatvec()BlockMatrix.sparcityBlockMatrix.stored_data_sizeBlockMatrix.str_shape- capytaine.matrices.block_toeplitz module
- capytaine.matrices.builders module
- capytaine.matrices.linear_solvers module
- capytaine.matrices.low_rank module
LowRankMatrix
LowRankMatrix.astype()LowRankMatrix.densityLowRankMatrix.from_full_matrix_with_ACA()LowRankMatrix.from_full_matrix_with_SVD()LowRankMatrix.from_function_with_ACA()LowRankMatrix.from_rows_and_cols_functions_with_ACA()LowRankMatrix.from_rows_and_cols_functions_with_multi_ACA()LowRankMatrix.full_matrix()LowRankMatrix.ndimLowRankMatrix.recompress()LowRankMatrix.sparcityLowRankMatrix.stored_data_sizeNoConvergenceOfACA
meshes¶
Depends on: none.
This module contains classes describing the mesh of a floating body. Several variants, including collections of meshes and symmetric meshes are also available. Most of this module comes from the meshmagick package by François Rongère.
- capytaine.meshes.clipper module
- capytaine.meshes.collections module
CollectionOfMeshes
CollectionOfMeshes.axis_aligned_bboxCollectionOfMeshes.center_of_mass_of_nodesCollectionOfMeshes.clip()CollectionOfMeshes.clipped()CollectionOfMeshes.compute_quadrature()CollectionOfMeshes.copy()CollectionOfMeshes.diameter_of_nodesCollectionOfMeshes.extract_faces()CollectionOfMeshes.extract_one_face()CollectionOfMeshes.facesCollectionOfMeshes.faces_areasCollectionOfMeshes.faces_centersCollectionOfMeshes.faces_normalsCollectionOfMeshes.faces_radiusesCollectionOfMeshes.heal_mesh()CollectionOfMeshes.immersed_part()CollectionOfMeshes.indices_of_mesh()CollectionOfMeshes.keep_immersed_part()CollectionOfMeshes.merged()CollectionOfMeshes.mirror()CollectionOfMeshes.nb_facesCollectionOfMeshes.nb_submeshesCollectionOfMeshes.nb_verticesCollectionOfMeshes.prune_empty_meshes()CollectionOfMeshes.quadrature_methodCollectionOfMeshes.quadrature_pointsCollectionOfMeshes.rotate()CollectionOfMeshes.show()CollectionOfMeshes.show_matplotlib()CollectionOfMeshes.sliced_by_plane()CollectionOfMeshes.submesh_containing_face()CollectionOfMeshes.symmetrized()CollectionOfMeshes.translate()CollectionOfMeshes.tree_view()CollectionOfMeshes.verticesCollectionOfMeshes.volume- capytaine.meshes.geometry module
Abstract3DObject
Abstract3DObject.mirror()Abstract3DObject.mirrored()Abstract3DObject.rotate()Abstract3DObject.rotate_around_center_to_align_vectors()Abstract3DObject.rotate_x()Abstract3DObject.rotate_y()Abstract3DObject.rotate_z()Abstract3DObject.rotated()Abstract3DObject.rotated_around_center_to_align_vectors()Abstract3DObject.rotated_x()Abstract3DObject.rotated_y()Abstract3DObject.rotated_z()Abstract3DObject.translate()Abstract3DObject.translate_point_to_point()Abstract3DObject.translate_x()Abstract3DObject.translate_y()Abstract3DObject.translate_z()Abstract3DObject.translated()Abstract3DObject.translated_point_to_point()Abstract3DObject.translated_x()Abstract3DObject.translated_y()Abstract3DObject.translated_z()AxisPlaneinplace_transformation()orthogonal_vectors()parallel_vectors()parallel_vectors_with_same_direction()- capytaine.meshes.meshes module
Mesh
Mesh.as_set_of_faces()Mesh.axis_aligned_bboxMesh.boundariesMesh.center_of_mass_of_nodesMesh.clip()Mesh.clipped()Mesh.compute_quadrature()Mesh.copy()Mesh.diameter_of_nodesMesh.extract_faces()Mesh.extract_one_face()Mesh.facesMesh.faces_areasMesh.faces_centersMesh.faces_normalsMesh.faces_radiusesMesh.ffMesh.flip_normals()Mesh.from_set_of_faces()Mesh.get_face()Mesh.get_surface_integrals()Mesh.heal_mesh()Mesh.heal_normals()Mesh.heal_triangles()Mesh.immersed_part()Mesh.is_triangle()Mesh.join_meshes()Mesh.keep_immersed_part()Mesh.max_edge_lengthMesh.mean_edge_lengthMesh.merge_duplicates()Mesh.merged()Mesh.min_edge_lengthMesh.mirror()Mesh.nb_boundariesMesh.nb_facesMesh.nb_quadranglesMesh.nb_trianglesMesh.nb_verticesMesh.quadrangles_idsMesh.quadrature_methodMesh.quadrature_pointsMesh.remove_degenerated_faces()Mesh.remove_unused_vertices()Mesh.rotate()Mesh.show()Mesh.show_matplotlib()Mesh.show_vtk()Mesh.sliced_by_plane()Mesh.squared_axis_aligned_bboxMesh.symmetrized()Mesh.to_meshmagick()Mesh.translate()Mesh.tree_view()Mesh.triangles_idsMesh.triangulate_quadrangles()Mesh.verticesMesh.vfMesh.volumeMesh.vvSingleFace- capytaine.meshes.properties module
- capytaine.meshes.quality module
- capytaine.meshes.surface_integrals module
SurfaceIntegralsMixin
SurfaceIntegralsMixin.center_of_buoyancySurfaceIntegralsMixin.disp_mass()SurfaceIntegralsMixin.surface_integral()SurfaceIntegralsMixin.volumeSurfaceIntegralsMixin.volumesSurfaceIntegralsMixin.waterplane_areaSurfaceIntegralsMixin.waterplane_centerSurfaceIntegralsMixin.waterplane_integral()SurfaceIntegralsMixin.wet_surface_areacompute_faces_integrals()- capytaine.meshes.symmetric module
bodies¶
Depends on:
meshes.This module contains a class describing a floating body, that is the reunion of a mesh and some degrees of freedom. It also contains some tools to generate new bodies of simple geometrical shapes.
- capytaine.bodies.bodies module
FloatingBody
FloatingBody.add_all_rigid_body_dofs()FloatingBody.add_dofs_labels_to_matrix()FloatingBody.add_dofs_labels_to_vector()FloatingBody.add_rotation_dof()FloatingBody.add_translation_dof()FloatingBody.animate()FloatingBody.assemble_arbitrary_array()FloatingBody.assemble_regular_array()FloatingBody.center_of_buoyancyFloatingBody.clip()FloatingBody.clipped()FloatingBody.combine_dofs()FloatingBody.compute_hydrostatic_stiffness()FloatingBody.compute_hydrostatics()FloatingBody.compute_rigid_body_inertia()FloatingBody.copy()FloatingBody.disp_mass()FloatingBody.dof_normals()FloatingBody.each_hydrostatic_stiffness()FloatingBody.extract_faces()FloatingBody.from_file()FloatingBody.from_meshio()FloatingBody.immersed_part()FloatingBody.integrate_pressure()FloatingBody.join_bodies()FloatingBody.keep_immersed_part()FloatingBody.keep_only_dofs()FloatingBody.longitudinal_metacentric_heightFloatingBody.longitudinal_metacentric_radiusFloatingBody.minced()FloatingBody.mirror()FloatingBody.nb_dofsFloatingBody.rotate()FloatingBody.show()FloatingBody.show_matplotlib()FloatingBody.sliced_by_plane()FloatingBody.surface_integral()FloatingBody.translate()FloatingBody.transversal_metacentric_heightFloatingBody.transversal_metacentric_radiusFloatingBody.volumeFloatingBody.volumesFloatingBody.waterplane_areaFloatingBody.waterplane_centerFloatingBody.waterplane_integral()FloatingBody.wet_surface_area- capytaine.bodies.predefined.spheres module
- capytaine.bodies.predefined.cylinders module
- capytaine.bodies.predefined.rectangles module
tools¶
Depends on: none.
Unsorted tools.
green_functions¶
Depends on:
tools.This module contains the routine to evaluate the Green function.
bem¶
Depends on:
meshes,bodies,matrices,green_functions,io.xarray.The module is the core of the code. It contains the routines to assemble the matrices and solve the BEM problem.
- capytaine.bem.airy_waves module
- capytaine.bem.engines module
- capytaine.bem.solver module
- capytaine.bem.problems_and_results module
DiffractionProblemDiffractionResultLinearPotentialFlowProblem
LinearPotentialFlowProblem.body_nameLinearPotentialFlowProblem.depthLinearPotentialFlowProblem.dimensionless_omegaLinearPotentialFlowProblem.dimensionless_wavenumberLinearPotentialFlowProblem.influenced_dofsLinearPotentialFlowProblem.make_results_container()LinearPotentialFlowProblem.periodLinearPotentialFlowProblem.water_depthLinearPotentialFlowProblem.wavelengthLinearPotentialFlowProblem.wavenumberLinearPotentialFlowResultRadiationProblemRadiationResult
io.xarray¶
Depends on:
bem.This submodule contains the code used to read and write the
xarraydatasets that are the standard output of the code. It is interlaced withcapytaine.bemand might be merged with it in the future.
post_pro¶
ui.vtk¶
Depends on:
meshes,bodiesandpost_pro.This module contains the calls to VTK used for the 3D display of the meshes and the animation of the free surface.
- capytaine.ui.vtk.animation module
- capytaine.ui.vtk.body_viewer module
- capytaine.ui.vtk.helpers module
- capytaine.ui.vtk.mesh_viewer module
MeshViewer
MeshViewer.add_line()MeshViewer.add_mesh()MeshViewer.add_oxy_plane()MeshViewer.add_plane()MeshViewer.add_point()MeshViewer.add_polydata()MeshViewer.add_vector()MeshViewer.finalize()MeshViewer.on_key_press()MeshViewer.save()MeshViewer.screenshot()MeshViewer.show()MeshViewer.show_axes()MeshViewer.show_normals()
io¶
Depends on:
meshes,bodies,bem.This module contains various tools for inputs and outputs of the code.
ui.cli¶
This module contains the command-line interface of the code.