private AbstractMutationStrategy DetachDepthMutationStrategy(Grid2DDomain domain) { double range = MaxDetachDepth(domain) / 2.0; double resolution = 1.0; return(PowerLawMutationStrategy.Create(range, resolution)); }
private AbstractMutationStrategy MaxHeaveMutationStrategy(Grid2DDomain domain) { double range = MaxMaxHeave(domain) / 2.0; double resolution = 1.0f; return(PowerLawMutationStrategy.Create(range, resolution)); }
private AbstractMutationStrategy YMutationStrategy(Grid2DDomain domain) { double range = (domain.Max.Y - domain.Min.Y) / 2.0; // Half model width double resolution = 1.0; return(PowerLawMutationStrategy.Create(range, resolution)); }
private AbstractMutationStrategy RhoMutationStrategy(Grid2DDomain domain) { double r = (domain.Max - domain.Min).Magnitude / 2.0; // Half model diagonal double k = 9.0; // ~ 1 metre return(PowerLawMutationStrategy.Create(r, k)); }
private AbstractMutationStrategy DipMutationStrategy(Grid2DDomain domain) { // Should have ~1° resolution double range = (maxFaultDip - minFaultDip) / 2.0; double resolution = 1.0; return(PowerLawMutationStrategy.Create(range, resolution)); }
private AbstractMutationStrategy PhiMutationStrategy(Grid2DDomain domain) { return(PowerLawMutationStrategy.Create(tipTangentAngle, 1.0)); // 1° resolution }
private AbstractMutationStrategy ThrowMutationStrategy(Grid2DDomain domain) { return(PowerLawMutationStrategy.Create(50.0, 9.0)); }
private AbstractMutationStrategy ThetaMutationStrategy(Grid2DDomain domain) { // Half-circle range, with 1° resolution return(PowerLawMutationStrategy.Create(180.0, 7.49f)); }