TDMS
Time Domain Maxwell Solver
All Classes Namespaces Files Functions Variables Typedefs Enumerations Macros Pages
test_numerical_derivative.cpp File Reference

Tests of the numerical differentiation/FFT functions. More...

#include "numerical_derivative.h"
#include <catch2/catch_approx.hpp>
#include <catch2/catch_test_macros.hpp>
#include <fftw3.h>
#include <spdlog/spdlog.h>
#include "unit_test_utils.h"
Include dependency graph for test_numerical_derivative.cpp:

Functions

 TEST_CASE ("Element-by-element multiplication of array of complex numbers")
 Test complex number multilication (internally used for numerical derivative).
 
 TEST_CASE ("Numerical derivative")
 Test the numerical derivative function itself.
 

Variables

const int REAL = 0
 
const int IMAG = 1
 

Detailed Description

Tests of the numerical differentiation/FFT functions.

Function Documentation

◆ TEST_CASE()

TEST_CASE ( "Numerical derivative"  )

Test the numerical derivative function itself.

The cosine should have negative sine as a derivative. This test involves a bit of trickery because the normalisation is arbitrary. So the ratio of the expected function (-sinθ) and the output (k dcosθ / dx) should be a constant (k) modulo the places where either function is a zero. So calculate the mean ratio of the expected to the output, and check the ratio ~= it's mean value.