Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The function returns a type(triangular_grid)-structure, which is partly filled with information read from the GGD grid space having the identifier index equal to 1 (i.e., being the 'primary grid space'). The function takes as a parameter the AoS of all grid spaces.

Argument

Type

Intent

Description

eirene_gridtype(triangular_grid)resultPartly filled grid structure
grid_ggdtype(ids_generic_grid_dynamic_space), dimension(:)inSpace where the triangular grid is stored


subroutine arrange_material_properties (eirene_grid, subsets)

Get information about the MPs of grid edges from IDS and add it to the type(triangular_grid)-structure holding the grid description. This information is stored in GGD in the form of subsets uniting the edges with certain values of the MP.

Argument

Type

Intent

Description

eirene_gridtype(triangular_grid)inoutPartly filled grid structure
subsetstype(ids_generic_grid_dynamic_grid_subset), dimension(:)inSpace where the triangular grid is stored


subroutine put_eirene_grid_to_ids (eirene_grid, grid_ggd, nSpaces, eirene_space_index, grid_identifier, eirene_space_name, eirene_space_description)

Place a grid into a given  grid_ggd  structure by allocating the space AOS with a given number of grid spaces, putting a triangular grid given as a  type(triangular_grid)-structure into a desired element of the  space  AOS, and organizing the necessary grid subsets. This subroution cannot be used for putting a grid into the 'equilibrium' IDS (because the type of the structure used for storing the GGD grid in this IDS is peculiar). To put the grid into the 'equilibrium' IDS, use the function put_eirene_grid_to_equilibrium.

Argument

Type

Intent

Description

eirene_gridtype(triangular_grid)inThe grid to be saved
grid_ggdtype(ids_generic_grid_aos3_root)pointerPointer to the  grid_ggd  AOS element to hold the grid

nSpaces

integer

in

The dimension of  space  AOS to be allocated

eirene_space_index

integer

in

Index of the triangular grid space in  space  AOS

grid_identifier

type(ids_identifier_dynamic_aos3)

in

Grid identifier to be put to IDS

eirene_space_name

character(len=*)

in

Name assigned to the triangular grid space

eirene_space_description

character(len=*)

in

Verbose description of the triangular grid space


subroutine put_eirene_grid_to_equilibrium (eirene_grid, grid_ggd, nSpaces, eirene_space_index, grid_identifier, eirene_space_name, eirene_space_description)

Place a grid into a given  grid_ggd  structure by allocating the space AOS with a given number of grid spaces, putting a triangular grid given as a  type(triangular_grid)-structure into a desired element of the  space  AOS, and organizing the necessary grid subsets. This subroution can be used only for putting a grid into the 'equilibrium' IDS (because the type of the structure used for storing the GGD grid in this IDS is peculiar). To put the grid into another IDS, use the function put_eirene_grid_to_ids.

Argument

Type

Intent

Description

eirene_gridtype(triangular_grid)inThe grid to be saved
grid_ggdtype(ids_generic_grid_dynamic)pointerPointer to the  grid_ggd  AOS element to hold the grid

nSpaces

integer

in

The dimension of  space  AOS to be allocated

eirene_space_index

integer

in

Index of the triangular grid space in  space  AOS

grid_identifier

type(ids_identifier_dynamic_aos3)

in

Grid identifier to be put to IDS

eirene_space_name

character(len=*)

in

Name assigned to the triangular grid space

eirene_space_description

character(len=*)

in

Verbose description of the triangular grid space


function arrange_grid_spaces (grid, nSpaces, eirene_space_index, eirene_space_name, eirene_space_description) result (spaces)

Place a grid into a given  grid_ggd  structure by allocating the space AOS with a given number of grid spaces, putting a triangular grid given as a  type(triangular_grid)-structure into a desired element of the  space  AOS, and organizing the necessary grid subsets. This subroution can be used only for putting a grid into the 'equilibrium' IDS (because the type of the structure used for storing the GGD grid in this IDS is peculiar). To put the grid into another IDS, use the function put_eirene_grid_to_ids.

Argument

Type

Intent

Description

spacestype(ids_generic_grid_dynamic_space), dimension(:), pointerresultPointer to the allocated and filled 'space' AoS
gridtype(triangular_grid)inThe grid to be saved

nSpaces

integer

in

The dimension of  space  AOS to be allocated

eirene_space_index

integer

in

Index of the triangular grid space in  space  AOS

eirene_space_name

character(len=*)

in

Name assigned to the triangular grid space

eirene_space_description

character(len=*)

in

Verbose description of the triangular grid space


function arrange_triangular_grid_space (grid, space_name, space_description) result (space)

...

Create a GGD space and put the objects (nodes, edges, and cells) of an EIRENE triangular grid there. The information about grid objects is taken from a  type(triangular_grid)-structure.

Argument

Type

Intent

Description

subsetstype(ids_generic_grid_dynamic_grid_subset), pointer, dimension(:)resultIDS space structure holding the grid
eirene_spacetype(ids_generic_grid_dynamic_space)inthe GGD grid space to which the subsets are attached
eirene_space_indexintegerinthe index of this space in the 'space' AoS
gridtype(triangular_grid)inThe grid to be saved


subroutine  arrange_standard_2d_subset(subset, space, space_index, dimensionality, subset_id)

...

Arrange a subset for edges with a certain value of MP. The subset gets the name 'MPnnnn', where nnnn is the MP value.

Argument

Type

Intent

Description

subset

type(ids_generic_grid_dynamic_grid_subset)

pointer

Pointer to the  grid_subset  AOS element to hold the subset

space

type(ids_generic_grid_dynamic_space)

in

The  space  AOS element holding the triangular grid space

space_index

integer

in

Index of the triangular grid space in the  space  AOS

grid

type(triangular_grid)

in

The grid being saved

mat_property

integer

in

MP value

subset_id

integer

in

Integer identifier of the subset


subroutine  arrange_subset_for_averages (subset, subset_id)

...

Arrange a special subset for storing 2d averages.  The subset gets the name 'average'.

Argument

Type

Intent

Description

quantity

type(eirene_data)

inout

Structure to be deallocated


subroutine read_quantity_from_file (file_name, quantity, report, io_unit)

Arrange a special subset for storing 2d averages.  The subset gets the name 'average'.

Argument

Type

Intent

Description

file_namecharacter(len=*)inFile name

quantity

type(eirene_data)

out

Structure to be filled with data from the file

reportlogical, optional (=false)inTurns on info about each step
io_unitinteger, optional (=69)inI/O unit to be used


subroutine write_quantity_to_file (file_name, quantity, report, io_unit)

Arrange a special subset for storing 2d averages.  The subset gets the name 'average'.

Argument

Type

Intent

Description

file_namecharacter(len=*)inFile name

quantity

type(eirene_data)

in

Structure holding data to be saved

reportlogical, optional (=false)inTurns on info about each step
io_unitinteger, optional (=69)inI/O unit to be used


Module imas_data_io

The module contains??

Module constants

 ! The name of the subset to which the values at all triangles are attached
character(len=ids_string_length), parameter :: main_subset_label = 'pol3' 
 ! The name of the subset to which the average value is attached      
character(len=ids_string_length), parameter :: average_subset_label = 'average'

The constants ????

 Methods provided

  • put_quantity_to_ids

  • get_quantity_from_ids

  • get_quantity_from_equilibrium

  • put_quantity_for_single_subset

  • get_quantity_for_single_subset

  • get_quantity_for_single_subset_in_equilibrium


Module edge_profiles_io

?????

...