diff --git a/bfps/cpp/particles/particles_output_hdf5.hpp b/bfps/cpp/particles/particles_output_hdf5.hpp
index bc0a03690293668203dd78978680fdea03ab3a28..647103ca9445dadb05c76d73710baea4e47cbec2 100644
--- a/bfps/cpp/particles/particles_output_hdf5.hpp
+++ b/bfps/cpp/particles/particles_output_hdf5.hpp
@@ -21,7 +21,7 @@ class particles_output_hdf5 : public abstract_particles_output<partsize_t,
                                              size_particle_positions,
                                              size_particle_rhs>;
 
-    const std::string particle_species_name;
+    std::string particle_species_name;
 
     hid_t file_id;
     const partsize_t total_nb_particles;
@@ -90,6 +90,12 @@ public:
 
     ~particles_output_hdf5(){}
 
+    void update_particle_species_name(
+            const std::string new_name)
+    {
+        this->particle_species_name.assign(new_name);
+    }
+
     int close_file(void){
         if(Parent::isInvolved()){
             TIMEZONE("particles_output_hdf5::close_file");