File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -336,6 +336,14 @@ class RBParametrizedFunction
336336 const std::vector<subdomain_id_type> & sbd_ids,
337337 const std::vector<boundary_id_type> & boundary_ids);
338338
339+ /* *
340+ * Virtual function that performs cleanup after each
341+ * "preevaluate parametrized function" evaluation. This function
342+ * is a no-op by default, but it can be overridden in subclasses
343+ * in order to do necessary cleanup, such as clearing cached data.
344+ */
345+ virtual void preevaluate_parametrized_function_cleanup ();
346+
339347 /* *
340348 * Storage for pre-evaluated values. The indexing is given by:
341349 * parameter index --> point index --> component index --> value.
Original file line number Diff line number Diff line change @@ -484,6 +484,8 @@ void RBParametrizedFunction::preevaluate_parametrized_function_on_mesh(const RBP
484484 all_xyz_perturb_vec ,
485485 phi_i_qp_vec ,
486486 preevaluated_values );
487+
488+ preevaluate_parametrized_function_cleanup ();
487489}
488490
489491void RBParametrizedFunction ::preevaluate_parametrized_function_on_mesh_sides (const RBParameters & mu ,
@@ -639,6 +641,8 @@ void RBParametrizedFunction::preevaluate_parametrized_function_on_mesh_sides(con
639641 all_xyz_perturb_vec ,
640642 phi_i_qp_vec ,
641643 preevaluated_values );
644+
645+ preevaluate_parametrized_function_cleanup ();
642646}
643647
644648void RBParametrizedFunction ::preevaluate_parametrized_function_on_mesh_nodes (const RBParameters & mu ,
@@ -677,6 +681,8 @@ void RBParametrizedFunction::preevaluate_parametrized_function_on_mesh_nodes(con
677681 node_ids_vec ,
678682 boundary_ids_vec ,
679683 preevaluated_values );
684+
685+ preevaluate_parametrized_function_cleanup ();
680686}
681687
682688Number RBParametrizedFunction ::lookup_preevaluated_value_on_mesh (unsigned int comp ,
@@ -823,6 +829,11 @@ void RBParametrizedFunction::initialize_spatial_indices(const std::vector<std::v
823829 // No-op by default
824830}
825831
832+ void RBParametrizedFunction ::preevaluate_parametrized_function_cleanup ()
833+ {
834+ // No-op by default
835+ }
836+
826837const std ::set < boundary_id_type > & RBParametrizedFunction ::get_parametrized_function_boundary_ids () const
827838{
828839 return _parametrized_function_boundary_ids ;
You can’t perform that action at this time.
0 commit comments