Reference Guide
2.5.0
|
Public Member Functions | |
def | __init__ (self, invoke, unique_psy_vars) |
def | declarations (self, parent) |
def | initialise (self, parent) |
def | intergrid_kernels (self) |
Holds all mesh-related information (including colour maps if required). If there are no inter-grid kernels then there is only one mesh object required (when calling kernels with operates_on==domain, colouring, doing distributed memory or querying the reference element). However, kernels performing inter-grid operations require multiple mesh objects as well as mesh maps and other quantities. There are two types of inter-grid operation; the first is "prolongation" where a field on a coarse mesh is mapped onto a fine mesh. The second is "restriction" where a field on a fine mesh is mapped onto a coarse mesh. :param invoke: the Invoke for which to extract information on all \ required inter-grid operations. :type invoke: :py:class:`psyclone.dynamo0p3.LFRicInvoke` :param unique_psy_vars: list of arguments to the PSy-layer routine. :type unique_psy_vars: list of \ :py:class:`psyclone.dynamo0p3.DynKernelArgument` objects.
Definition at line 2028 of file dynamo0p3.py.
def psyclone.dynamo0p3.DynMeshes.declarations | ( | self, | |
parent | |||
) |
Declare variables specific to mesh objects. :param parent: the parent node to which to add the declarations :type parent: :py:class:`psyclone.f2pygen.BaseGen`
Definition at line 2243 of file dynamo0p3.py.
References psyclone.dynamo0p3.DynMeshes._colourmap_init(), psyclone.dynamo0p3.DynMeshes._mesh_tag_names, psyclone.dynamo0p3.DynMeshes._needs_colourmap, psyclone.dynamo0p3.DynMeshes._needs_colourmap_halo, psyclone.domain.lfric.lfric_invoke.LFRicInvoke._schedule, psyclone.dynamo0p3.DynMeshes._schedule, psyclone.gocean1p0.GOInvoke._schedule, psyclone.nemo.NemoInvoke._schedule, psyclone.psyGen.Invoke._schedule, psyclone.psyir.nodes.omp_clauses.OMPScheduleClause._schedule, psyclone.domain.lfric.lfric_collection.LFRicCollection._symbol_table, psyclone.dynamo0p3.DynMeshes._symbol_table, psyclone.dynamo0p3.HaloDepth._symbol_table, psyclone.psyGen.HaloExchange._symbol_table, psyclone.psyir.backend.sympy_writer.SymPyWriter._symbol_table, psyclone.psyir.nodes.scoping_node.ScopingNode._symbol_table, and psyclone.dynamo0p3.DynMeshes.intergrid_kernels().
def psyclone.dynamo0p3.DynMeshes.initialise | ( | self, | |
parent | |||
) |
Initialise parameters specific to inter-grid kernels. :param parent: the parent node to which to add the initialisations. :type parent: :py:class:`psyclone.f2pygen.BaseGen`
Definition at line 2357 of file dynamo0p3.py.
References psyclone.dynamo0p3.DynCellIterators._first_var, psyclone.dynamo0p3.DynMeshes._first_var, psyclone.dynamo0p3.DynMeshes._mesh_tag_names, psyclone.dynamo0p3.DynMeshes._needs_colourmap, psyclone.dynamo0p3.DynMeshes._needs_colourmap_halo, psyclone.domain.lfric.lfric_invoke.LFRicInvoke._schedule, psyclone.dynamo0p3.DynMeshes._schedule, psyclone.gocean1p0.GOInvoke._schedule, psyclone.nemo.NemoInvoke._schedule, psyclone.psyGen.Invoke._schedule, psyclone.psyir.nodes.omp_clauses.OMPScheduleClause._schedule, psyclone.domain.lfric.lfric_collection.LFRicCollection._symbol_table, psyclone.dynamo0p3.DynMeshes._symbol_table, psyclone.dynamo0p3.HaloDepth._symbol_table, psyclone.psyGen.HaloExchange._symbol_table, psyclone.psyir.backend.sympy_writer.SymPyWriter._symbol_table, psyclone.psyir.nodes.scoping_node.ScopingNode._symbol_table, and psyclone.dynamo0p3.DynMeshes.intergrid_kernels().
def psyclone.dynamo0p3.DynMeshes.intergrid_kernels | ( | self | ) |
:returns: A list of objects describing the intergrid kernels used in this invoke. :rtype: list[:py:class:`psyclone.dynamo3p0.DynInterGrid`]
Definition at line 2525 of file dynamo0p3.py.
References psyclone.domain.lfric.lfric_invoke.LFRicInvoke._schedule, psyclone.dynamo0p3.DynMeshes._schedule, psyclone.gocean1p0.GOInvoke._schedule, psyclone.nemo.NemoInvoke._schedule, psyclone.psyGen.Invoke._schedule, and psyclone.psyir.nodes.omp_clauses.OMPScheduleClause._schedule.