FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_io_nastran.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <errno.h>
#include "hecmw_util.h"
#include "hecmw_io_mesh.h"
#include "hecmw_io_struct.h"
#include "hecmw_struct.h"
#include "hecmw_config.h"
#include "hecmw_system.h"
#include "hecmw_dist.h"
#include "hecmw_dist_print.h"
#include "hecmw_common.h"
#include "hecmw_path.h"
#include "hecmw_conn_conv.h"
#include "hecmw_io_nastran.h"
Include dependency graph for hecmw_io_nastran.c:

Go to the source code of this file.

Data Structures

struct  ST_IFF_NODE
 
struct  ST_IFF_BULK
 
struct  ST_IFF_BULK_LIST
 
struct  ST_FILE_STACK
 

Macros

#define NULL   ((void*)0)
 
#define FIELD_BUFFER_SIZE   16 + 1 /* JP-3 */
 
#define FIELD_NUMBER   10 /* JP-4 */
 
#define LINE_BUFFER_SIZE   (FIELD_BUFFER_SIZE * FIELD_NUMBER) /* JP-5 */
 
#define FIRST_FIELD_COLUMN   8 /* JP-6 */
 
#define LAST_FIELD_COLUMN   8 /* JP-7 */
 
#define SMALL_FIELD_COLUMN   8 /* JP-8 */
 
#define LARGE_FIELD_COLUMN   16 /* JP-9 */
 
#define LARGE_FIELD_LINE_FIELD_NUMBER   6 /* JP-10 */
 
#define IFF_FIELD_NUMBER   FIELD_NUMBER
 
#define IFF_FIELD_SIZE   16 /* JP-12 */
 
#define IFF_FIELD_BUFFER_SIZE   (IFF_FIELD_SIZE + 1) /* JP-13 */
 
#define IFF_SIZE   (IFF_FIELD_BUFFER_SIZE * IFF_FIELD_NUMBER) /* JP-14 */
 
#define IFF_LAST_FIELD   9 /* JP-15 */
 
#define FILE_STACK_SIZE   10
 
#define CREATE_LIST_CODE(type)
 
#define REMOVE_CR_MAX_LINE   256
 
#define CTRIAX6_EGRP_NAME_HEADER   "CTRIAX6-"
 
#define read_iff_error   -1
 
#define read_iff_comment   0
 
#define read_iff_success   1
 
#define read_iff_eof   2
 
#define GPLP_PARAM_LIST_SIZE   50
 
#define GENERATE_CODE(name)   static int iff_bulk_parse_##name(iff_bulk_t* bulk);
 
#define GENERATE_CODE(name)   BULK_TYPE_##name,
 
#define BULK_TYPE_NUMBER   BULK_TYPE_UNKNOWN
 
#define GENERATE_CODE(name)   #name,
 
#define GENERATE_CODE(name)
 
#define cms_malloc(p, size)
 
#define BULK_PARAM_NUMBER   12
 
#define item_n   3
 
#define BULK_PARAM_NUMBER   11
 
#define item_n   3
 
#define BULK_PARAM_NUMBER   6
 
#define BULK_PARAM_NUMBER   11
 
#define BULK_PARAM_NUMBER   7
 
#define G_NUMBER   2
 
#define BULK_PARAM_NUMBER   (2 + G_NUMBER)
 
#define BULK_PARAM_NUMBER   (2 + 3 + 2 + 3)
 
#define G_NUMBER   6
 
#define BULK_PARAM_NUMBER   (2 + G_NUMBER + 2 + 3)
 
#define G_NUMBER   4
 
#define T_NUMBER   4
 
#define BULK_PARAM_NUMBER   (2 + G_NUMBER + 2 + T_NUMBER)
 
#define G_NUMBER   8
 
#define T_NUMBER   4
 
#define BULK_PARAM_NUMBER   (2 + G_NUMBER + T_NUMBER + 2)
 
#define G_LIST_SIZE   100
 
#define BULK_PARAM_LIST_SIZE   (2 + G_LIST_SIZE)
 
#define G_NUMBER   6
 
#define BULK_PARAM_NUMBER   (2 + G_NUMBER + 1)
 
#define BULK_PARAM_NUMBER   8
 
