WARPXM v1.10.0
|
Base class for functions used in generating initial conditions. More...
#include <wmicfunction.h>
Base class for functions used in generating initial conditions.
Public Member Functions | |
WmICFunction () | |
Create new WmICFunction. | |
virtual | ~WmICFunction () |
Destroy WmICFunction. | |
virtual void | setup (const WxCryptSet &wxc) |
Setup WmICFunction object using supplied cryptset. | |
const std::string & | getName () const |
Get name of this function. | |
int | getNumArguments () const |
Get number of arguments returned by this icFunction. | |
template<typename T > | |
void | apply (const real position[3], T *value) const |
Evaluate the function at a position and return the result through a pointer position and value must be double precision. | |
Protected Member Functions | |
virtual void | applyFunction (const real *position, real *value) const =0 |
This is the currently apply function call - recasts to real. | |
Protected Attributes | |
std::string | _name |
int | _numArgs |
real * | _rvalues |
WmICFunction::WmICFunction | ( | ) |
Create new WmICFunction.
|
virtual |
Destroy WmICFunction.
|
inline |
Evaluate the function at a position and return the result through a pointer position and value must be double precision.
Template | parameter for value |
p | Position to evaluate function |
v | Value evaluated at position (must be allocated outside function) |
|
protectedpure virtual |
This is the currently apply function call - recasts to real.
p | Position to evaluate function |
v | Value evaluated at position (must be allocated outside function) |
Implemented in wxm::functions::thirteen_moment::brio_wu, wxm::functions::five_moment::ein_ic, wxm::functions::five_moment::ein_ic_EM, wxm::functions::five_moment::ein_ic_phEM, wxm::functions::five_moment::euler1d_arbitrary_shocktube, wxm::functions::five_moment::euler1d_double_rarefaction, wxm::functions::five_moment::euler1d_shock_entropy, wxm::functions::five_moment::euler2d_forward_facing_step, wxm::functions::five_moment::euler2d_rp1, wxm::functions::five_moment::flow_init, wxm::functions::five_moment::flow_init2, wxm::functions::five_moment::flow_init_EM, wxm::functions::five_moment::gem, wxm::functions::five_moment::gem1D, wxm::functions::five_moment::gem2, wxm::functions::five_moment::rti_instability, wxm::functions::hallmhd::gem, wxm::functions::hallmhd::gem1D, wxm::functions::thirteen_moment::harris_current_sheet, wxm::functions::five_moment::harris_current_sheet, wxm::functions::maxwell::harris_current_sheet, wxm::functions::imhd::PlasmaPulse, wxm::functions::kinetics::kinetics1d1v_arbitrary_shocktube, wxm::functions::kinetics::kinetics1d1v_double_rarefaction, WmICFunction_Vlasov_Landau_Damping, WmICFunction_Vlasov_Two_Stream, wxm::functions::kinetics::maxwellian, wxm::functions::maxwell::CustomMaxwell, wxm::functions::maxwell::Field1D1VVlasovCases, wxm::functions::maxwell::gem, wxm::functions::maxwell::gem1D, wxm::functions::maxwell::rti_instability, wxm::functions::thirteen_moment::gem, WmICFunction_5Moment_Electron_Zpinch_1D, WmICFunction_5Moment_Electron_Zpinch_1D_Car, WmICFunction_5Moment_Electron_Zpinch_2D, WmICFunction_5Moment_Ion_Zpinch_1D, WmICFunction_5Moment_Ion_Zpinch_1D_Car, WmICFunction_5Moment_Ion_Zpinch_2D, WmICFunction_Bandpass, WmICFunction_BrioWu_ShockTube, WmICFunction_Bump, WmICFunction_Couette_Fluid5, WmICFunction_Cylindrical_Couette_Fluid5, WmICFunction_DaiWoodward_ShockTube, WmICFunction_Field_Zpinch_1D, WmICFunction_Field_Zpinch_1D_Car, WmICFunction_Field_Zpinch_2D, WmICFunction_Field_Zpinch_Test_1D, WmICFunction_Fluid13_Custom, WmICFunction_Fourier, WmICFunction_Gaussian, WmICFunction_Hartmann_Field, WmICFunction_Hartmann_Fluid13, WmICFunction_Hartmann_MHD, WmICFunction_Heaviside, WmICFunction_IMhd_Zpinch_1D, WmICFunction_IMhd_Zpinch_2D, WmICFunction_Langmuir_Dispersion_Field, WmICFunction_Langmuir_Dispersion_Fluid5, WmICFunction_Mhd_Custom, WmICFunction_Orszag_Tang_MHD, WmICFunction_PHField_Zpinch_1D, WmICFunction_Polynomial, WmICFunction_Pulse_Fluid13, WmICFunction_Pulse_Fluid5, WmICFunction_Pulses_Fluid13, WmICFunction_Pulses_Fluid5, WmICFunction_Ramp, WmICFunction_RandomVelocity_Fluid13, WmICFunction_SetTo, WmICFunction_ShockTube_Fluid13, WmICFunction_ShockTube_Fluid5, WmICFunction_Sinc_Field, WmICFunction_Sinc_Field_2D, WmICFunction_Sinc_Fluid13, WmICFunction_Sine_Field, WmICFunction_Slab_Fluid5, WmICFunction_TE_TM_Mode, WmICFunction_Vlasovmaxwell_Custom, wxm::functions::five_moment::PlasmaSwitch, wxm::functions::plasma_switch_fields, wxm::functions::thirteen_moment::couette_flow, wxm::functions::thirteen_moment::plasma_switch, and wxm::functions::trapezoid.
|
inline |
Get name of this function.
|
inline |
Get number of arguments returned by this icFunction.
|
virtual |
Setup WmICFunction object using supplied cryptset.
wxc | Cryptset to use for setting |
Reimplemented in wxm::functions::thirteen_moment::brio_wu, wxm::functions::five_moment::ein_ic, wxm::functions::five_moment::ein_ic_EM, wxm::functions::five_moment::ein_ic_phEM, wxm::functions::five_moment::euler1d_arbitrary_shocktube, wxm::functions::five_moment::euler1d_double_rarefaction, wxm::functions::five_moment::euler1d_shock_entropy, wxm::functions::five_moment::euler2d_forward_facing_step, wxm::functions::five_moment::euler2d_rp1, wxm::functions::five_moment::flow_init, wxm::functions::five_moment::flow_init2, wxm::functions::five_moment::flow_init_EM, wxm::functions::five_moment::gem, wxm::functions::five_moment::gem1D, wxm::functions::five_moment::gem2, wxm::functions::five_moment::rti_instability, wxm::functions::hallmhd::gem, wxm::functions::hallmhd::gem1D, wxm::functions::thirteen_moment::harris_current_sheet, wxm::functions::five_moment::harris_current_sheet, wxm::functions::maxwell::harris_current_sheet, wxm::functions::imhd::PlasmaPulse, wxm::functions::kinetics::kinetics1d1v_arbitrary_shocktube, wxm::functions::kinetics::kinetics1d1v_double_rarefaction, WmICFunction_Vlasov_Landau_Damping, WmICFunction_Vlasov_Two_Stream, wxm::functions::kinetics::maxwellian, wxm::functions::maxwell::CustomMaxwell, wxm::functions::maxwell::Field1D1VVlasovCases, wxm::functions::maxwell::gem, wxm::functions::maxwell::gem1D, wxm::functions::maxwell::rti_instability, wxm::functions::thirteen_moment::gem, WmICFunction_5Moment_Electron_Zpinch_1D, WmICFunction_5Moment_Electron_Zpinch_1D_Car, WmICFunction_5Moment_Electron_Zpinch_2D, WmICFunction_5Moment_Ion_Zpinch_1D, WmICFunction_5Moment_Ion_Zpinch_1D_Car, WmICFunction_5Moment_Ion_Zpinch_2D, WmICFunction_Bandpass, WmICFunction_BrioWu_ShockTube, WmICFunction_Bump, WmICFunction_Couette_Fluid5, WmICFunction_Cylindrical_Couette_Fluid5, WmICFunction_DaiWoodward_ShockTube, WmICFunction_Field_Zpinch_1D, WmICFunction_Field_Zpinch_1D_Car, WmICFunction_Field_Zpinch_2D, WmICFunction_Field_Zpinch_Test_1D, WmICFunction_Fluid13_Custom, WmICFunction_Fourier, WmICFunction_Gaussian, WmICFunction_Hartmann_Field, WmICFunction_Hartmann_Fluid13, WmICFunction_Hartmann_MHD, WmICFunction_Heaviside, WmICFunction_IMhd_Zpinch_1D, WmICFunction_IMhd_Zpinch_2D, WmICFunction_Langmuir_Dispersion_Field, WmICFunction_Langmuir_Dispersion_Fluid5, WmICFunction_Mhd_Custom, WmICFunction_Orszag_Tang_MHD, WmICFunction_PHField_Zpinch_1D, WmICFunction_Polynomial, WmICFunction_Pulse_Fluid13, WmICFunction_Pulse_Fluid5, WmICFunction_Pulses_Fluid13, WmICFunction_Pulses_Fluid5, WmICFunction_Ramp, WmICFunction_RandomVelocity_Fluid13, WmICFunction_SetTo, WmICFunction_ShockTube_Fluid13, WmICFunction_ShockTube_Fluid5, WmICFunction_Sinc_Field, WmICFunction_Sinc_Field_2D, WmICFunction_Sinc_Fluid13, WmICFunction_Sine_Field, WmICFunction_Slab_Fluid5, WmICFunction_TE_TM_Mode, WmICFunction_Vlasovmaxwell_Custom, wxm::functions::five_moment::PlasmaSwitch, wxm::functions::plasma_switch_fields, wxm::functions::thirteen_moment::couette_flow, wxm::functions::thirteen_moment::plasma_switch, and wxm::functions::trapezoid.
|
protected |
|
protected |
|
protected |