DOUG 0.2
Data Types | Functions/Subroutines | Variables

Aggregate_mod Module Reference

Module for defining datastructures needed for aggregation. More...

Data Types

type  Aggrs
 Aggregates type. More...
type  AggrInfo
 Aggregates info for parallel execution. More...

Functions/Subroutines

type(AggrsAggrs_New ()
 Create empty Aggrs structure.
type(AggrInfoAggrInfo_New ()
subroutine AggrInfo_Destroy (aggr)
subroutine Form_Aggr (aggr, nagrs, n, radius, nisolated, aggrnum)
subroutine Construct_Aggrs (aggr, nagr, n, radius, nisolated, num, starts, nodes)
subroutine Destruct_Aggrs (aggr)
subroutine Get_aggregate_nodes (cAggr, cAggrs, fAggrs, maxnodes, nodes, nnodes)
 Get coarse aggregate node numbers (which are also domain node numbers).
logical node_neighood_fits (innode, neighood, nneigs, nodes, stat, rowstart, colnrs)
logical marking_neighs_ok (layer, innode, neighood, stat, nneigs, nodes, rowstart, colnrs)
integer lets_colour (innode, neighood, minasize, maxasize, nneigs, nodes, stat, distance, rowstart, colnrs)
integer can_add_roundlayer (layer, ninnodes, inlayer, newlayer, roundernodes, neighood, minasize, maxasize, stat, distance, nneigs, nodes, rowstart, colnrs)
integer lets_colour3 (innode, neighood, minasize, maxasize, nneigs, nodes, stat, distance, rowstart, colnrs)
integer can_add_roundlayer3 (layer, ninnodes, inlayer, newlayer, roundernodes, neighood, minasize, maxasize, stat, distance, nneigs, nodes, rowstart, colnrs)
subroutine lets_colour2 (innode, neighood, minasize, maxasize, nneigs, nodes, stat, rowstart, colnrs, aggrnum)
recursive subroutine colouring_neighs2 (layer, innode, neighood, minasize, maxasize, stat, nneigs, nodes, rowstart, colnrs, aggrnum)
logical aggregate_to_neighbour (innode, dist, aggrnum, rowstart, colnrs)
subroutine color_print_aggrs (n, aggrnum, coarse_aggrnum, overwrite, owner)
subroutine cursor0 ()
subroutine cursor_up (n)
subroutine cursor_down (n)
subroutine cprint (c, col)
subroutine cprintall (c, col)

Variables

logical debu = .false.

Detailed Description

Module for defining datastructures needed for aggregation.


Function/Subroutine Documentation

logical Aggregate_mod::aggregate_to_neighbour ( integer,intent(in)  innode,
integer,intent(inout)  dist,
integer,dimension(:),intent(inout)  aggrnum,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs 
)

Definition at line 828 of file Aggregate_mod.F90.

References not, and result().

subroutine Aggregate_mod::AggrInfo_Destroy ( type(AggrInfo)  aggr)

Definition at line 75 of file Aggregate_mod.F90.

References Destruct_Aggrs().

Referenced by main_aggr().

type(AggrInfo) Aggregate_mod::AggrInfo_New ( )
type(Aggrs) Aggregate_mod::Aggrs_New ( )

Create empty Aggrs structure.

Definition at line 57 of file Aggregate_mod.F90.

Referenced by AggrInfo_New().

integer Aggregate_mod::can_add_roundlayer ( integer,intent(in)  layer,
integer,intent(inout)  ninnodes,
integer,dimension(:),pointer  inlayer,
integer,dimension(:),pointer  newlayer,
integer,dimension(:),pointer  roundernodes,
integer,intent(in)  neighood,
integer,intent(in)  minasize,
integer,intent(in)  maxasize,
integer,dimension(:),pointer  stat,
integer,dimension(:),pointer  distance,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs 
)

Definition at line 323 of file Aggregate_mod.F90.

References not, or(), and result().

Referenced by can_add_roundlayer3(), lets_colour(), and lets_colour3().

integer Aggregate_mod::can_add_roundlayer3 ( integer,intent(in)  layer,
integer,intent(inout)  ninnodes,
integer,dimension(:),pointer  inlayer,
integer,dimension(:),pointer  newlayer,
integer,dimension(:),pointer  roundernodes,
integer,intent(in)  neighood,
integer,intent(in)  minasize,
integer,intent(in)  maxasize,
integer,dimension(:),pointer  stat,
integer,dimension(:),pointer  distance,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs 
)

Definition at line 537 of file Aggregate_mod.F90.

References can_add_roundlayer(), not, or(), and result().

subroutine Aggregate_mod::color_print_aggrs ( integer,intent(in)  n,
integer,dimension(:),pointer  aggrnum,
integer,dimension(:),optional,pointer  coarse_aggrnum,
logical,optional  overwrite,
integer,dimension(:),optional,pointer  owner 
)

Definition at line 861 of file Aggregate_mod.F90.

References cprint(), cursor_up(), and globals::stream.

Referenced by SpMtx_arrangement::SpMtx_roughly_aggregate().

recursive subroutine Aggregate_mod::colouring_neighs2 ( integer,intent(in)  layer,
integer,intent(in)  innode,
integer,intent(in)  neighood,
integer,intent(in)  minasize,
integer,intent(in)  maxasize,
integer,dimension(:),pointer  stat,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs,
integer,dimension(:),optional,pointer  aggrnum 
)

Definition at line 762 of file Aggregate_mod.F90.

References globals::stream.

Referenced by lets_colour2().

subroutine Aggregate_mod::Construct_Aggrs ( type(Aggrs)  aggr,
integer,intent(in)  nagr,
integer,intent(in)  n,
integer,intent(in)  radius,
integer,intent(in)  nisolated,
integer,dimension(:),intent(in)  num,
integer,dimension(:),intent(in)  starts,
integer,dimension(:),intent(in)  nodes 
)

Definition at line 127 of file Aggregate_mod.F90.

Referenced by Form_Aggr().

subroutine Aggregate_mod::cprint ( character,intent(in)  c,
integer,intent(in)  col 
)

Definition at line 995 of file Aggregate_mod.F90.

References globals::stream.

Referenced by color_print_aggrs().

subroutine Aggregate_mod::cprintall ( character,intent(in)  c,
integer,intent(in)  col 
)

Definition at line 1015 of file Aggregate_mod.F90.

References globals::stream.

subroutine Aggregate_mod::cursor0 ( )

Definition at line 956 of file Aggregate_mod.F90.

References globals::stream.

subroutine Aggregate_mod::cursor_down ( integer,intent(in)  n)

Definition at line 979 of file Aggregate_mod.F90.

References globals::stream.

subroutine Aggregate_mod::cursor_up ( integer,intent(in)  n)

Definition at line 963 of file Aggregate_mod.F90.

References globals::stream.

Referenced by color_print_aggrs().

subroutine Aggregate_mod::Destruct_Aggrs ( type(Aggrs)  aggr)

Definition at line 149 of file Aggregate_mod.F90.

Referenced by AggrInfo_Destroy().

subroutine Aggregate_mod::Form_Aggr ( type(Aggrs)  aggr,
integer,intent(in)  nagrs,
integer,intent(in)  n,
integer,intent(in)  radius,
integer,intent(in)  nisolated,
integer,dimension(:),intent(in)  aggrnum 
)

Definition at line 82 of file Aggregate_mod.F90.

References Construct_Aggrs(), globals::sctls, and globals::stream.

subroutine Aggregate_mod::Get_aggregate_nodes ( integer,intent(in)  cAggr,
type(Aggrs),intent(in)  cAggrs,
type(Aggrs),intent(in)  fAggrs,
integer,intent(in)  maxnodes,
integer,dimension(:),intent(inout)  nodes,
integer,intent(out)  nnodes 
)

Get coarse aggregate node numbers (which are also domain node numbers).

Definition at line 162 of file Aggregate_mod.F90.

integer Aggregate_mod::lets_colour ( integer,intent(in)  innode,
integer,intent(in)  neighood,
integer,intent(in)  minasize,
integer,intent(in)  maxasize,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  stat,
integer,dimension(:),pointer  distance,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs 
)

Definition at line 287 of file Aggregate_mod.F90.

References can_add_roundlayer(), and result().

subroutine Aggregate_mod::lets_colour2 ( integer,intent(in)  innode,
integer,intent(in)  neighood,
integer,intent(in)  minasize,
integer,intent(in)  maxasize,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  stat,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs,
integer,dimension(:),optional,pointer  aggrnum 
)

Definition at line 745 of file Aggregate_mod.F90.

References colouring_neighs2().

integer Aggregate_mod::lets_colour3 ( integer,intent(in)  innode,
integer,intent(in)  neighood,
integer,intent(in)  minasize,
integer,intent(in)  maxasize,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  stat,
integer,dimension(:),pointer  distance,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs 
)

Definition at line 499 of file Aggregate_mod.F90.

References can_add_roundlayer(), and result().

logical Aggregate_mod::marking_neighs_ok ( integer,intent(in)  layer,
integer,intent(in)  innode,
integer,intent(in)  neighood,
integer,dimension(:),pointer  stat,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs 
)

Definition at line 213 of file Aggregate_mod.F90.

References not, and result().

Referenced by node_neighood_fits().

logical Aggregate_mod::node_neighood_fits ( integer,intent(in)  innode,
integer,intent(in)  neighood,
integer,intent(inout)  nneigs,
integer,dimension(:)  nodes,
integer,dimension(:),pointer  stat,
integer,dimension(:),pointer  rowstart,
integer,dimension(:),pointer  colnrs 
)

Definition at line 192 of file Aggregate_mod.F90.

References marking_neighs_ok(), and result().


Variable Documentation

logical Aggregate_mod::debu = .false.

Definition at line 53 of file Aggregate_mod.F90.