Skip to content

Commit

Permalink
adds analytic metrics for WMLES examples
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Park authored and Mike Park committed Sep 8, 2022
1 parent 6388bea commit d579cf6
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/ref_acceptance.c
Expand Up @@ -597,6 +597,11 @@ int main(int argc, char *argv[]) {
printf(" -ugawg circle metric\n");
RSS(ref_metric_circle_node(ref_grid_node(ref_grid)), "side");
}
if (strcmp(argv[2], "circle") == 0) {
metric_recognized = REF_TRUE;
printf(" -ugawg circle metric\n");
RSS(ref_metric_circle_node(ref_grid_node(ref_grid)), "side");
}
RAS(metric_recognized, "did not recognize metric field name");
printf("%s metric exported\n", argv[4]);
RSS(ref_gather_metric(ref_grid, argv[4]), "in");
Expand Down
28 changes: 28 additions & 0 deletions src/ref_metric.c
Expand Up @@ -132,6 +132,34 @@ REF_FCN REF_STATUS ref_metric_twod_analytic_node(REF_NODE ref_node,
REF_BOOL metric_recognized = REF_FALSE;

each_ref_node_valid_node(ref_node, node) {
if (strcmp(version, "larsson1") == 0) {
REF_DBL c1 = 200.0;
REF_DBL c2 = 200.0;
REF_DBL m11;
REF_DBL m22;
metric_recognized = REF_TRUE;
x = ref_node_xyz(ref_node, 0, node);
y = ref_node_xyz(ref_node, 1, node);
m11 =
400.0 + c1 * sin(2.0 * ref_math_pi * x) * sin(2.0 * ref_math_pi * y);
m22 =
400.0 - c2 * sin(2.0 * ref_math_pi * x) * sin(2.0 * ref_math_pi * y);
RSS(ref_node_metric_form(ref_node, node, m11, 0, 0, m22, 0, 1.0),
"set node met");
continue;
}
if (strcmp(version, "larsson2") == 0) {
REF_DBL m11;
REF_DBL m22;
metric_recognized = REF_TRUE;
x = ref_node_xyz(ref_node, 0, node);
y = ref_node_xyz(ref_node, 1, node);
m11 = pow(0.05 + 0.05 * y, -2);
m22 = pow(0.04 + 0.12 * y, -2);
RSS(ref_node_metric_form(ref_node, node, m11, 0, 0, m22, 0, 1.0),
"set node met");
continue;
}
if (strcmp(version, "iso01") == 0) {
metric_recognized = REF_TRUE;
h = 0.1;
Expand Down

0 comments on commit d579cf6

Please sign in to comment.