#define TRYAL_NUMBER   20
 

Typedefs

typedef struct ST_IFF_NODE iff_node_t
 
typedef struct ST_IFF_BULK iff_bulk_t
 
typedef struct ST_IFF_BULK_LIST iff_bulk_list_t
 
typedef enum ENUM_FIELD_FORMAT field_format_t
 
typedef struct ST_FILE_STACK file_stack_t
 

Enumerations

enum  ENUM_FIELD_FORMAT {
  fft_none, fft_comment, fft_free_field_format, fft_small_field_format,
  fft_large_field_format
}
 

Macro Definition Documentation

◆ BULK_PARAM_LIST_SIZE

#define BULK_PARAM_LIST_SIZE   (2 + G_LIST_SIZE)

◆ BULK_PARAM_NUMBER [1/12]

#define BULK_PARAM_NUMBER   12

◆ BULK_PARAM_NUMBER [2/12]

#define BULK_PARAM_NUMBER   11

◆ BULK_PARAM_NUMBER [3/12]

#define BULK_PARAM_NUMBER   6

◆ BULK_PARAM_NUMBER [4/12]

#define BULK_PARAM_NUMBER   11

◆ BULK_PARAM_NUMBER [5/12]

#define BULK_PARAM_NUMBER   7

◆ BULK_PARAM_NUMBER [6/12]

#define BULK_PARAM_NUMBER   (2 + G_NUMBER)

◆ BULK_PARAM_NUMBER [7/12]

#define BULK_PARAM_NUMBER   (2 + 3 + 2 + 3)

◆ BULK_PARAM_NUMBER [8/12]

#define BULK_PARAM_NUMBER   (2 + G_NUMBER + 2 + 3)

◆ BULK_PARAM_NUMBER [9/12]

#define BULK_PARAM_NUMBER   (2 + G_NUMBER + 2 + T_NUMBER)

◆ BULK_PARAM_NUMBER [10/12]

#define BULK_PARAM_NUMBER   (2 + G_NUMBER + T_NUMBER + 2)

◆ BULK_PARAM_NUMBER [11/12]

#define BULK_PARAM_NUMBER   (2 + G_NUMBER + 1)

◆ BULK_PARAM_NUMBER [12/12]

#define BULK_PARAM_NUMBER   8

◆ BULK_TYPE_NUMBER

#define BULK_TYPE_NUMBER   BULK_TYPE_UNKNOWN

◆ cms_malloc

#define cms_malloc (   p,
  size 
)
Value:
{ \
(p) = HECMW_malloc((size)); \
if ((p) == NULL) { \
HECMW_set_error(errno, ""); \
return NULL; \
} \
}

◆ CREATE_LIST_CODE

#define CREATE_LIST_CODE (   type)

Definition at line 369 of file hecmw_io_nastran.c.

◆ CTRIAX6_EGRP_NAME_HEADER

#define CTRIAX6_EGRP_NAME_HEADER   "CTRIAX6-"

Definition at line 649 of file hecmw_io_nastran.c.

◆ FIELD_BUFFER_SIZE

#define FIELD_BUFFER_SIZE   16 + 1 /* JP-3 */

Definition at line 35 of file hecmw_io_nastran.c.

◆ FIELD_NUMBER

#define FIELD_NUMBER   10 /* JP-4 */

Definition at line 36 of file hecmw_io_nastran.c.

◆ FILE_STACK_SIZE

#define FILE_STACK_SIZE   10

Definition at line 94 of file hecmw_io_nastran.c.

◆ FIRST_FIELD_COLUMN

#define FIRST_FIELD_COLUMN   8 /* JP-6 */

Definition at line 39 of file hecmw_io_nastran.c.

◆ G_LIST_SIZE

#define G_LIST_SIZE   100

◆ G_NUMBER [1/5]

#define G_NUMBER   2

◆ G_NUMBER [2/5]

#define G_NUMBER   6

◆ G_NUMBER [3/5]

#define G_NUMBER   4

◆ G_NUMBER [4/5]

#define G_NUMBER   8

◆ G_NUMBER [5/5]

#define G_NUMBER   6

◆ GENERATE_CODE [1/4]

