#include <PeriodicDislocationArrayElasticStressModule.h>
Inheritance diagram for LSMDD::PeriodicDislocationArrayElasticStressModule:
Public Member Functions | |
Constructor and destructor | |
PeriodicDislocationArrayElasticStressModule (Pointer< Database > input_db, Pointer< PatchHierarchy< 3 > > patch_hierarchy) | |
virtual | ~PeriodicDislocationArrayElasticStressModule () |
Methods for accessing elastic stress field data | |
virtual int | getStressFieldHandle () |
Methods for computing elastic stress field | |
virtual void | setStressFieldToZero () |
virtual void | addStressFieldForDislocationLine (const int dislocation_line_handle, const BurgersVector &burgers_vector, const LSMDD_Parameters &lsmdd_params) |
virtual void | addAuxiliaryStressField (const int auxiliary_stress_field_handle, const LSMDD_Parameters &lsmdd_params) |
virtual void | addAuxiliaryStressFieldComponent (const int auxiliary_stress_field_handle, const LSMDD_Parameters &lsmdd_params, const int component) |
Accessor methods for object state | |
virtual void | printClassData (ostream &os) const |
Protected Member Functions | |
Utility methods | |
virtual void | getFromInput (Pointer< Database > input_db) |
virtual void | computeStressOnPatchTimeEfficient (Pointer< Patch< 3 > > patch, const int dislocation_line_handle, const BurgersVector &burgers_vector, const LSMDD_Parameters &lsmdd_params) |
virtual void | computeStressOnPatchMemoryEfficient (Pointer< Patch< 3 > > patch, LSMDD::STRESS_COMPONENT_TYPE stress_field_component, FFT_DATA *stress_field_fft_data, const int dislocation_line_handle, const BurgersVector &burgers_vector, const LSMDD_Parameters &lsmdd_params) |
virtual void | allocateFFTData () |
virtual void | deallocateFFTData () |
virtual void | addStressFieldToSAMRAIPatchData (Pointer< Patch< 3 > > patch, const LSMDD_Parameters &lsmdd_params) |
virtual void | addStressFieldComponentToSAMRAIPatchData (Pointer< Patch< 3 > > patch, FFT_DATA *stress_field_fft_data, const LSMDD::STRESS_COMPONENT_TYPE stress_component, const LSMDD_Parameters &lsmdd_params) |
virtual void | initializeElasticStressModule () |
Protected Attributes | |
Pointer< PatchHierarchy< 3 > > | d_patch_hierarchy |
bool | d_conserve_memory |
bool | d_use_dynamic_memory_allocation |
int | d_stress_field_handle |
Box< 3 > | d_global_box |
Box< 3 > | d_local_box |
FFT_DATA * | d_dislocation_line_fft_data [3] |
FFT_DATA * | d_stress_field_fft_data [6] |
bool | d_fft_data_allocated |
fft_plan_3d * | d_fft_plan |
double | d_fft_scale_factor |
bool | d_initialization_complete |
When using the PeriodicDislocationArrayElasticStressModule, it is possible to modify the behavior of the module through an input file. The input data parameters available for the user are described below.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PeriodicDislocationArrayElasticStressModule { conserve_memory = TRUE use_dynamic_memory_allocation = FALSE }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NOTES
|
The constructor for the PeriodicDislocationArrayElasticStressModule sets up the elastic stress calculation using parameters read from the input database. Arguments:
|
|
The destructor for PeriodicDislocationArrayElasticStressModule frees memory used to store the stress field, the FFT data, and the plan used by S. Plimpton's parallel FFT software. |
|
addAuxiliaryStressField() adds specified auxiliary stress field to the total elastic stress field. Arguments:
Return value: none Implements LSMDD::ElasticStressStrategy. |
|
addAuxiliaryStressFieldComponent() adds the component of the specified auxiliary stress field to the total elastic stress field. Arguments:
Return value: none NOTES:
Implements LSMDD::ElasticStressStrategy. |
|
addStressFieldComponentToSAMRAIPatchData() adds the current elastic stress field stored in the d_stress_field_fft_data FFT_DATA structures to the stress field stored in the SAMRAI PatchData associated with d_stress_field_handle. Arguments:
Return value: none |
|
addStressFieldForDislocationLine() adds the stress field due to the specified dislocation line to the total elastic stress field. Arguments:
Return value: none Implements LSMDD::ElasticStressStrategy. |
|
addStressFieldToSAMRAIPatchData() adds the current elastic stress field stored in the d_stress_field_fft_data FFT_DATA structures to the stress field stored in the SAMRAI PatchData associated with d_stress_field_handle. Arguments:
Return value: none NOTES:
|
|
allocateFFTData() allocates FFT_DATA that stores the dislocation line field and stress field in frequency space. Arguments: none Return value: none |
|
computeStressOnPatchMemoryEfficient() computes the stress fields (in frequency space) on the specified patch. This function trades-off greater computation time for more efficient memory usage in the calculation of the stress fields. Arguments:
Return value: none |
|
computeStressOnPatchTimeEfficient() computes the stress fields (in frequency space) on the specified patch. This function trades-off greater memory usage for more time efficiency in the computation of the stress fields. Arguments:
Return value: none |
|
deallocateFFTData() deallocates FFT_DATA that stores the dislocation line field and stress field in frequency space. Arguments: none Return value: none |
|
getFromInput() configures the PeriodicDislocationArrayElasticStressModule object from parameters in the specified input database. Arguments:
Return value: none |
|
getStressFieldHandle() returns the PatchData handle for the elastic stress field. Arguments: none Return value: PatchData handle for stress field Implements LSMDD::ElasticStressStrategy. |
|
initializeElasticStressModule() completes the initialization of the PeriodicDislocationArrayElasticStressModule before any elastic stress fields are calculated. Arguments: none Return value: none |
|
printClassData() prints the current state of the ElasticStressStrategy object to the specified output stream. Arguments:
Return value: none Implements LSMDD::ElasticStressStrategy. |
|
setStressFieldToZero() sets the stress field equal to zero everywhere. Arguments: none Return value: none Implements LSMDD::ElasticStressStrategy. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|