diff --git a/src/PTM/ptm_alt_templates.h b/src/PTM/ptm_alt_templates.h index dfaf279ac3..0fb78551f4 100644 --- a/src/PTM/ptm_alt_templates.h +++ b/src/PTM/ptm_alt_templates.h @@ -16,7 +16,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI #include -constexpr double ptm_template_hcp_alt1[PTM_NUM_POINTS_HCP][3] = { +const double ptm_template_hcp_alt1[PTM_NUM_POINTS_HCP][3] = { { 0, 0, 0 }, { 1, 0, 0 }, { -0.5, -sqrt(3.0)/2, 0 }, @@ -32,7 +32,7 @@ constexpr double ptm_template_hcp_alt1[PTM_NUM_POINTS_HCP][3] = { { -0.5, -sqrt(3.0)/6, sqrt(6.0)/3 }, }; -constexpr double ptm_template_dcub_alt1[PTM_NUM_POINTS_DCUB][3] = { +const double ptm_template_dcub_alt1[PTM_NUM_POINTS_DCUB][3] = { { 0, 0, 0 }, { 4/(sqrt(3.0)+6*sqrt(2.0)), -4/(sqrt(3.0)+6*sqrt(2.0)), 4/(sqrt(3.0)+6*sqrt(2.0)) }, { 4/(sqrt(3.0)+6*sqrt(2.0)), 4/(sqrt(3.0)+6*sqrt(2.0)), -4/(sqrt(3.0)+6*sqrt(2.0)) }, @@ -52,7 +52,7 @@ constexpr double ptm_template_dcub_alt1[PTM_NUM_POINTS_DCUB][3] = { { 0, 8/(sqrt(3.0)+6*sqrt(2.0)), 8/(sqrt(3.0)+6*sqrt(2.0)) }, }; -constexpr double ptm_template_dhex_alt1[PTM_NUM_POINTS_DHEX][3] = { +const double ptm_template_dhex_alt1[PTM_NUM_POINTS_DHEX][3] = { { 0, 0, 0 }, { -4*sqrt(2.0)/(sqrt(3.0)+6*sqrt(2.0)), -4*sqrt(6.0)/(3*(sqrt(3.0)+6*sqrt(2.0))), -4*sqrt(3.0)/(3*sqrt(3.0)+18*sqrt(2.0)) }, { 4*sqrt(2.0)/(sqrt(3.0)+6*sqrt(2.0)), -4*sqrt(6.0)/(3*(sqrt(3.0)+6*sqrt(2.0))), -4*sqrt(3.0)/(3*sqrt(3.0)+18*sqrt(2.0)) }, @@ -72,7 +72,7 @@ constexpr double ptm_template_dhex_alt1[PTM_NUM_POINTS_DHEX][3] = { { -4*sqrt(2.0)/(sqrt(3.0)+6*sqrt(2.0)), -4*sqrt(6.0)/(3*(sqrt(3.0)+6*sqrt(2.0))), 16*sqrt(3.0)/(3*(sqrt(3.0)+6*sqrt(2.0))) }, }; -constexpr double ptm_template_dhex_alt2[PTM_NUM_POINTS_DHEX][3] = { +const double ptm_template_dhex_alt2[PTM_NUM_POINTS_DHEX][3] = { { 0, 0, 0 }, { 0, -8*sqrt(6.0)/(3*sqrt(3.0)+18*sqrt(2.0)), 4*sqrt(3.0)/(3*sqrt(3.0)+18*sqrt(2.0)) }, { -4*sqrt(2.0)/(sqrt(3.0)+6*sqrt(2.0)), 4*sqrt(6.0)/(3*(sqrt(3.0)+6*sqrt(2.0))), 4*sqrt(3.0)/(3*sqrt(3.0)+18*sqrt(2.0)) }, @@ -92,7 +92,7 @@ constexpr double ptm_template_dhex_alt2[PTM_NUM_POINTS_DHEX][3] = { { 0, -8*sqrt(6.0)/(3*sqrt(3.0)+18*sqrt(2.0)), -16*sqrt(3.0)/(3*(sqrt(3.0)+6*sqrt(2.0))) }, }; -constexpr double ptm_template_dhex_alt3[PTM_NUM_POINTS_DHEX][3] = { +const double ptm_template_dhex_alt3[PTM_NUM_POINTS_DHEX][3] = { { 0, 0, 0 }, { 4*sqrt(2.0)/(sqrt(3.0)+6*sqrt(2.0)), -4*sqrt(6.0)/(3*(sqrt(3.0)+6*sqrt(2.0))), 4*sqrt(3.0)/(3*sqrt(3.0)+18*sqrt(2.0)) }, { -4*sqrt(2.0)/(sqrt(3.0)+6*sqrt(2.0)), -4*sqrt(6.0)/(3*(sqrt(3.0)+6*sqrt(2.0))), 4*sqrt(3.0)/(3*sqrt(3.0)+18*sqrt(2.0)) }, @@ -113,7 +113,7 @@ constexpr double ptm_template_dhex_alt3[PTM_NUM_POINTS_DHEX][3] = { }; -constexpr double ptm_template_graphene_alt1[PTM_NUM_POINTS_GRAPHENE][3] = { +const double ptm_template_graphene_alt1[PTM_NUM_POINTS_GRAPHENE][3] = { { 0, 0, 0 }, { 3*sqrt(3.0)/22-9./11, -3./22+3*sqrt(3.0)/11, 0 }, { 9./11-3*sqrt(3.0)/22, -3./22+3*sqrt(3.0)/11, 0 }, diff --git a/src/PTM/ptm_deformation_gradient.h b/src/PTM/ptm_deformation_gradient.h index 5305d54d19..8c5ae60776 100644 --- a/src/PTM/ptm_deformation_gradient.h +++ b/src/PTM/ptm_deformation_gradient.h @@ -21,7 +21,7 @@ namespace ptm { void calculate_deformation_gradient(int num_points, const double (*ideal_points)[3], int8_t* mapping, double (*normalized)[3], const double (*penrose)[3], double* F, double* res); -constexpr double penrose_sc[PTM_NUM_POINTS_SC][3] = { +const double penrose_sc[PTM_NUM_POINTS_SC][3] = { { 0, 0, 0 }, { 0, 0, -0.5 }, { 0, 0, 0.5 }, @@ -31,7 +31,7 @@ constexpr double penrose_sc[PTM_NUM_POINTS_SC][3] = { { 0.5, 0, 0 }, }; -constexpr double penrose_fcc[PTM_NUM_POINTS_FCC][3] = { +const double penrose_fcc[PTM_NUM_POINTS_FCC][3] = { { 0, 0, 0 }, { sqrt(2.0)/8, sqrt(2.0)/8, 0 }, { 0, sqrt(2.0)/8, sqrt(2.0)/8 }, @@ -47,7 +47,7 @@ constexpr double penrose_fcc[PTM_NUM_POINTS_FCC][3] = { { sqrt(2.0)/8, 0, -sqrt(2.0)/8 }, }; -constexpr double penrose_hcp[PTM_NUM_POINTS_HCP][3] = { +const double penrose_hcp[PTM_NUM_POINTS_HCP][3] = { { 0, 0, 0 }, { 1./8, -sqrt(3.0)/8, 0 }, { -1./4, 0, 0 }, @@ -63,7 +63,7 @@ constexpr double penrose_hcp[PTM_NUM_POINTS_HCP][3] = { { -1./8, sqrt(3.0)/24, sqrt(6.0)/12 }, }; -constexpr double penrose_hcp_alt1[PTM_NUM_POINTS_HCP][3] = { +const double penrose_hcp_alt1[PTM_NUM_POINTS_HCP][3] = { { 0, 0, 0 }, { 1./4, 0, 0 }, { -1./8, -sqrt(3.0)/8, 0 }, @@ -79,7 +79,7 @@ constexpr double penrose_hcp_alt1[PTM_NUM_POINTS_HCP][3] = { { -1./8, -sqrt(3.0)/24, sqrt(6.0)/12 }, }; -constexpr double penrose_ico[PTM_NUM_POINTS_ICO][3] = { +const double penrose_ico[PTM_NUM_POINTS_ICO][3] = { { 0, 0, 0 }, { 0, 0, 0.25 }, { 0, 0, -0.25 }, @@ -95,7 +95,7 @@ constexpr double penrose_ico[PTM_NUM_POINTS_ICO][3] = { { -sqrt(-10*sqrt(5.0) + 50)/40, -1./8 - sqrt(5.0)/40, sqrt(5.0)/20 }, }; -constexpr double penrose_bcc[PTM_NUM_POINTS_BCC][3] = { +const double penrose_bcc[PTM_NUM_POINTS_BCC][3] = { { 0, 0, 0 }, { 3./56 + sqrt(3.0)/28, 3./56 + sqrt(3.0)/28, 3./56 + sqrt(3.0)/28 }, { -sqrt(3.0)/28 - 3./56, 3./56 + sqrt(3.0)/28, 3./56 + sqrt(3.0)/28 }, @@ -113,7 +113,7 @@ constexpr double penrose_bcc[PTM_NUM_POINTS_BCC][3] = { { 0, 0, -sqrt(3.0)/14 - 3./28 }, }; -constexpr double penrose_dcub[PTM_NUM_POINTS_DCUB][3] = { +const double penrose_dcub[PTM_NUM_POINTS_DCUB][3] = { { 0, 0, 0 }, { 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))), 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))), 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))) }, { 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))), -23./(-48*sqrt(3.0) + 288*sqrt(2.0)), -23./(-48*sqrt(3.0) + 288*sqrt(2.0)) }, @@ -133,7 +133,7 @@ constexpr double penrose_dcub[PTM_NUM_POINTS_DCUB][3] = { { 0, 23./(24*(-sqrt(3.0) + 6*sqrt(2.0))), -23./(-24*sqrt(3.0) + 144*sqrt(2.0)) }, }; -constexpr double penrose_dcub_alt1[PTM_NUM_POINTS_DCUB][3] = { +const double penrose_dcub_alt1[PTM_NUM_POINTS_DCUB][3] = { { 0, 0, 0 }, { 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))), -23./(-48*sqrt(3.0) + 288*sqrt(2.0)), 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))) }, { 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))), 23./(48*(-sqrt(3.0) + 6*sqrt(2.0))), -23./(-48*sqrt(3.0) + 288*sqrt(2.0)) }, @@ -154,7 +154,7 @@ constexpr double penrose_dcub_alt1[PTM_NUM_POINTS_DCUB][3] = { }; -constexpr double penrose_dhex[PTM_NUM_POINTS_DHEX][3] = { +const double penrose_dhex[PTM_NUM_POINTS_DHEX][3] = { { 0, 0, 0 }, { -23*sqrt(2.0)/(-48*sqrt(3.0) + 288*sqrt(2.0)), 23*sqrt(6.0)/(144*(-sqrt(3.0) + 6*sqrt(2.0))), -23*sqrt(3.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)) }, { 0, -23*sqrt(6.0)/(-72*sqrt(3.0) + 432*sqrt(2.0)), -23*sqrt(3.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)) }, @@ -174,7 +174,7 @@ constexpr double penrose_dhex[PTM_NUM_POINTS_DHEX][3] = { { -23*sqrt(2.0)/(-48*sqrt(3.0) + 288*sqrt(2.0)), 23*sqrt(6.0)/(144*(-sqrt(3.0) + 6*sqrt(2.0))), 23*sqrt(3.0)/(36*(-sqrt(3.0) + 6*sqrt(2.0))) }, }; -constexpr double penrose_dhex_alt1[PTM_NUM_POINTS_DHEX][3] = { +const double penrose_dhex_alt1[PTM_NUM_POINTS_DHEX][3] = { { 0, 0, 0 }, { -23*sqrt(2.0)/(-48*sqrt(3.0) + 288*sqrt(2.0)), -23*sqrt(6.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)), -23*sqrt(3.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)) }, { 23*sqrt(2.0)/(48*(-sqrt(3.0) + 6*sqrt(2.0))), -23*sqrt(6.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)), -23*sqrt(3.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)) }, @@ -194,7 +194,7 @@ constexpr double penrose_dhex_alt1[PTM_NUM_POINTS_DHEX][3] = { { -23*sqrt(2.0)/(-48*sqrt(3.0) + 288*sqrt(2.0)), -23*sqrt(6.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)), 23*sqrt(3.0)/(36*(-sqrt(3.0) + 6*sqrt(2.0))) }, }; -constexpr double penrose_dhex_alt2[PTM_NUM_POINTS_DHEX][3] = { +const double penrose_dhex_alt2[PTM_NUM_POINTS_DHEX][3] = { { 0, 0, 0 }, { 0, -23*sqrt(6.0)/(-72*sqrt(3.0) + 432*sqrt(2.0)), 23*sqrt(3.0)/(144*(-sqrt(3.0) + 6*sqrt(2.0))) }, { -23*sqrt(2.0)/(-48*sqrt(3.0) + 288*sqrt(2.0)), 23*sqrt(6.0)/(144*(-sqrt(3.0) + 6*sqrt(2.0))), 23*sqrt(3.0)/(144*(-sqrt(3.0) + 6*sqrt(2.0))) }, @@ -214,7 +214,7 @@ constexpr double penrose_dhex_alt2[PTM_NUM_POINTS_DHEX][3] = { { 0, -23*sqrt(6.0)/(-72*sqrt(3.0) + 432*sqrt(2.0)), -23*sqrt(3.0)/(-36*sqrt(3.0) + 216*sqrt(2.0)) }, }; -constexpr double penrose_dhex_alt3[PTM_NUM_POINTS_DHEX][3] = { +const double penrose_dhex_alt3[PTM_NUM_POINTS_DHEX][3] = { { 0, 0, 0 }, { 23*sqrt(2.0)/(48*(-sqrt(3.0) + 6*sqrt(2.0))), -23*sqrt(6.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)), 23*sqrt(3.0)/(144*(-sqrt(3.0) + 6*sqrt(2.0))) }, { -23*sqrt(2.0)/(-48*sqrt(3.0) + 288*sqrt(2.0)), -23*sqrt(6.0)/(-144*sqrt(3.0) + 864*sqrt(2.0)), 23*sqrt(3.0)/(144*(-sqrt(3.0) + 6*sqrt(2.0))) }, @@ -235,7 +235,7 @@ constexpr double penrose_dhex_alt3[PTM_NUM_POINTS_DHEX][3] = { }; -constexpr double penrose_graphene[PTM_NUM_POINTS_GRAPHENE][3] = { +const double penrose_graphene[PTM_NUM_POINTS_GRAPHENE][3] = { { 0, 0, 0 }, { 0, 2./63 + 4*sqrt(3.0)/63, 0 }, { sqrt(3.0)/63 + 2./21, -2*sqrt(3.0)/63 - 1./63, 0 }, @@ -248,7 +248,7 @@ constexpr double penrose_graphene[PTM_NUM_POINTS_GRAPHENE][3] = { { -4./21 - 2*sqrt(3.0)/63, 0, 0 }, }; -constexpr double penrose_graphene_alt1[PTM_NUM_POINTS_GRAPHENE][3] = { +const double penrose_graphene_alt1[PTM_NUM_POINTS_GRAPHENE][3] = { { 0, 0, 0 }, { -2./21 - sqrt(3.0)/63, 1./63 + 2*sqrt(3.0)/63, 0 }, { sqrt(3.0)/63 + 2./21, 1./63 + 2*sqrt(3.0)/63, 0 },