#define GENERATE_CODE (   name)    static int iff_bulk_parse_##name(iff_bulk_t* bulk);

◆ GENERATE_CODE [2/4]

#define GENERATE_CODE (   name)    BULK_TYPE_##name,

◆ GENERATE_CODE [3/4]

#define GENERATE_CODE (   name)    #name,

◆ GENERATE_CODE [4/4]

#define GENERATE_CODE (   name)
Value:
case BULK_TYPE_##name: \
return iff_bulk_parse_##name(bulk);

◆ GPLP_PARAM_LIST_SIZE

#define GPLP_PARAM_LIST_SIZE   50

◆ IFF_FIELD_BUFFER_SIZE

#define IFF_FIELD_BUFFER_SIZE   (IFF_FIELD_SIZE + 1) /* JP-13 */

Definition at line 49 of file hecmw_io_nastran.c.

◆ IFF_FIELD_NUMBER

#define IFF_FIELD_NUMBER   FIELD_NUMBER

Definition at line 47 of file hecmw_io_nastran.c.

◆ IFF_FIELD_SIZE

#define IFF_FIELD_SIZE   16 /* JP-12 */

Definition at line 48 of file hecmw_io_nastran.c.

◆ IFF_LAST_FIELD

#define IFF_LAST_FIELD   9 /* JP-15 */

Definition at line 52 of file hecmw_io_nastran.c.

◆ IFF_SIZE

#define IFF_SIZE   (IFF_FIELD_BUFFER_SIZE * IFF_FIELD_NUMBER) /* JP-14 */

Definition at line 50 of file hecmw_io_nastran.c.

◆ item_n [1/2]

#define item_n   3

◆ item_n [2/2]

#define item_n   3

◆ LARGE_FIELD_COLUMN

#define LARGE_FIELD_COLUMN   16 /* JP-9 */

Definition at line 42 of file hecmw_io_nastran.c.

◆ LARGE_FIELD_LINE_FIELD_NUMBER

#define LARGE_FIELD_LINE_FIELD_NUMBER   6 /* JP-10 */

Definition at line 43 of file hecmw_io_nastran.c.

◆ LAST_FIELD_COLUMN

#define LAST_FIELD_COLUMN   8 /* JP-7 */

Definition at line 40 of file hecmw_io_nastran.c.

◆ LINE_BUFFER_SIZE

#define LINE_BUFFER_SIZE   (FIELD_BUFFER_SIZE * FIELD_NUMBER) /* JP-5 */

Definition at line 37 of file hecmw_io_nastran.c.

◆ NULL

#define NULL   ((void*)0)

Definition at line 30 of file hecmw_io_nastran.c.

◆ read_iff_comment

#define read_iff_comment   0

◆ read_iff_eof

#define read_iff_eof   2

◆ read_iff_error

#define read_iff_error   -1

◆ read_iff_success

#define read_iff_success   1

◆ REMOVE_CR_MAX_LINE

#define REMOVE_CR_MAX_LINE   256

Definition at line 547 of file hecmw_io_nastran.c.

◆ SMALL_FIELD_COLUMN

#define SMALL_FIELD_COLUMN   8 /* JP-8 */

Definition at line 41 of file hecmw_io_nastran.c.

◆ T_NUMBER [1/2]

#define T_NUMBER   4

◆ T_NUMBER [2/2]

#define T_NUMBER   4

◆ TRYAL_NUMBER

#define TRYAL_NUMBER   20

Typedef Documentation

◆ field_format_t

◆ file_stack_t

typedef struct ST_FILE_STACK file_stack_t

◆ iff_bulk_list_t

◆ iff_bulk_t

typedef struct ST_IFF_BULK iff_bulk_t

◆ iff_node_t

typedef struct ST_IFF_NODE iff_node_t

Enumeration Type Documentation

◆ ENUM_FIELD_FORMAT

Enumerator
fft_none 
fft_comment 
fft_free_field_format 
fft_small_field_format 
fft_large_field_format 

Definition at line 80 of file hecmw_io_nastran.c.

HECMW_malloc
#define HECMW_malloc(size)
Definition: hecmw_malloc.h:20
NULL
#define NULL
Definition: hecmw_io_nastran.c:30