Ignore:
Timestamp:
Apr 9, 2012, 10:02:28 PM (13 years ago)
Author:
steve
Message:

Working on passing data to flux computation using edge structures

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/anuga_core/source/anuga/shallow_water/sw_domain.h

    r8376 r8386  
    99
    1010
    11 // structure
     11// structures
    1212struct domain {
    1313    // Changing these don't change the data in python object
     
    5959};
    6060
     61
     62struct edge {
     63
     64    // mid point values
     65    double w;
     66    double h;
     67    double z;
     68    double uh;
     69    double vh;
     70    double u;
     71    double v;
     72
     73    // vertex values
     74    double w1;
     75    double h1;
     76    double z1;
     77    double uh1;
     78    double vh1;
     79    double u1;
     80    double v1;
     81
     82    double w2;
     83    double h2;
     84    double z2;
     85    double uh2;
     86    double vh2;
     87    double u2;
     88    double v2;
     89   
     90};
     91
     92
     93void get_edge_data(struct edge *E, struct domain *D, int k, int i) {
     94    // fill edge data (conserved and bed) for ith edge of kth triangle
     95
     96    int k3i, k3i1, k3i2;
     97
     98    k3i = 3 * k + i;
     99    k3i1 = 3 * k + (i + 1) % 3;
     100    k3i2 = 3 * k + (i + 2) % 3;
     101
     102    E->w = D->stage_edge_values[k3i];
     103    E->z = D->bed_edge_values[k3i];
     104    E->h = E->w - E->z;
     105    E->uh = D->xmom_edge_values[k3i];
     106    E->vh = D->ymom_edge_values[k3i];
     107
     108    E->w1 = D->stage_vertex_values[k3i1];
     109    E->z1 = D->bed_vertex_values[k3i1];
     110    E->h1 = E->w1 - E->z1;
     111    E->uh1 = D->xmom_edge_values[k3i1];
     112    E->vh1 = D->ymom_edge_values[k3i1];
     113
     114
     115    E->w2 = D->stage_vertex_values[k3i2];
     116    E->z2 = D->bed_vertex_values[k3i2];
     117    E->h2 = E->w2 - E->z2;
     118    E->uh2 = D->xmom_edge_values[k3i2];
     119    E->vh2 = D->ymom_edge_values[k3i2];
     120
     121}
    61122
    62123
Note: See TracChangeset for help on using the changeset viewer.