Post on 26-Dec-2015
transcript
The sequence of graph transformation (P1)-(P2)-(P4) generating an initial mesh with two finite elements
GENERATION OF THE TOPOLOGY OF INITIAL MESH
Graph transformations generating structure of initial mesh
GENERATION OF THE STRUCTURE OF INITIAL MESH
Structure of exemplary hp finite element, together with the corresponding CP-graph representation.
Graph grammar production generating structure of initial mesh element
Graph grammar production identifying common edges for two adjacent initial mesh elements
GENERATION OF THE STRUCTURE OF INITIAL MESH
The sequence of graph transformation (P1)-(P2)-(P4) generating an initial mesh with two finite elements, followed by the sequence of graph transformations (PII)2-(PIC) generating the structure of the two initial mesh elements
GENERATION OF THE STRUCTURE OF INITIAL MESH
Control diagram for the generation of initial mesh
The structure of each initial mesh element can be generated in a way that is independent on its adjacent elements. The process of identification of edges can be executed in the concurrent way. These states of the control diagram on which the graph grammar productions can be executed in the concurrent way, are denoted by the <<concurrent>> stereotype. The additional synchronization points before the concurrent execution of PII and PIC have been added.
COARSE MESH PROBLEM SOLUTION
(a) Two finite element mesh. (b) Three examples of the first order shape function assigned to element vertices. (c) Three examples of the second order shape functions assigned to element edges. (c) Two examples of the second order shape functions assigned to element interiors
1. Two element local matrices resulting from the integration algorithm executed on the first and the second element independently. 2. Elimination of fully assembled degrees of freedom related to element interior and boundary edges. 3. Merging interface (common edge) problem contributions, followed by full elimination of the interface degrees of freedom.
COARSE MESH PROBLEM SOLUTIONPART 1: AGGREGATION
for i=1, ph+1 for j=1, pv+1 for m=1,nrdof for n=1,nrdof aggregate a(m,n) into element stiffness matrix end aggregate b(m) into element load vector end endend
Algorithm for aggregation of an element matrix and right hand side vector
We can distinguish aggregation of d.o.f. related to element interior, element edges and element vertices.
COARSE MESH PROBLEM SOLUTION PART 1: AGGREGATION
Graph representation of two finite element mesh
Graph representation of the mesh after execution of (P aggregate interior)2
Graph transformation enforcing the aggregation of degrees of freedom of element interior
COARSE MESH PROBLEM SOLUTION PART 1: AGGREGATION
Graph transformation aggregatingedges located on the boundary Graph transformation aggregating corner vertices
located on the boundary. The transformation is cloned for four directions representing NE, NW, SE, SW locations of graph vertices
COARSE MESH PROBLEM SOLUTION PART 1: AGGREGATION
Graph transformations aggregating degrees of freedom of the common edge
COARSE MESH PROBLEM SOLUTION PART 2: ELIMINATION
Graph transformation executing the elimination of internal degrees of freedom from i-th frontal matrix
Graph transformation executing the elimination of degrees of freedom related to boundary edges from i-th frontal matrix
Graph transformation executing the elimination of degrees of freedom related to corner vertices from i-th frontal matrix
COARSE MESH PROBLEM SOLUTION PART 2: ELIMINATION
Graph representation of the mesh after the elimination of degrees of freedom related to element interiors as well as to boundary edges and vertices
COARSE MESH PROBLEM SOLUTION PART 2: ELIMINATION
Graph transformation executing merging and elimination of degrees of freedom related to common edges
Graph transformation executing merging and elimination of degrees of freedom related to common vertices
Graph representation of the mesh after merging and elimination of degrees of freedom related to the common edge
COARSE MESH PROBLEM SOLUTION
Control diagram for coarse mesh solver algorithm
These states of the control diagram on which the graph grammar productions can be executed in the concurrent way, are denoted by the <<concurrent>> stereotype.
MESH h REFINEMENTS
Execution of the global h refinementon the two finite elements mesh
Graph transformation for breaking an element interior
Graph transformation for breaking an element edge
MESH h REFINEMENTS
An element edge can be broken only if two adjacent interiors have been already broken, or the edge is adjacent to the boundary.
Graph grammar productions changing an element edge symbol from F to E for edges that can be broken.
MESH h REFINEMENTS
Graph grammar productions counting number of same-size edges adjacent to the interior, changing an element interior symbol from J to J3 and J4.
Only element interiors denoted by J4 symbol can be broken.
An element interior can be broken only if all adjacent edges are of the same size as this interior, or smaller.
MESH h REFINEMENTS
Fine mesh obtained from the coarse mesh by executing the following sequence of graph grammar productions (P break interior)2-(P break edge)7-(Pwest)2-(Peast)2-(Pnorth)2-(Psouth)2-(PJI)8
MESH p REFINEMENTS
Graph transformation for performing local p refinement at graph vertex denoting an element interior
Graph transformation enforcing the minimum rule on the eastern, southern, western and northen edges
The minimum rule:The polynomial order of approximation of an element edge must be equal to the minimum of corresponding orders of approximation from the element interiors
MESH h REFINEMENTS
These states of the control diagram on which the graph grammar productions can be executed in the concurrent way, are denoted by the <<concurrent>> stereotype.
Control diagram for h refinement algorithm
MESH p REFINEMENTS
Control diagram for p refinement algorithm
These states of the control diagram on which the graph grammar productions can be executed in the concurrent way, are denoted by the <<concurrent>> stereotype.
FINE MESH PROBLEM SOLUTION
Control diagram for aggregation on fine mesh
Control diagram for elimination on fine mesh
These states of the control diagram on which the graph grammar productions can be executed in the concurrent way, are denoted by the <<concurrent>> stereotype.
SELECTION OF OPTIMAL MESH REFINEMENTS
The estimation of the relative error in the energy norm is computed for each active finite element
KphphK uu
,1,1,2
error
where i
ihp
ihphp euu denotes the coarse mesh solution
i
iph
iphph euu
1,21,21,2denotes the fine mesh solution
Graph grammar production responsible for computing relative error on element interior
The maximum relative error is computed
KK
errormaxmax_error
and all active elements with a relative error greater than 33% of the maximum relative error are selected for a refinement.
SELECTION OF OPTIMAL MESH REFINEMENTS
nrdof
rate ,11,2,1
,1,2
K
phK
phph wuuu
w
We choose the optimal refinement for each selected element, by computing the error decrease rates
denotes the fine mesh solution 1,2 phuhpu denotes the coarse mesh solution
w denotes the projection-based interpolant of the considered refinement strategy
nrdof denotes an increase in the number of degrees of freedom on the coarse mesh element resulting from the execution of the analysed mesh refinement strategy
Graph grammar production responsible for evaluation of a given refinement strategy w
Graph grammar production responsible for selection of the optimal refinement
We consider different possible refinement strategies w for each element with high relative error estimation
SELECTION OF OPTIMAL MESH REFINEMENTS
Graph grammar production attributing interior vertices intended for h refinement
Graph grammar productions enforcing 1-irregularity mesh rule by the propagation of virtual refinements
SELECTION OF OPTIMAL MESH REFINEMENTS
Control diagram for algorithm of selection and execution of optimal refinements
CONTROL DIAGRAMS SHARED MEMORY PARALLEL MACHINE
Control diagrams introduced so far in this presentation assume shared memory parallel machine.
In other words it is assumed that the computational mesh as well as all frontal matrices are available for all processors.
EXTENSION TO DISTRIBUTED MEMORY ARCHITECTURE
We need to extend the model for the distributed memory parallel machine
We agglomerate atomic tasks (graph grammar productions) into tasks working on the level of initial mesh elements.
In other words, each processor will keep several tasks – a group of initial mesh elements.
There is a need to partition the graph, to introduce the communication channels, rewrite control diagrams on the level of tasks, add send/receive operations on control diagrams as well as utilize load balancing algorithms for task agglomeration.
EXTENSION TO DISTRIBUTED MEMORYINITIAL MESH GENERATION
The two initial element mesh genereted for two tasks
Now, each task generates a topology of the entire mesh, and the structure of a single initial mesh element, assigned to the task
EXTENSION TO DISTRIBUTED MEMORYINITIAL MESH GENERATION
Graph grammar productions for partitioning / merging of graph representation of the mesh into multiplegraphs related to initial mesh elements
EXTENSION TO DISTRIBUTED MEMORYCOARSE MESH PROBLEM SOLUTION
Control diagram describing the coarse mesh problem solution from the point of view of a single task.
Some additional communications are added, where contributions to frontal matrices are exchanged between tasks assigned to adjacent initial mesh elements.
EXTENSION TO DISTRIBUTED MEMORYMESH h REFINEMENTS
Control diagrams for h refinement executed on the level of a single task
EXTENSION TO DISTRIBUTED MEMORYMESH p REFINEMENTS
Control diagram for the execution of p refinements on the level of a single task
EXTENSION TO DISTRIBUTED MEMORYFINE MESH PROBLEM SOLUTION
Control diagrams for the aggreation and elimination on fine mesh over a single task
EXTENSION TO DISTRIBUTED MEMORYSELECTION OF OPTIMAL REFINEMENTS
Control diagram for the selectionof the optimal refinementsover a single task
ASSIGNING OF TASKS INTO PROCESSORS
The computational cost for a single task is defined as
K
3311)(nal_costcomputatio K
vKh ppiel
Graph grammar production estimating the computational cost of integration or elimination for active elements interiors
Graph grammar production propagating the estimation of computational cost along the refinement tree
Graph grammar production attributing initial mesh element by estimating its load
Control diagram for the first processor, for the load balancing and mesh partitioning
Control diagram for all but the first processor, for the load balancing and mesh partitioning
ASSIGNING OF TASKS INTO PROCESSORS
Control diagram for send/receive of graphs from source/to receiver processors
ASSIGNING OF TASKS INTO PROCESSORS