|
| | solver_interface (graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > w, graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > kx, graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > ky, graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > kz, graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > x, graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > y, graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > z, graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > t, equilibrium::shared< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > &eq, const std::string &filename="", const size_t num_rays=0, const size_t index=0) |
| | Construct a new solver_interface with inital conditions.
|
| |
|
| ~solver_interface () |
| | Destructor.
|
| |
| virtual graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | init (graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > x, const typename DISPERSION_FUNCTION::base tolarance=1.0E-30, const size_t max_iterations=1000) final |
| | Method to initalize the rays.
|
| |
| virtual graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | init () final |
| | Method to initalize the rays.
|
| |
| virtual void | compile () |
| | Compile the solver function.
|
| |
|
void | sync_device () |
| | Syncronize results from host to gpu.
|
| |
|
void | sync_host () |
| | Syncronize results from gpu to host.
|
| |
|
void | step () |
| | Method to step the rays.
|
| |
| DISPERSION_FUNCTION::base | check_residule (const size_t index) |
| | Check the residule.
|
| |
| void | print (const size_t index) |
| | Print out the results.
|
| |
|
void | write_step () |
| | Write result step.
|
| |
|
void | print_dispersion () |
| | Print out the latex expression for the dispersion relation.
|
| |
|
void | print_dkxdt () |
| | Print out the latex expression for the dkxdt.
|
| |
|
void | print_dkydt () |
| | Print out the latex expression for the dkydt.
|
| |
|
void | print_dkzdt () |
| | Print out the latex expression for the dkzdt.
|
| |
|
void | print_dxdt () |
| | Print out the latex expression for the dxdt.
|
| |
|
void | print_dydt () |
| | Print out the latex expression for the dydt.
|
| |
|
void | print_dzdt () |
| | Print out the latex expression for the dzdt.
|
| |
|
void | print_residule () |
| | Print out the latex expression for the residule.
|
| |
|
void | print_x_next () |
| | Print out the latex expression for the x_next.
|
| |
|
void | print_y_next () |
| | Print out the latex expression for the y_next.
|
| |
|
void | print_z_next () |
| | Print out the latex expression for the z_next.
|
| |
|
void | print_kx_next () |
| | Print out the latex expression for the kx_next.
|
| |
|
void | print_ky_next () |
| | Print out the latex expression for the ky_next.
|
| |
|
void | print_kz_next () |
| | Print out the latex expression for the kz_next.
|
| |
|
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | w |
| | w variable.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | kx |
| | kx variable.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | ky |
| | ky variable.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | kz |
| | kz variable.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | x |
| | x variable.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | y |
| | y variable.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | z |
| | z variable.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | t |
| | t variable.
|
| |
|
dispersion::dispersion_interface< DISPERSION_FUNCTION > | D |
| | Dispersion function interface.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | kx_next |
| | Next kx value.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | ky_next |
| | Next ky value.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | kz_next |
| | Next kz value.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | x_next |
| | Next x value.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | y_next |
| | Next y value.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | z_next |
| | Next z value.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | t_next |
| | Next t value.
|
| |
|
graph::shared_leaf< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | residule |
| | Residule.
|
| |
|
workflow::manager< typename DISPERSION_FUNCTION::base, DISPERSION_FUNCTION::safe_math > | work |
| | Workflow manager.
|
| |
|
const size_t | index |
| | Concurrent index.
|
| |
|
output::result_file | file |
| | Output file.
|
| |
|
output::data_set< typename DISPERSION_FUNCTION::base > | dataset |
| | Output dataset.
|
| |
|
std::thread | sync |
| | Async thread to write data files.
|
| |
template<
dispersion::function DISPERSION_FUNCTION>
class solver::solver_interface< DISPERSION_FUNCTION >
Class interface the solver.
- Template Parameters
-
| DISPERSION_FUNCTION | Class of dispersion function to use. |