Line | |
---|
1 | /*!\file VerticesDofx
|
---|
2 | * \brief: establish degrees of freedom for all vertices: */
|
---|
3 |
|
---|
4 | #include "./VerticesDofx.h"
|
---|
5 |
|
---|
6 | #include "../../shared/shared.h"
|
---|
7 | #include "../../include/include.h"
|
---|
8 | #include "../../toolkits/toolkits.h"
|
---|
9 | #include "../../EnumDefinitions/EnumDefinitions.h"
|
---|
10 |
|
---|
11 | void VerticesDofx( Vertices* vertices, Parameters* parameters) {
|
---|
12 |
|
---|
13 | int i;
|
---|
14 |
|
---|
15 | int found=0;
|
---|
16 | extern int num_procs;
|
---|
17 | extern int my_rank;
|
---|
18 |
|
---|
19 | /*intermediary: */
|
---|
20 | int numberofvertices;
|
---|
21 |
|
---|
22 | /*figure out how many vertices we have: */
|
---|
23 | numberofvertices=vertices->NumberOfVertices();
|
---|
24 |
|
---|
25 | /*Ensure that only for each cpu, the partition border vertices only will be taken into account once
|
---|
26 | * across the cluster. To do so, we flag all the clone vertices: */
|
---|
27 | vertices->FlagClones(numberofvertices);
|
---|
28 |
|
---|
29 | /*Go through all vertices and distribute 1 dof at a time. When a vertex has already been distributed his dof on a cpu,
|
---|
30 | * all other cpus with the same vertex cannot distribute it anymore. Use clone field to be sure of that: */
|
---|
31 | vertices->DistributeDofs(numberofvertices,1); //only 1 dof per vertex.
|
---|
32 |
|
---|
33 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.