Nek5000
SEM for Incompressible NS
|
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "c99.h"
#include "name.h"
#include "fail.h"
#include "types.h"
#include "mem.h"
#include "comm.h"
#include "crystal.h"
#include "sort.h"
#include "sarray_sort.h"
#include "sarray_transfer.h"
Go to the source code of this file.
Macros | |
#define | ccrystal_free PREFIXED_NAME(crystal_free) |
#define | fcrystal_setup FORTRAN_NAME(crystal_setup ,CRYSTAL_SETUP ) |
#define | fcrystal_ituple_sort FORTRAN_NAME(crystal_ituple_sort ,CRYSTAL_ITUPLE_SORT ) |
#define | fcrystal_tuple_sort FORTRAN_NAME(crystal_tuple_sort ,CRYSTAL_TUPLE_SORT ) |
#define | fcrystal_ituple_transfer FORTRAN_NAME(crystal_ituple_transfer,CRYSTAL_ITUPLE_TRANSFER) |
#define | fcrystal_tuple_transfer FORTRAN_NAME(crystal_tuple_transfer ,CRYSTAL_TUPLE_TRANSFER ) |
#define | fcrystal_free FORTRAN_NAME(crystal_free ,CRYSTAL_FREE ) |
#define | CHECK_HANDLE(func) |
Functions | |
void | fcrystal_setup (sint *handle, const MPI_Fint *comm, const sint *np) |
void | fcrystal_ituple_sort (const sint *handle, sint A[], const sint *m, const sint *n, const sint keys[], const sint *nkey) |
void | fcrystal_tuple_sort (const sint *const handle, const sint *const n, sint Ai[], const sint *const mi, slong Al[], const sint *const ml, double Ad[], const sint *const md, const sint keys[], const sint *const nkey) |
void | fcrystal_ituple_transfer (const sint *handle, sint A[], const sint *m, sint *n, const sint *nmax, const sint *proc_key) |
void | fcrystal_tuple_transfer (const sint *const handle, sint *const n, const sint *const max, sint Ai[], const sint *const mi, slong Al[], const sint *const ml, double Ad[], const sint *const md, const sint *const proc_key) |
void | fcrystal_free (sint *handle) |
Variables | |
static struct crystal ** | handle_array = 0 |
static int | handle_max = 0 |
static int | handle_n = 0 |
#define ccrystal_free PREFIXED_NAME(crystal_free) |
Definition at line 68 of file fcrystal.c.
Referenced by fcrystal_free().
#define CHECK_HANDLE | ( | func | ) |
Definition at line 100 of file fcrystal.c.
Referenced by fcrystal_free(), fcrystal_ituple_sort(), fcrystal_ituple_transfer(), fcrystal_tuple_sort(), and fcrystal_tuple_transfer().
#define fcrystal_free FORTRAN_NAME(crystal_free ,CRYSTAL_FREE ) |
Definition at line 80 of file fcrystal.c.
#define fcrystal_ituple_sort FORTRAN_NAME(crystal_ituple_sort ,CRYSTAL_ITUPLE_SORT ) |
Definition at line 72 of file fcrystal.c.
#define fcrystal_ituple_transfer FORTRAN_NAME(crystal_ituple_transfer,CRYSTAL_ITUPLE_TRANSFER) |
Definition at line 76 of file fcrystal.c.
#define fcrystal_setup FORTRAN_NAME(crystal_setup ,CRYSTAL_SETUP ) |
Definition at line 70 of file fcrystal.c.
#define fcrystal_tuple_sort FORTRAN_NAME(crystal_tuple_sort ,CRYSTAL_TUPLE_SORT ) |
Definition at line 74 of file fcrystal.c.
#define fcrystal_tuple_transfer FORTRAN_NAME(crystal_tuple_transfer ,CRYSTAL_TUPLE_TRANSFER ) |
Definition at line 78 of file fcrystal.c.
void fcrystal_free | ( | sint * | handle | ) |
Definition at line 183 of file fcrystal.c.
References ccrystal_free, and CHECK_HANDLE.
void fcrystal_ituple_sort | ( | const sint * | handle, |
sint | A[], | ||
const sint * | m, | ||
const sint * | n, | ||
const sint | keys[], | ||
const sint * | nkey | ||
) |
Definition at line 105 of file fcrystal.c.
References ALIGNOF, CHECK_HANDLE, crystal::data, sarray_permute_buf_, sint, sortp(), and uint.
void fcrystal_ituple_transfer | ( | const sint * | handle, |
sint | A[], | ||
const sint * | m, | ||
sint * | n, | ||
const sint * | nmax, | ||
const sint * | proc_key | ||
) |
Definition at line 150 of file fcrystal.c.
References A, CHECK_HANDLE, array::max, n, array::n, array::ptr, sarray_transfer_many, sint, and uint.
Definition at line 87 of file fcrystal.c.
References buffer_init, crystal::comm, comm_init_check, crystal::data, handle_max, handle_n, p, tmalloc, trealloc, and crystal::work.
void fcrystal_tuple_sort | ( | const sint *const | handle, |
const sint *const | n, | ||
sint | Ai[], | ||
const sint *const | mi, | ||
slong | Al[], | ||
const sint *const | ml, | ||
double | Ad[], | ||
const sint *const | md, | ||
const sint | keys[], | ||
const sint *const | nkey | ||
) |
Definition at line 122 of file fcrystal.c.
References ALIGNOF, CHECK_HANDLE, crystal::data, fail(), sarray_permute_buf_, sint, slong, sortp(), sortp_long, uint, and ulong.
void fcrystal_tuple_transfer | ( | const sint *const | handle, |
sint *const | n, | ||
const sint *const | max, | ||
sint | Ai[], | ||
const sint *const | mi, | ||
slong | Al[], | ||
const sint *const | ml, | ||
double | Ad[], | ||
const sint *const | md, | ||
const sint *const | proc_key | ||
) |
Definition at line 162 of file fcrystal.c.
References Ai, CHECK_HANDLE, array::max, n, array::n, array::ptr, sarray_transfer_many, sint, slong, and uint.
|
static |
Definition at line 83 of file fcrystal.c.
|
static |
Definition at line 84 of file fcrystal.c.
Referenced by fcrystal_setup().
|
static |
Definition at line 85 of file fcrystal.c.
Referenced by fcrystal_setup().