bempp_cl.api.fmm.fmm_assembler¶
Implementation of an FMM Assembler.
Attributes¶
Classes¶
Potential assembler for FMM. |
|
Assembler for Fmm. |
Functions¶
|
Get the Fmm mode from the operator identifier. |
|
Get an Fmm instance. |
|
Get an Fmm potential instance. |
|
Return an Fmm evaluator for the requested kernel. |
|
Select an Fmm Potential Evaluator. |
|
Create an evaluator for scalar hypersingular operators. |
|
Create an evaluator for scalar operators. |
|
Get the normal vectors on the quadrature points. |
|
Compute the transformation of P1 space coefficients to surface curl values. |
|
Implement the curl transformation. |
|
Compute the transformation matrices for RWG basis functions. |
|
Implement the RWG basis transformation. |
|
Compute the div transformation matrices for RWG basis functions. |
|
Implement the RWG basis div transformation. |
|
Make a scalar potential operator. |
Make a Maxwell electric field boundary operator. |
|
Make a Maxwell magnetic field boundary operator. |
|
Make a Maxwell electric field potential operator. |
|
Make a Maxwell magnetic field potential operator. |
|
Clean the FMM cache. |
Module Contents¶
- bempp_cl.api.fmm.fmm_assembler._FMM_CACHE¶
- bempp_cl.api.fmm.fmm_assembler._FMM_POTENTIAL_CACHE¶
- bempp_cl.api.fmm.fmm_assembler.get_mode_from_operator_identifier(identifier)¶
Get the Fmm mode from the operator identifier.
- bempp_cl.api.fmm.fmm_assembler.get_fmm_interface(domain, dual_to_range, mode, wavenumber, parameters=None, device_interface=None)¶
Get an Fmm instance.
- bempp_cl.api.fmm.fmm_assembler.get_fmm_potential_interface(space, points, mode, wavenumber)¶
Get an Fmm potential instance.
- bempp_cl.api.fmm.fmm_assembler.create_evaluator(operator_descriptor, fmm_interface, domain, dual_to_range, parameters)¶
Return an Fmm evaluator for the requested kernel.
- bempp_cl.api.fmm.fmm_assembler.create_potential_evaluator(operator_descriptor, fmm_interface, space, parameters)¶
Select an Fmm Potential Evaluator.
- class bempp_cl.api.fmm.fmm_assembler.FmmPotentialAssembler(space, operator_descriptor, points, device_interface, parameters)¶
Bases:
objectPotential assembler for FMM.
- _evaluator¶
- evaluate(x)¶
Actually evaluate the potential.
- class bempp_cl.api.fmm.fmm_assembler.FmmAssembler(domain, dual_to_range, parameters)¶
Bases:
bempp_cl.api.assembly.assembler.AssemblerBaseAssembler for Fmm.
- dtype = None¶
- _evaluator = None¶
- shape¶
- assemble(operator_descriptor, device_interface, precision, *args, **kwargs)¶
Actually assemble.
- matvec(x)¶
Perform a matvec.
- bempp_cl.api.fmm.fmm_assembler.make_scalar_hypersingular(operator_descriptor, fmm_interface, domain, dual_to_range)¶
Create an evaluator for scalar hypersingular operators.
- bempp_cl.api.fmm.fmm_assembler.make_default_scalar(operator_descriptor, fmm_interface, domain, dual_to_range)¶
Create an evaluator for scalar operators.
- bempp_cl.api.fmm.fmm_assembler.get_normals(space, npoints)¶
Get the normal vectors on the quadrature points.
- bempp_cl.api.fmm.fmm_assembler.compute_p1_curl_transformation(space, quadrature_order)¶
Compute the transformation of P1 space coefficients to surface curl values.
Returns two lists, curl_transforms and curl_transforms_transpose. The jth matrix in curl_transforms is the map from P1 function space coefficients (or extended space built upon P1 type spaces) to the jth component of the surface curl evaluated at the quadrature points, multiplied with the quadrature weights and integration element. The list curl_transforms_transpose contains the transpose of these matrices.
- bempp_cl.api.fmm.fmm_assembler.compute_p1_curl_transformation_impl(grid_data, support_elements, normal_multipliers, quad_points, weights)¶
Implement the curl transformation.
- bempp_cl.api.fmm.fmm_assembler.compute_rwg_basis_transform(space, quadrature_order)¶
Compute the transformation matrices for RWG basis functions.
- bempp_cl.api.fmm.fmm_assembler.compute_rwg_basis_transform_impl(grid_data, shapeset_evaluate, basis_evaluate, support_elements, local_multipliers, normal_multipliers, quad_points, weights)¶
Implement the RWG basis transformation.
- bempp_cl.api.fmm.fmm_assembler.compute_rwg_div_transform(space, quadrature_order)¶
Compute the div transformation matrices for RWG basis functions.
- bempp_cl.api.fmm.fmm_assembler.compute_rwg_div_transform_impl(grid_data, shapeset_evaluate, basis_evaluate, support_elements, local_multipliers, normal_multipliers, quad_points, weights)¶
Implement the RWG basis div transformation.
- bempp_cl.api.fmm.fmm_assembler.make_default_scalar_potential(operator_descriptor, fmm_interface, space)¶
Make a scalar potential operator.
- bempp_cl.api.fmm.fmm_assembler.make_maxwell_electric_field_boundary(operator_descriptor, fmm_interface, domain, dual_to_range)¶
Make a Maxwell electric field boundary operator.
- bempp_cl.api.fmm.fmm_assembler.make_maxwell_magnetic_field_boundary(operator_descriptor, fmm_interface, domain, dual_to_range)¶
Make a Maxwell magnetic field boundary operator.
- bempp_cl.api.fmm.fmm_assembler.make_maxwell_electric_field_potential(operator_descriptor, fmm_interface, space)¶
Make a Maxwell electric field potential operator.
- bempp_cl.api.fmm.fmm_assembler.make_maxwell_magnetic_field_potential(operator_descriptor, fmm_interface, space)¶
Make a Maxwell magnetic field potential operator.
- bempp_cl.api.fmm.fmm_assembler.clear_fmm_cache()¶
Clean the FMM cache.