diff --git a/inversion.cpp b/inversion.cpp index af1cfab517475e16c3a2945bcf918bb1ba5ad8fd..7b8fa15667d4fc0c355f5bb03926fc22229ab5ce 100644 --- a/inversion.cpp +++ b/inversion.cpp @@ -26,9 +26,9 @@ int inversion(const GmshFem& gmshFem) gmshFem.userDefinedParameter(suffix, "name"); name += suffix; - const ParametrizationInterface* const parametrization = newParametrization<T_Physic>(gmshFem); + const std::unique_ptr<const ParametrizationInterface> parametrization(newParametrization<T_Physic>(gmshFem)); - auto configuration = newConfiguration(name, parametrization, gmshFem); + auto configuration = newConfiguration(name, parametrization.get(), gmshFem); for (unsigned int c = 0; c < parametrization->size(); c++) { @@ -152,7 +152,7 @@ int inversion(const GmshFem& gmshFem) std::string suffix_f = std::to_string(freq_idx[f]); wave::Discretization<T_Physic> w_discret(gmshFem,suffix_f); - pequation[f] = new ParametrizedEquation<T_Physic>(parametrization,f,2.*M_PI*frequency[freq_idx[f]],configuration.get(),w_discret,gmshFem,suffix_f); + pequation[f] = new ParametrizedEquation<T_Physic>(parametrization.get(),f,2.*M_PI*frequency[freq_idx[f]],configuration.get(),w_discret,gmshFem,suffix_f); } GlobalMinimumSearchInterface<T_Physic>* const globalminimumsearch = newGlobalMinimumSearch<T_Physic>(name,configuration.get(), gmshFem, suffix_g); @@ -170,7 +170,6 @@ int inversion(const GmshFem& gmshFem) msg::unindent(); } - delete parametrization; return 0; }