message: Core: simplified the Optimizer test.
  Also improved the input file to provide a better test system.
diff: TEST_CASE( "Optimizers testing", "[optimizers]" )
  {
  - // input File
  - const char * inputfile = "core/test/input/optimizers/test.cfg";
  + // input file
  + auto inputfile = "core/test/input/optimizers/test.cfg";
  - // optimizers and outputs
  - std::vector<const char *> optimizers { "SIB",
  - "SIB2", // TODO: remove in the future
  - "VP"
  - //"NCG",
  - //"Heun"
  - }; // optimizers to be tested
  + // optimizers to be tested
  + std::vector<const char *> optimizers { "VP", "Heun", "SIB" };
  // expected values
  - float Energy = -5094.5556640625f;
  - std::vector<float> Magnetization{ 0, 0, 0.644647f };
  + float energy_expected = -5139.478515625f;
  + std::vector<float> magnetization_expected{ 0, 0, 0.77687f };
  - int index; // index of optimizer in optimizers list
  - scalar energy; // enery output
  - std::vector<float> magnetization{ 0, 0, 0 }; // magnetization output
  + // result values
  + scalar energy;
  + std::vector<float> magnetization{ 0, 0, 0 };
  // simulation parameters
  - const char * method = "LLG";
  - int n_iter;
  - int n_iter_log;
  + auto method = "LLG";
  - // skyrmion characteristics
  - float radius = 5;
  - int order = 1;
  - float phase = 0;
  - bool updown = false,
  - achiral = false,
  - rl = false,
  - inverted = false;
  -
  - // skyrmion filters (default)
  - float position[3]{ 0, 0, 0 }, // this must be set to center for the test
  - r_cut_rectangular[3]{ -1, -1, -1 },
  - r_cut_cylindrical = -1,
  - r_cut_spherical = -1;
  -
  - // calculate energy and magnetization fro every optimizer
  - for ( auto opt : optimizers )
  - {
  // setup
  - index = find( optimizers.begin(), optimizers.end(), opt ) - optimizers.begin();
  auto state = std::shared_ptr<State>( State_Setup( inputfile ), State_Delete );
  - // put a skyrmion with phase 0 in the center of the space
  - Geometry_Get_Center( state.get(), position );
  - Configuration_Skyrmion( state.get(), radius, order, phase, updown, achiral, rl, position,
  - r_cut_rectangular, r_cut_cylindrical, r_cut_spherical, inverted );
  + // calculate energy and magnetization for every optimizer
  + for ( auto opt : optimizers )
  + {
  + // put a skyrmion in the center of the space
  + Configuration_PlusZ( state.get() );
  + Configuration_Skyrmion( state.get(), 5, 1, -90, false, false, false);
  // do simulation
  - Parameters_Get_LLG_N_Iterations( state.get(), &n_iter, &n_iter_log );
  - Simulation_PlayPause( state.get(), method, opt, n_iter, n_iter_log );
  + Simulation_PlayPause( state.get(), method, opt );
  // save energy and magnetization
  energy = System_Get_Energy( state.get() );
  @@ -72,8 +47,8 @@ TEST_CASE( "Optimizers testing", "[optimizers]" )
  INFO( opt );
  // check the values of energy and magnetization
  - REQUIRE( energy == Approx( Energy ) );
  - for (int j=0; j<3; j++)
  - REQUIRE( magnetization[j] == Approx( Magnetization[j] ) );
  + REQUIRE( energy == Approx( energy_expected ) );
  + for (int dim=0; dim<3; dim++)
  + REQUIRE( magnetization[dim] == Approx( magnetization_expected[dim] ) );
  }
  }
  \ No newline at end of file
  