| 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.