In order to validate a numerical code. I compute benchmark tests. I don't know that I should make other experiment tests or the benchmark tests are enough to validate our numerical model.
It is customary to exercise both (Verification & Validation) in order to sure. Experimental results are needed to Validate, if available. You already did Verification part.
Benchmark validation is a great first step, but it is no guarantee.
In my numerical computations (computational physics), I always try additional tests of limiting cases, when one or more parameters are set to extreme values for which the outcome (or at least the limiting trend of the outcome) can be estimated analytically (or in some way independent of the numerical code in question).
For instance:
- I might try the low or high frequency limit for acoustic, electromagnetic or seismic wave radiation models for instance, or the long-range limit, or the long time duration limit.
- When solving partial differential equations (PDEs) numerically, I might do checks that boundary conditions and the PDEs are satisfied in any given solution.
- For the numerical computation of special functions (e.g., Airy functions, modified Bessel functions of fractional order and complex argument, etc.), I might find analytic asymptotic forms to test limiting cases of more general numerical code.
You probably have different applications for which different tests can be devised.
You need to write a protocol for validation that conforms to the standards that apply to the application your code will have. Generally a test is needed, but you have to decide how many of what type, and how they will be done and reported.
Validation usually means that you can decrease the number of in process tests, but still get an acceptable result by testing the inputs and out puts. But in creating the validation the in process tests are done to show repeatability and conformance to requirements.
TRy to compare in analytical domain and also try to match with previously existing literature and experimental results; in case you are unable to perform experiment. In theory you have flexibility to go to that situations where experimental data is not available or possible to generate.