Ice Sheet System Model  4.18
Code documentation
NodesDofx.cpp
Go to the documentation of this file.
1 
5 #include "./NodesDofx.h"
6 
7 #include "../../shared/shared.h"
8 #include "../../toolkits/toolkits.h"
9 
10 void NodesDofx(Nodes* nodes, Parameters* parameters){
11 
12  /*Do we have any nodes for this analysis type? :*/
13  if(!nodes->NumberOfNodes()) return;
14 
15  /*Do we really need to update dof indexings*/
16  if(!nodes->RequiresDofReindexing()) return;
17 
18  if(VerboseModule()) _printf0_(" Renumbering degrees of freedom\n");
19 
20  /*Go through all nodes, and build degree of freedom lists. Each node gets a fixed number of dofs. When
21  *a node has already been distributed dofs on one cpu, all other cpus with the same node cannot distribute it
22  *anymore. Use clone field to be sure of that: */
23  nodes->DistributeDofs(GsetEnum);
24  nodes->DistributeDofs(FsetEnum);
25  nodes->DistributeDofs(SsetEnum);
26 }
Nodes
Declaration of Nodes class.
Definition: Nodes.h:19
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
Nodes::RequiresDofReindexing
bool RequiresDofReindexing(void)
Definition: Nodes.cpp:369
Parameters
Declaration of Parameters class.
Definition: Parameters.h:18
SsetEnum
@ SsetEnum
Definition: EnumDefinitions.h:1282
VerboseModule
bool VerboseModule(void)
Definition: Verbosity.cpp:23
Nodes::NumberOfNodes
int NumberOfNodes(void)
Definition: Nodes.cpp:354
NodesDofx
void NodesDofx(Nodes *nodes, Parameters *parameters)
Definition: NodesDofx.cpp:10
GsetEnum
@ GsetEnum
Definition: EnumDefinitions.h:1093
Nodes::DistributeDofs
void DistributeDofs(int SETENUM)
Definition: Nodes.cpp:139
NodesDofx.h
header file for degree of freedoms distribution routines.
FsetEnum
@ FsetEnum
Definition: EnumDefinitions.h:1075