plugin_src/green/pinel_hs_thickplate.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <gsl/gsl_sf_bessel.h>
#include <gsl/gsl_integration.h>
#include <gsl/gsl_statistics_double.h>
#include "crusde_api.h"

Include dependency graph for pinel_hs_thickplate.c:


Defines

#define SIZE_W   100000

Functions

double zeroth_order_bessel_integral (double e, void *params)
double first_order_bessel_integral (double e, void *params)
double f (double x, void *params)
const char * get_name ()
const char * get_version ()
const char * get_authors ()
PluginCategory get_category ()
const char * get_description ()
void register_parameter ()
 Register parameters this Kernel claims from the input.
void register_output_fields ()
 Register output fields for spatial directions this Green's function calculates.
void request_plugins ()
 Request necessary plugins: crusde_request_green_plugin("elastic halfspace (pinel)").
void init ()
 Initialization of the convolution. Allocation of memory for inputs and outputs.
void run ()
 Performs the fast convolution.
void clear ()
 Clean-up before this plug-in gets unloaded.
int get_value_at (double **result, int x, int y)
 Returns the Green's Function value at Point(x,y).

Variables

double * p_g
 gravity [m/s^2]
double * p_E
 Young's Modulus [GPa].
double * p_nu
 Poisson's ratio [-].
double * p_rho_f
 Density of the inviscid fluid [kg/m^3].
double * p_H
 thickness of the elastic plate [m]
double g
 gravity [m/s^2]
double E
 Young's Modulus [GPa].
double nu
 Poisson's ratio [-].
double rho_f
 Density of the inviscid fluid [kg/m^3].
double H
 thickness of the elastic plate [m]
double U_vert_const
 Constant part of the vertical displacement equation.
double U_hori_const
 Constant part of the horizontal displacement equation.
double xx = 0.0
double yy = 0.0
double theta = 0.0
double r = 0.0
double local_r = 0.0
double result_j0 = -1.0
double result_j1 = -1.0
double error = 0.0
int quadrant = -1
short sin_sign = -23
short cos_sign = -23
double one_minus_nu_squared = 0.0
double H_squared = 0.0
double H2 = 0.0
double g_rho_f_E_term = 0.0
double g_rho_f_E_term2 = 0.0
double nu4 = 0.0
double sin_h = 0.0
double cos_h = 0.0
double A
double B
double D
double global_e = 0.0
int x_pos
int y_pos
int z_pos
gsl_integration_workspace * w
gsl_function j0_integral
gsl_function j1_integral
double lower_integral_bound
double upper_integral_bound
int i = 0

Define Documentation

#define SIZE_W   100000


Function Documentation

void clear (  ) 

Clean-up before this plug-in gets unloaded.

Free the integration workspace!

double f ( double  x,
void *  params 
)

double first_order_bessel_integral ( double  e,
void *  params 
)

const char* get_authors (  ) 

PluginCategory get_category (  ) 

const char* get_description (  ) 

const char* get_name (  ) 

int get_value_at ( double **  result,
int  x,
int  y 
)

Returns the Green's Function value at Point(x,y).

Parameters:
x The x-Coordinate of the requested value.
y The y-Coordinate of the requested value.
Returns:
The value found at Point[y][x]

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().

Here U_vert_const and U_hori_const are initialized as follows:

\[ U_{z,const} = \frac{g}{\pi} \frac{(1-\nu ^2)}{E} \]

\[ U_{r, const} = -\frac{g}{2\pi} \frac{(1+\nu)(1-2\nu)}{E} \]

< 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:

  1. x, y, z (horizontal-x, horizontal-y, vertical).

void register_parameter (  ) 

Register parameters this Kernel claims from the input.

This function calls register_green_param() defined in crusde_api.h to register references to parameters this Green's function will need to operate properly. 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:

  1. g, XML config identifier is "g" SI-unit: [m/s^2]
  2. E, XML config identifier is "E" SI-unit: [GPa]
  3. nu, XML config identifier is "nu" SI-unit: [-]
  4. rho_f, XML config identifier is "rho_f" SI-unit: [kg/m^3]
  5. H, XML config identifier is "H" SI-unit: [m]

See also:
register_green_param()

register_parameter() (temp_plugin.c.tmp)

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

double zeroth_order_bessel_integral ( double  e,
void *  params 
)


Variable Documentation

double A

double B

double cos_h = 0.0

short cos_sign = -23

double D

double E

Young's Modulus [GPa].

void DOMTreeErrorReporter::error = 0.0

double g

gravity [m/s^2]

double g_rho_f_E_term = 0.0

double g_rho_f_E_term2 = 0.0

double global_e = 0.0

double H

thickness of the elastic plate [m]

double H2 = 0.0

double H_squared = 0.0

int i = 0

gsl_function j0_integral

gsl_function j1_integral

double local_r = 0.0

double lower_integral_bound

double nu

Poisson's ratio [-].

double nu4 = 0.0

double one_minus_nu_squared = 0.0

double* p_E

Young's Modulus [GPa].

double* p_g

gravity [m/s^2]

double* p_H

thickness of the elastic plate [m]

double* p_nu

Poisson's ratio [-].

double* p_rho_f

Density of the inviscid fluid [kg/m^3].

int quadrant = -1

double r = 0.0

double result_j0 = -1.0

double result_j1 = -1.0

double rho_f

Density of the inviscid fluid [kg/m^3].

double sin_h = 0.0

short sin_sign = -23

double theta = 0.0

double U_hori_const

Constant part of the horizontal displacement equation.

double U_vert_const

Constant part of the vertical displacement equation.

double upper_integral_bound

gsl_integration_workspace* w

int x_pos

double xx = 0.0

int y_pos

double yy = 0.0

int z_pos


Generated on Sun Aug 31 13:19:43 2008 for CrusDe by  doxygen 1.5.0