#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "crusde_api.h"
Include dependency graph for disk_load.c:
Functions | |
const char * | get_name () |
const char * | get_version () |
const char * | get_authors () |
const char * | get_description () |
PluginCategory | get_category () |
void | run () |
Performs the fast convolution. | |
void | clear () |
Clean-up before this plug-in gets unloaded. | |
void | request_plugins () |
Request necessary plugins: crusde_request_green_plugin("elastic halfspace (pinel)"). | |
void | register_output_fields () |
Register output fields for spatial directions this Green's function calculates. | |
void | init () |
Initialization of the convolution. Allocation of memory for inputs and outputs. | |
void | register_parameter () |
Register parameters this Kernel claims from the input. | |
double | get_value_at (int x, int y) |
Returns the Load of a disk at Point (x,y) at time t. | |
void | set_history_function (loadhistory_exec_function history) |
Variables | |
double * | p_height [100] |
double * | p_radius [100] |
double * | p_x [100] |
double * | p_y [100] |
double * | p_rho [100] |
loadhistory_exec_function | history_function [100] |
double | disk_height |
double | disk_radius |
double | disk_x |
double | disk_y |
double | rho |
double | dS |
double | all_const |
double | rho_dS_const |
int | my_id = 0 |
void clear | ( | ) |
Clean-up before this plug-in gets unloaded.
Free the integration workspace!
const char* get_authors | ( | ) |
PluginCategory get_category | ( | ) |
const char* get_description | ( | ) |
const char* get_name | ( | ) |
double get_value_at | ( | int | x, | |
int | y | |||
) |
Returns the Load of a disk at Point (x,y) at time t.
Computes the euclidean distance of Point (x,y) to (center_x, center_y). If this distance is less or equal to disk_radius the load will be returned, zero otherwise.
x | The x-Coordinate of the wanted value. | |
y | The y-Coordinate of the wanted value. | |
t | The time-Coordinate of the wanted value (set to NO_TIME in non-temporal modelling environment). |
const char* get_version | ( | ) |
void init | ( | ) |
Initialization of the convolution. Allocation of memory for inputs and outputs.
This function must not be called before register_parameter() unless none of the necessary values depends on parameters provided by the user, which are only set after they have been registered. This function is called some time after register_parameter().
< gravity [m/s^2]
< Young's Modulus [GPa]
< Poisson's ratio [-]
< Density of the inviscid fluid [kg/m^3]
< thickness of the elastic plate [m]
void register_output_fields | ( | ) |
Register output fields for spatial directions this Green's function calculates.
This function calls crusde_register_output_field defined in crusde_api.h to register output field in the following order:
void register_parameter | ( | ) |
Register parameters this Kernel claims from the input.
This function calls register_load_param() defined in crusde_api.h to register references to parameters this Green's function will need to operate properly. For command line use the order of registration in this function defines the identification of parameters in the command line string (i.e. './green -LfirstRegistered/secondRegistered/...'). In case an XML is used to configure the experiment, the reference to this parameter will be identified by the string passed as second argument to register_green_param().
This function registers the references in the following order:
void request_plugins | ( | ) |
Request necessary plugins: crusde_request_green_plugin("elastic halfspace (pinel)").
empty
void run | ( | ) |
Performs the fast convolution.
writes data for actual time step to file
void set_history_function | ( | loadhistory_exec_function | history | ) |
double all_const |
all_const = rho*dS*disk_height, no parts of the load depend on time
double disk_height |
Disk's height [m]
double disk_radius |
Disk's radius [m]
double disk_x |
Disk's center, x-Coordinate[-]
double disk_y |
Disk's center, y-Coordinate[-]
double dS |
Area around point P(x,y) [m^2]
int my_id = 0 |
double* p_height[100] |
Disk's height [m]
double* p_radius[100] |
Disk's radius [m]
double* p_rho[100] |
Density of the load [kg/m^3]
double* p_x[100] |
Disk's center, x-Coordinate[-]
double* p_y[100] |
Disk's center, y-Coordinate[-]
double rho |
Density of the load [kg/m^3]
double rho_dS_const |
rho_dS_const = rho * dS, height depends on time