feat(exports): widen public API for poroelastic and matrix-free hooks

Surface weakdep mesh I/O symbols, FE discretization exports, DOF-based and
matrix-free assembler entry points, and poroelastic kernel and field exports.

- Add Gmsh/VTU IO exports plus Cook membrane and structured line mesh helpers
- Replace FullThreeD with ThreeDimensional; export PorePressure and poro kernels
- Export kernel columns, internal-force and equilibrium APIs, KA operators, MPC
- Drop dof_types export; add flux loads, eliminated Dirichlet helpers, MPI f_int
This commit is contained in:
Jukka Aho
2026-05-11 02:59:42 +03:00
parent 6e252d6a11
commit 42eb9d94dd
+29 -14
View File
@@ -48,7 +48,7 @@ export Vec # Re-export from Tensors.jl, used by basis function APIs.
export AbstractBasis, Lagrange, Serendipity export AbstractBasis, Lagrange, Serendipity
export get_basis_functions, get_basis_derivatives export get_basis_functions, get_basis_derivatives
export get_basis_function, get_basis_derivative export get_basis_function, get_basis_derivative
export nbasis, dof_types export nbasis
export nedelec_whitney_tet_reference, export nedelec_whitney_tet_reference,
nedelec_hierarchical_tet_edge_reference, rt0_tet_reference_basis, rt0_hex8_reference_basis nedelec_hierarchical_tet_edge_reference, rt0_tet_reference_basis, rt0_hex8_reference_basis
@@ -56,9 +56,9 @@ export nedelec_whitney_tet_reference,
# Formulations and field tags # Formulations and field tags
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
export AbstractFormulation, ContinuumFormulation export AbstractFormulation, ContinuumFormulation
export AbstractContinuumTheory, FullThreeD, PlaneStress, PlaneStrain, Axisymmetric export AbstractContinuumTheory, ThreeDimensional, PlaneStress, PlaneStrain, Axisymmetric
export AbstractField, Displacement, Temperature, MoistureContent, PressurePotential, RT0FaceFlux, Nedelec1Edge, DisplacementRotation export AbstractField, Displacement, Temperature, PorePressure, MoistureContent, PressurePotential, RT0FaceFlux, Nedelec1Edge, DisplacementRotation
export LocalField export LocalField
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
@@ -112,8 +112,11 @@ export get_element_set, get_node_set
export get_elements_in_set, get_nodes_in_set export get_elements_in_set, get_nodes_in_set
export extract_surface, surface_topology, validate, info export extract_surface, surface_topology, validate, info
export AbstractRefineStrategy, LongestEdgeBisection, refine export AbstractRefineStrategy, LongestEdgeBisection, refine
export create_structured_box_mesh, create_unit_cube_mesh export create_structured_box_mesh, create_unit_cube_mesh, create_cook_membrane_mesh
export create_structured_line_mesh
export read_gmsh_msh, mesh_from_current_gmsh_model, write_vtu_mesh
export create_cantilever_mesh, create_thin_plate_mesh export create_cantilever_mesh, create_thin_plate_mesh
export FEDiscretization, linear_system, total_dofs
export AbstractFacetConnectivityMaps export AbstractFacetConnectivityMaps
export Hex8FacetMaps, build_hex8_facet_maps, build_hex20_facet_maps, hex8_face_area_physical, export Hex8FacetMaps, build_hex8_facet_maps, build_hex20_facet_maps, hex8_face_area_physical,
hex8_face_outward_sign, hex8_edge_length_physical, hex8_edge_orientation_sign, hex8_face_outward_sign, hex8_edge_length_physical, hex8_edge_orientation_sign,
@@ -194,14 +197,19 @@ export reset!, extract_system
export create_cache export create_cache
# Microkernel contract (DOF-based / matrix-free path) # Microkernel contract (DOF-based / matrix-free path)
export qpoint_buffer_eltype, update_qpoint_buffer! export qpoint_buffer_eltype, update_qpoint_buffer!, prepare_dof_based_material_workspace!
export evaluate_entry, evaluate_mass_entry export evaluate_entry, evaluate_mass_entry, compute_internal_force_value
export reference_fields export reference_fields
# DOF-based assembler (CPU + KernelAbstractions) # DOF-based assembler (CPU + KernelAbstractions)
export DOFBasedCOOAssembler, DOFBasedCOOCache export DOFBasedCOOAssembler, DOFBasedCOOCache
export UniformKernelColumn, PerElementKernelColumn
export prototype_kernel, kernel_at, assert_homogeneous_dof_based_kernel_column!
export ka_per_element_kernel_column_supported
export DOFBasedCOOCacheKA, sync_from_cpu!, to_float32 export DOFBasedCOOCacheKA, sync_from_cpu!, to_float32
export apply_K!, apply_K_masked_rows!, apply_K_owned_rows!, apply_K_owned_rows_from_packed!, apply_K_contributions!, apply_M!, assemble_M! export apply_K!, apply_K_masked_rows!, apply_K_owned_rows!, apply_K_owned_rows_from_packed!, apply_K_contributions!, apply_M!, assemble_M!, equilibrium_residual!
export apply_f_int_owned_rows!, apply_f_int_owned_rows_from_packed!
export assemble_internal_force!, nonlinear_equilibrium_residual!
export AbstractMultiplyGhostLayout, LocalMultiplyLayout, ReferenceMaskMultiplyLayout export AbstractMultiplyGhostLayout, LocalMultiplyLayout, ReferenceMaskMultiplyLayout
export prepare_multiply_workspace! export prepare_multiply_workspace!
@@ -224,21 +232,27 @@ export unpack_halo_recv_to_packed!, pack_halo_send_from_packed!
export owned_dot_packed, owned_norm²_packed, owned_dot_global_vecs export owned_dot_packed, owned_norm²_packed, owned_dot_global_vecs
export allocate_halo_recv_buffers, allocate_halo_send_buffers, partitioned_matvec_workspace export allocate_halo_recv_buffers, allocate_halo_send_buffers, partitioned_matvec_workspace
export partitioned_mpi_owned_matvec_workspace, allocate_exchange_matvec_halo_mpi_requests export partitioned_mpi_owned_matvec_workspace, allocate_exchange_matvec_halo_mpi_requests
export simulate_halo_recv_from_global!, partitioned_owned_matvec!, exchange_matvec_halos_mpi! export simulate_halo_recv_from_global!, partitioned_owned_matvec!, partitioned_owned_internal_force!, exchange_matvec_halos_mpi!
export mpi_owned_dot_global, mpi_owned_dot_local, mpi_partitioned_operator_matvec!, mpi_partitioned_operator_matvec_owned! export mpi_owned_dot_global, mpi_owned_dot_local, mpi_partitioned_operator_matvec!, mpi_partitioned_operator_matvec_owned!, mpi_partitioned_internal_force_owned!
# Matrix-free operator + constraints + loads + preconditioners + eigensolve # Matrix-free operator + constraints + loads + preconditioners + eigensolve
export AbstractMatrixFreeOperator, MatrixFreeOperator, MatrixFreeMassOperator export AbstractMatrixFreeOperator, MatrixFreeOperator, MatrixFreeMassOperator,
export matrix_free_op MatrixFreeOperatorKA, MatrixFreeMassOperatorKA, matrix_free_op_ka,
matrix_free_mass_op_ka
export InternalForceOperator, NonlinearResidualOperator
export matrix_free_op, internal_force_op, nonlinear_residual_op
export AbstractDirichletConstraint, PenaltyDirichlet, EliminatedDirichlet export AbstractDirichletConstraint, PenaltyDirichlet, EliminatedDirichlet
export AbstractMultipointConstraint, LinearMPC export AbstractMultipointConstraint, LinearMPC
export apply_constraint!, apply_constraint_pre!, apply_constraint_post!, apply_penalty_dirichlet_post_owned!, apply_penalty_dirichlet_post_ap_owned! export apply_constraint!, apply_constraint_pre!, apply_constraint_post!, apply_penalty_dirichlet_post_owned!, apply_penalty_dirichlet_post_ap_owned!
export eliminated_dirichlet_free_indices,
extract_eliminated_dirichlet_subsystem,
prolongate_eliminated_dirichlet_solution
export apply_constraint_diag!, apply_constraint_block_diag! export apply_constraint_diag!, apply_constraint_block_diag!
export AbstractNeumannLoad, NodalForce, UniformBodyForce, UniformMixedDarcySource, export AbstractNeumannLoad, NodalForce, UniformBodyForce, UniformMixedDarcySource,
MixedDarcyTet4BoundaryNormalFluxLoad, MixedDarcyHex8BoundaryNormalFluxLoad, MixedDarcyTet4BoundaryNormalFluxLoad, MixedDarcyHex8BoundaryNormalFluxLoad,
SurfaceLoad SurfaceLoad, SurfaceScalarFluxOnField
export apply_load! export apply_load!
export JacobiPreconditioner, export JacobiPreconditioner,
@@ -263,11 +277,12 @@ export FacetMassKernel, EdgeMassKernel
export HellingerReissnerKernel export HellingerReissnerKernel
export HuWashizuKernel export HuWashizuKernel
export compute_block!, compute_block_at_point export compute_block!, compute_block_at_point
export update_geometry_cache!, update_element_cache!, update_material_cache! export update_geometry_cache!, update_element_cache!, update_material_cache!, update_material_cache_stateless_strain!
export HeatKernel, DarcyPotentialKernel, export HeatKernel, DarcyPotentialKernel,
AbstractDarcyMixedRT0P0Kernel, DarcyMixedRT0P0Kernel, DarcyMixedHex8RT0P0Kernel AbstractDarcyMixedRT0P0Kernel, DarcyMixedRT0P0Kernel, DarcyMixedHex8RT0P0Kernel
export ThermoElasticKernel, ThermoElasticQPBuffer export ThermoElasticKernel, ThermoElasticQPBuffer, BiotPoroelasticKernel
export ThermoPoroelasticKernel, ThermoPoroelasticQPBuffer
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Element template # Element template