FrontISTR  5.7.1
Large-scale structural analysis program with finit element method
fstr_rmerge_util.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 
10 #include <stdio.h>
11 #include "hecmw_struct.h"
12 #include "hecmw_result.h"
13 
18 typedef struct {
19  int nnode_gid;
20  int nelem_gid;
21  int* node_gid;
22  int* elem_gid;
25 
30 typedef struct {
31  int global;
32  int local;
33  int area;
34 } fstr_gl_rec;
35 
40 typedef struct {
43  int node_n;
44  int elem_n;
45 } fstr_glt;
46 
50 void fstr_set_log_fp(FILE *log_fp);
51 
55 void fstr_out_log(const char* fmt, ...);
56 
60 struct hecmwST_local_mesh** fstr_get_all_local_mesh(char* name_ID, int nrank,
61  int* area_n, int* refine);
62 
66 void fstr_free_mesh(struct hecmwST_local_mesh** mesh, int area_n);
67 
71 int fstr_get_step_n(char* name_ID, int nrank);
72 
76 fstr_res_info** fstr_get_all_result(char* name_ID, int step, int area_n,
77  int refine, int nrank);
78 
83  int refine);
84 
88 void fstr_free_result(fstr_res_info** res, int area_n);
89 
93 fstr_glt* fstr_create_glt(struct hecmwST_local_mesh** mesh, int area_n);
94 
98 void fstr_free_glt(fstr_glt* glt);
99 
104 
108 void fstr_free_glmesh(struct hecmwST_local_mesh* mp);
struct hecmwST_local_mesh * fstr_create_glmesh(fstr_glt *glt)
Create a single region mesh.
void fstr_set_log_fp(FILE *log_fp)
Set file pointer for log output.
fstr_glt * fstr_create_glt(struct hecmwST_local_mesh **mesh, int area_n)
Create table for global ID, local ID and belonging area records fstr_glt.
void fstr_free_glt(fstr_glt *glt)
Delete fstr_glt.
fstr_res_info ** fstr_get_all_result(char *name_ID, int step, int area_n, int refine, int nrank)
Read all area data of step.
struct hecmwST_local_mesh ** fstr_get_all_local_mesh(char *name_ID, int nrank, int *area_n, int *refine)
Read all distributed meshes.
void fstr_out_log(const char *fmt,...)
Log output.
int fstr_get_step_n(char *name_ID, int nrank)
Check the number of steps (check for the existence of files)
struct hecmwST_result_data * fstr_all_result(fstr_glt *glt, fstr_res_info **res, int refine)
Combine data in all areas of the step.
void fstr_free_result(fstr_res_info **res, int area_n)
void fstr_free_glmesh(struct hecmwST_local_mesh *mp)
Delete a single region mesh.
void fstr_free_mesh(struct hecmwST_local_mesh **mesh, int area_n)
Delete mesh.
Global ID, local ID and belonging area record.
Table for global ID, local ID and belonging area records.
fstr_gl_rec * nrec
fstr_gl_rec * erec
Utility for reading and processing results computed in parallel.
struct hecmwST_result_data * result