25 #include "sys/types.h"
33 extern "C" void COM_F_FUNC2(rocsolid_load_module, ROCSOLID_LOAD_MODULE)(
const char *, int);
34 extern "C" void COM_F_FUNC2(rocsolid_unload_module, ROCSOLID_UNLOAD_MODULE)(
const char *, int);
36 extern "C" void COM_F_FUNC2(rocfrac3_load_module, ROCFRAC3_LOAD_MODULE)(
const char *, int);
37 extern "C" void COM_F_FUNC2(rocfrac3_unload_module, ROCFRAC3_UNLOAD_MODULE)(
const char *, int);
49 Agent(coup, mod, obj,
"Solid", com, false), with_fluid(withFluid)
108 (std::string(
"Unknown SolidAgent module:")+
rocmod_name).c_str());
142 MAN_DEBUG(3, (
"Rocstar: SolidAgent::init_module t=%e dt=%e.\n", t, dt));
286 if ( maxPredCorr>1) {
321 if (loc==
'w' || loc==
'p')
324 if (loc !=
'n' && loc !=
'e') {
325 printf(
"Rocstar: Error: Unknown type of location of rohs: %c\n", loc);
333 COM_assertion_msg(0,
"If traction mode is with sheer, then solid tractions must be vectors!");
363 static const std::string isolid_prefix =
"isolid_all";
397 if ( maxPredCorr>1) {
420 MAN_DEBUG(3, (
"Rocstar: SolidAgent::compute_integrals.\n"));
static const char * isolid_vis
static const char * isolid_ni_vis
here we put it at the!beginning of the common block The point to point and collective!routines know about but MPI_TYPE_STRUCT as yet does not!MPI_STATUS_IGNORE and MPI_STATUSES_IGNORE are similar objects!Until the underlying MPI library implements the C version of these are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_COMM_WORLD
virtual void init_module(double t, double dt)
virtual void output_restart_files(double t)
void write_data_files(double t, const std::string base, const std::string attr, const char *ref=NULL)
T mod(const T &x, const T &m)
Return the modulo of a number.
SolidAgent(Coupling *coup, std::string mod, std::string obj, MPI_Comm com, int withFluid=0)
void COM_delete_window(const char *wname)
static std::string agentCount
void COM_get_attribute(const std::string wa_str, char *loc, int *type, int *ncomp, std::string *unit)
#define COM_assertion_msg(EX, msg)
int COM_get_attribute_handle(const char *waname)
#define COM_F_FUNC2(lowcase, uppercase)
static const char * isolid_nb_vis
virtual void read_restart_data()
int compute_integrals_handle
void COM_load_module(const char *libname, const char *winname)
void COM_use_attribute(const char *wname, const char *attr, int wg=1, const char *ptnname=0, int val=0)
Use the subset of panes of another window of which the given pane attribute has value val...
Coupling * get_coupling()
int read_by_control_file(double t, const std::string base, const std::string window)
void COM_close_module(const char *libname, const char *winname=NULL)
void split_surface_window(const std::string surfAll, const std::string surf_i, const std::string surf_nb, const std::string surf_b, const std::string surf_ni)
virtual void create_buffer_all()
void COM_window_init_done(const char *w_str, int pane_changed=true)
virtual void create_buffer_all()
void COM_clone_attribute(const char *wname, const char *attr, int wg=1, const char *ptnname=0, int val=0)
Clone the subset of panes of another window of which the given pane attribute has value val...
void COM_new_window(const char *wname, MPI_Comm c=MPI_COMM_NULL)
void COM_call_function(const int wf, int argc,...)
void COM_unload_module(const char *libname, const char *winname=NULL)
void write_control_file(double t, const std::string base, const std::string window)
int COM_get_attribute_handle_const(const char *waname)
void init_function_handles()
virtual void output_visualization_files(double t)
virtual int compute_integrals()
virtual void unload_module()
static const char * solid_vis
const RocmanControl_parameters * get_rocmancontrol_param()
void create_registered_window_attributes(std::string target_window)
static const char * solid_plag_vis
void COM_new_attribute(const char *wa_str, const char loc, const int type, int ncomp, const char *unit)
Registering an attribute type.
virtual void input(double t)
static int obtain_attr_handle
subroutine rocfrac_unload_module(module_name)
virtual void load_module()
subroutine rocfrac_load_module(module_name)
static const char * isolid_b_vis
double integrals[MAN_INTEG_SIZE]
void COM_resize_array(const char *wa_str, int pane_id=0, void **addr=NULL, int strd=-1, int cap=0)
Resize an attribute on a specific pane and return the address by setting addr.
virtual void init_module(double t, double dt)