diff --git a/qpms/scatsystem.c b/qpms/scatsystem.c index 8aa43f6..ef29643 100644 --- a/qpms/scatsystem.c +++ b/qpms/scatsystem.c @@ -1101,7 +1101,7 @@ complex double *qpms_scatsys_at_omega_build_modeproblem_matrix_full( } // Serial reference implementation. -complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_serial( +complex double *qpms_scatsysw_build_modeproblem_matrix_irrep_packed_serial( /// Target memory with capacity for ss->saecv_sizes[iri]**2 elements. If NULL, new will be allocated. complex double *target_packed, const qpms_scatsys_at_omega_t *ssw, @@ -1212,7 +1212,7 @@ complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_serial( return target_packed; } -complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR( +complex double *qpms_scatsysw_build_modeproblem_matrix_irrep_packed_orbitorderR( /// Target memory with capacity for ss->saecv_sizes[iri]**2 elements. If NULL, new will be allocated. complex double *target_packed, const qpms_scatsys_at_omega_t *ssw, qpms_iri_t iri @@ -1332,7 +1332,7 @@ complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR( return target_packed; } -struct qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg{ +struct qpms_scatsysw_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg{ const qpms_scatsys_at_omega_t *ssw; qpms_ss_pi_t *opistartR_ptr; pthread_mutex_t *opistartR_mutex; @@ -1340,9 +1340,9 @@ struct qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg{ complex double *target_packed; }; -static void *qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR_thread(void *arg) +static void *qpms_scatsysw_build_modeproblem_matrix_irrep_packed_parallelR_thread(void *arg) { - const struct qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg + const struct qpms_scatsysw_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg *a = arg; const qpms_scatsys_at_omega_t *ssw = a->ssw; const complex double k = ssw->wavenumber; @@ -1656,7 +1656,7 @@ complex double *qpms_scatsys_build_translation_matrix_e_irrep_packed( // Parallel implementation, now default -complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed( +complex double *qpms_scatsysw_build_modeproblem_matrix_irrep_packed( /// Target memory with capacity for ss->saecv_sizes[iri]**2 elements. If NULL, new will be allocated. complex double *target_packed, const qpms_scatsys_at_omega_t *ssw, qpms_iri_t iri @@ -1672,7 +1672,7 @@ complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed( qpms_ss_pi_t opistartR = 0; pthread_mutex_t opistartR_mutex; QPMS_ENSURE_SUCCESS(pthread_mutex_init(&opistartR_mutex, NULL)); - const struct qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg + const struct qpms_scatsysw_build_modeproblem_matrix_irrep_packed_parallelR_thread_arg arg = {ssw, &opistartR, &opistartR_mutex, iri, target_packed}; // FIXME THIS IS NOT PORTABLE: @@ -1694,7 +1694,7 @@ complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed( pthread_t thread_ids[nthreads]; for(long thi = 0; thi < nthreads; ++thi) QPMS_ENSURE_SUCCESS(pthread_create(thread_ids + thi, NULL, - qpms_scatsys_build_modeproblem_matrix_irrep_packed_parallelR_thread, + qpms_scatsysw_build_modeproblem_matrix_irrep_packed_parallelR_thread, (void *) &arg)); for(long thi = 0; thi < nthreads; ++thi) { void *retval; @@ -1732,7 +1732,7 @@ complex double *qpms_scatsys_incident_field_vector_irrep_packed( #endif -complex double *qpms_scatsys_apply_Tmatrices_full( +complex double *qpms_scatsysw_apply_Tmatrices_full( complex double *target_full, const complex double *inc_full, const qpms_scatsys_at_omega_t *ssw) { QPMS_UNTESTED; @@ -1826,11 +1826,11 @@ qpms_ss_LU qpms_scatsysw_build_modeproblem_matrix_full_LU( return qpms_scatsysw_modeproblem_matrix_full_factorise(target, target_piv, ssw); } -qpms_ss_LU qpms_scatsys_build_modeproblem_matrix_irrep_packed_LU( +qpms_ss_LU qpms_scatsysw_build_modeproblem_matrix_irrep_packed_LU( complex double *target, int *target_piv, const qpms_scatsys_at_omega_t *ssw, qpms_iri_t iri){ - target = qpms_scatsys_build_modeproblem_matrix_irrep_packed(target, ssw, iri); - return qpms_scatsys_modeproblem_matrix_irrep_packed_factorise(target, target_piv, ssw, iri); + target = qpms_scatsysw_build_modeproblem_matrix_irrep_packed(target, ssw, iri); + return qpms_scatsysw_modeproblem_matrix_irrep_packed_factorise(target, target_piv, ssw, iri); } complex double *qpms_scatsys_scatter_solve( diff --git a/qpms/scatsystem.h b/qpms/scatsystem.h index 7490b02..b701dc8 100644 --- a/qpms/scatsystem.h +++ b/qpms/scatsystem.h @@ -209,8 +209,6 @@ typedef struct qpms_scatsys_at_omega_t { complex double wavenumber; ///< Background medium wavenumber } qpms_scatsys_at_omega_t; -void qpms_scatsys_at_omega_free(qpms_scatsys_at_omega_t *); - /// Creates a new scatsys by applying a symmetry group onto a "proto-scatsys", copying particles if needed. /** In fact, it copies everything except the vswf set specs and qpms_abstract_tmatrix_t instances, * so keep them alive until scatsys is destroyed. @@ -336,21 +334,21 @@ complex double *qpms_scatsysw_build_modeproblem_matrix_full( const qpms_scatsys_at_omega_t *ssw ); /// Creates the mode problem matrix \f$ (I - TS) \f$ directly in the irrep-packed form. -complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed( +complex double *qpms_scatsysw_build_modeproblem_matrix_irrep_packed( /// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated. complex double *target, const qpms_scatsys_at_omega_t *ssw, qpms_iri_t iri ); -/// Alternative implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed(). -complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorderR( +/// Alternative implementation of qpms_scatsysw_build_modeproblem_matrix_irrep_packed(). +complex double *qpms_scatsysw_build_modeproblem_matrix_irrep_packed_orbitorderR( /// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated. complex double *target, const qpms_scatsys_at_omega_t *ssw, qpms_iri_t iri ); -/// Alternative (serial reference) implementation of qpms_scatsys_build_modeproblem_matrix_irrep_packed(). -complex double *qpms_scatsys_build_modeproblem_matrix_irrep_packed_orbitorder_serial( +/// Alternative (serial reference) implementation of qpms_scatsysw_build_modeproblem_matrix_irrep_packed(). +complex double *qpms_scatsysw_build_modeproblem_matrix_irrep_packed_orbitorder_serial( /// Target memory with capacity for ss->fecv_size**2 elements. If NULL, new will be allocated. complex double *target, const qpms_scatsys_at_omega_t *ssw, @@ -377,7 +375,7 @@ qpms_ss_LU qpms_scatsysw_build_modeproblem_matrix_full_LU( ); /// Builds an irrep-packed LU-factorised mode/scattering problem matrix from scratch. -qpms_ss_LU qpms_scatsys_build_modeproblem_matrix_irrep_packed_LU( +qpms_ss_LU qpms_scatsysw_build_modeproblem_matrix_irrep_packed_LU( complex double *target, ///< Pre-allocated target array. Optional (if NULL, new one is allocated). int *target_piv, ///< Pre-allocated pivot array. Optional (if NULL, new one is allocated). const qpms_scatsys_at_omega_t *ssw, @@ -392,7 +390,7 @@ qpms_ss_LU qpms_scatsysw_modeproblem_matrix_full_factorise( ); /// Computes LU factorisation of a pre-calculated irrep-packed mode/scattering problem matrix, replacing its contents. -qpms_ss_LU qpms_scatsys_modeproblem_matrix_irrep_packed_factorise( +qpms_ss_LU qpms_scatsysw_modeproblem_matrix_irrep_packed_factorise( complex double *modeproblem_matrix_irrep_packed, ///< Pre-calculated mode problem matrix (I-TS). Mandatory. int *target_piv, ///< Pre-allocated pivot array. Optional (if NULL, new one is allocated). const qpms_scatsys_at_omega_t *ssw, @@ -485,7 +483,7 @@ complex double *qpms_scatsys_incident_field_vector_full( ); /// Applies T-matrices onto an incident field vector in the full basis. -complex double *qpms_scatsys_apply_Tmatrices_full( +complex double *qpms_scatsysw_apply_Tmatrices_full( complex double *target_full, /// Target vector array. If NULL, a new one is allocated. const complex double *inc_full, /// Incident field coefficient vector. Must not be NULL. const qpms_scatsys_at_omega_t *ssw