-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make from_file and other laser init compatible #1157
Changes from 8 commits
0e2b6ea
a9addda
7dbab1b
6559263
91c1fe2
648ed7a
c504a84
0a4ea31
a531197
ff11124
6a28742
d48b1da
d074632
086c4bb
b19863c
e5d9619
f0fa8dd
a0f03b2
70a34ed
4997379
e576848
0f7b978
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,12 +14,16 @@ | |
#include <AMReX_RealVect.H> | ||
#include "utils/Constants.H" | ||
#include "utils/Parser.H" | ||
#include <AMReX_MultiFab.H> | ||
|
||
class Laser | ||
{ | ||
public: | ||
|
||
Laser (std::string name); | ||
/** \brief Read in a laser from an openPMD file */ | ||
huixingjian marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you document the argument There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for the comment. The argument is documented in the file |
||
void GetEnvelopeFromFileHelper (amrex::Geometry laser_geom_3D); | ||
template<typename input_type> | ||
void GetEnvelopeFromFile (amrex::Geometry laser_geom_3D); | ||
Laser (std::string name, amrex::Geometry laser_geom_3D); | ||
|
||
std::string m_name {""}; | ||
/** The way to initialize a laser (from_file/gaussian/parser)*/ | ||
|
@@ -44,6 +48,20 @@ public: | |
amrex::ParserExecutor<3> m_profile_real; | ||
/** stores the output function of makeFunctionWithParser for profile_imag_str */ | ||
amrex::ParserExecutor<3> m_profile_imag; | ||
/** if the lasers are initialized from openPMD file */ | ||
bool m_laser_from_file = false; | ||
/** full 3D laser data stored on the host */ | ||
amrex::FArrayBox m_F_input_file; | ||
/** path to input openPMD file */ | ||
std::string m_input_file_path; | ||
/** name of the openPMD species in the file */ | ||
std::string m_file_envelope_name = "laserEnvelope"; | ||
/** index of the iteration in the openPMD file */ | ||
int m_file_num_iteration = 0; | ||
/** Geometry of the laser file, 'rt' or 'xyt' */ | ||
std::string m_file_geometry = ""; | ||
/** Wavelength from file */ | ||
amrex::Real m_lambda0_from_file {0.}; | ||
}; | ||
|
||
#endif // LASER_H_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that's still optional, isn't it?