44#include <sys/resource.h>
56#include "h3dpublic_defs.h"
57#include "h3dpublic_export.h"
61#include "h3d_values.h"
69void c_h3d_create_rbe3_(
int *ITAB,
int *NUMNOD,
int *IRBE3,
int *NRBE3L,
int *LRBE3,
int *NRBE3,
int *COMPID_RBE3S)
79 char RBE3POOL[] =
"Rbe3";
83 char RIGIDPOOL[] =
"Rigid";
87 unsigned int elem_count = 1;
92 if(*COMPID_RBE3S != 0 && *NRBE3 != 0)
95 H3D_ELEM_CONFIG_RIGIDLINK, *COMPID_RBE3S,
99 elem_id = IRBE3[*NRBE3L * i + 1];
100 nsn = IRBE3[*NRBE3L * i + 4];
103 conn =(
unsigned int *)malloc(nsn*
sizeof(
unsigned int));
104 coef =(
double *)malloc(nsn*
sizeof(
double));
105 dof =(
int *)malloc(nsn*
sizeof(
int));
107 for(j=0;j<nsn;j++) conn[j] = ITAB[LRBE3[IRBE3[*NRBE3L * i ] + j ] - 1 ];
109 RigidElem = IRBE3[*NRBE3L * i + 1] ;
111 unsigned int conn1[1];
112 double coef1[1] = {1.0};
114 conn1[0] = ITAB[IRBE3[*NRBE3L * i + 2]-1];
130 for(i=0;i<*NRBE3;i++)
132 elem_id = IRBE3[*NRBE3L * i + 1];
133 nsn = IRBE3[*NRBE3L * i + 4];
136 conn =(
unsigned int *)malloc(nsn*
sizeof(
unsigned int));
137 coef =(
double *)malloc(nsn*
sizeof(
double));
138 dof =(
int *)malloc(nsn*
sizeof(
int));
140 for(j=0;j<nsn;j++) conn[j] = ITAB[LRBE3[IRBE3[*NRBE3L * i ] + j ] - 1 ];
142 RigidElem = IRBE3[*NRBE3L * i + 1] ;
144 unsigned int conn1[1];
145 double coef1[1] = {1.0};
147 conn1[0] = ITAB[IRBE3[*NRBE3L * i + 2]-1];
151 H3D_ELEM_CONFIG_RIGIDLINK, RigidElem,
177void c_h3d_create_rbe3__ (
int *ITAB,
int *NUMNOD,
int *IRBE3,
int *NRBE3L,
int *LRBE3,
int *NRBE3,
int *COMPID_RBE3S)
180void c_h3d_create_rbe3 (
int *ITAB,
int *NUMNOD,
int *IRBE3,
int *NRBE3L,
int *LRBE3,
int *NRBE3,
int *COMPID_RBE3S)
188 int *ID_RBE3,
int *COMPID_RBE3S)
197 int i,j,
n,p,nsn,nsn_loc,ptr,iadg;
200 char RBE3POOL[] =
"Rbe3";
204 char RIGIDPOOL[] =
"Rigid";
211 unsigned int elem_count = 1;
214 if(*COMPID_RBE3S != 0 && *NRBE3 != 0)
217 H3D_ELEM_CONFIG_RIGIDLINK, *COMPID_RBE3S,
219 for(i=0;i<*NRBE3;i++)
221 elem_id = ID_RBE3[i];
222 nsn =IADRBE3[i+1] - IADRBE3[i];
226 conn =(
unsigned int *)malloc(nsn*
sizeof(
unsigned int));
227 coef =(
double *)malloc(nsn*
sizeof(
double));
228 dof =(
int *)malloc(nsn*
sizeof(
int));
229 unsigned int conn1[1];
231 double coef1[1] = {1.0};
234 conn1[0] = SLAVENODS[i];
238 conn[
n] = P0RBE3BUF[iadg +
n];
254 for(i=0;i<*NRBE3;i++)
256 elem_id = ID_RBE3[i];
257 nsn =IADRBE3[i+1] - IADRBE3[i];
261 conn =(
unsigned int *)malloc(nsn*
sizeof(
unsigned int));
262 coef =(
double *)malloc(nsn*
sizeof(
double));
263 dof =(
int *)malloc(nsn*
sizeof(
int));
264 unsigned int conn1[1];
266 double coef1[1] = {1.0};
269 conn1[0] = SLAVENODS[i];
273 conn[
n] = P0RBE3BUF[iadg +
n];
279 H3D_ELEM_CONFIG_RIGIDLINK, elem_id,
303 int *ID_RBE3,
int *COMPID_RBE3S)
307 int *ID_RBE3,
int *COMPID_RBE3S)
311 int *ID_RBE3,
int *COMPID_RBE3S)
void c_h3d_create_rbe3_impi_(int *ITAB, int *NRBE3, int *IADRBE3, int *SLAVENODS, int *P0RBE3BUF, int *ID_RBE3, int *COMPID_RBE3S)
void c_h3d_create_rbe3(int *ITAB, int *NUMNOD, int *IRBE3, int *NRBE3L, int *LRBE3, int *NRBE3, int *COMPID_RBE3S)
void c_h3d_create_rbe3_impi(int *ITAB, int *NRBE3, int *IADRBE3, int *SLAVENODS, int *P0RBE3BUF, int *ID_RBE3, int *COMPID_RBE3S)
void c_h3d_create_rbe3_impi__(int *ITAB, int *NRBE3, int *IADRBE3, int *SLAVENODS, int *P0RBE3BUF, int *ID_RBE3, int *COMPID_RBE3S)
void c_h3d_create_rbe3__(int *ITAB, int *NUMNOD, int *IRBE3, int *NRBE3L, int *LRBE3, int *NRBE3, int *COMPID_RBE3S)
void _FCALL C_H3D_CREATE_RBE3(int *ITAB, int *NUMNOD, int *IRBE3, int *NRBE3L, int *LRBE3, int *NRBE3, int *COMPID_RBE3S)
void _FCALL C_H3D_CREATE_RBE3_IMPI(int *ITAB, int *NRBE3, int *IADRBE3, int *SLAVENODS, int *P0RBE3BUF, int *ID_RBE3, int *COMPID_RBE3S)
void c_h3d_create_rbe3_(int *ITAB, int *NUMNOD, int *IRBE3, int *NRBE3L, int *LRBE3, int *NRBE3, int *COMPID_RBE3S)
bool Hyper3DElement2Write(H3DFileInfo *h3d_file, H3D_ID id, unsigned int *inode, int *idof, double *icoeff, unsigned int num_inodes, unsigned int *dnode, int *ddof, double *dcoeff, unsigned int num_dnodes)
bool Hyper3DAddString(H3DFileInfo *h3d_file, const char *const string, H3D_ID *const str_id)
bool Hyper3DExportClearError(H3DFileInfo *h3d_file)
bool Hyper3DElement2End(H3DFileInfo *h3d_file)
bool Hyper3DElement2Begin(H3DFileInfo *h3d_file, unsigned int count, H3D_ID poolname_id, H3D_ElementConfig config, H3D_ID parent_id, H3D_ID parent_poolname_id, H3D_ID node_poolname_id)