You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 lines
767 B

#pragma once
#include <cmath>
#include <functional>
namespace da {
namespace sha {
namespace FieldFunctions {
using FieldFunction = std::function<double(double x, double y, double z)>;
inline FieldFunction NoField() {
return [=](double x, double y, double z) -> double {
return 0;
};
}
inline FieldFunction F1() {
return [=](double x, double y, double z) -> double {
return (x * x + y * y);
};
}
inline FieldFunction F2() {
return [=](double x, double y, double z) -> double {
return ((x-1)*(x-1)+(y-1)*(y-1)+(z-1)*(z-1));
};
}
inline FieldFunction F3() {
return [=](double x, double y, double z) -> double {
return x + 1;
};
}
} // namespace FieldFunctions
} // namespace sha
} // namespace da