![]() |
OpenPFC
0.1.4
Phase Field Crystal simulation framework
|

Public Member Functions | |
| void | set_field_name (const std::string &field_name) |
| const std::string & | get_field_name () const |
| virtual const std::string & | get_modifier_name () const |
| Get the name of the field modifier. | |
| virtual void | apply (Model &model, double time)=0 |
| Apply the field modification to the model (pure virtual) | |
| virtual | ~FieldModifier ()=default |
| Destructor for the FieldModifier class. | |
|
virtualdefault |
Destructor for the FieldModifier class.
The destructor is declared as default, allowing proper destruction of derived classes.
Apply the field modification to the model (pure virtual)
This is the main interface method that derived classes must implement to define their modification logic. The method receives full mutable access to the Model and current simulation time, allowing arbitrary modifications.
Implementation Responsibilities:
model.get_real_field() or model.get_complex_field()model.get_world() and model.get_fft()Typical Implementation Pattern:
| model | Mutable reference to the Model containing fields to modify |
| time | Current simulation time (useful for time-dependent BCs) |
time is typically 0.0 time reflects current simulation time Implemented in MyIC, GaussianIC, pfc::Constant, pfc::FixedBC, pfc::MovingBC, pfc::FileReader, pfc::RandomSeeds, pfc::SeedGrid, pfc::SingleSeed, GaussianIC, GaussianIC, DirichletBC, and OscillatingBC.
Get the name of the field modifier.
This function is responsible for getting the name of the field modifier.
Reimplemented in DirichletBC, OscillatingBC, pfc::FixedBC, and pfc::MovingBC.