Nektar++
|
#include <MMFMaxwell.h>
Static Public Member Functions | |
static SolverUtils::EquationSystemSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Creates an instance of this class. More... | |
Public Attributes | |
CloakType | m_CloakType |
SourceType | m_SourceType |
bool | m_DispersiveCloak |
Public Attributes inherited from Nektar::SolverUtils::MMFSystem | |
NekDouble | m_pi |
int | m_shapedim |
SurfaceType | m_surfaceType |
UpwindType | m_upwindType |
TestMaxwellType | m_TestMaxwellType |
PolType | m_PolType |
IncType | m_IncType |
Array< OneD, NekDouble > | m_MMFfactors |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
Static Public Attributes inherited from Nektar::SolverUtils::UnsteadySystem | |
static std::string | cmdSetStartTime |
static std::string | cmdSetStartChkNum |
Protected Attributes | |
int | m_ElemtGroup0 |
int | m_ElemtGroup1 |
int | m_boundaryforSF |
int | m_PrintoutSurfaceCurrent |
int | m_AddPML |
int | m_PMLorder |
int | m_AddRotation |
bool | m_Cloaking |
NekDouble | m_CloakNlayer |
NekDouble | m_Cloakraddelta |
NekDouble | m_wp2Tol |
Array< OneD, NekDouble > | m_wp2 |
Array< OneD, NekDouble > | m_SourceVector |
NekDouble | m_Psx |
NekDouble | m_Psy |
NekDouble | m_Psz |
NekDouble | m_PSduration |
NekDouble | m_Gaussianradius |
Array< OneD, Array< OneD, NekDouble > > | m_CrossProductMF |
NekDouble | m_freq |
NekDouble | m_n1 |
NekDouble | m_n2 |
NekDouble | m_n3 |
Array< OneD, NekDouble > | m_varepsilon |
Array< OneD, NekDouble > | m_mu |
int | m_TestPML |
int | m_PMLelement |
int | m_RecPML |
NekDouble | m_PMLthickness |
NekDouble | m_PMLstart |
NekDouble | m_PMLmaxsigma |
Array< OneD, Array< OneD, NekDouble > > | m_SigmaPML |
int | m_NoInc |
Array< OneD, NekDouble > | m_coriolis |
Protected Attributes inherited from Nektar::SolverUtils::MMFSystem | |
NekDouble | m_alpha |
NekDouble | m_Incfreq |
int | m_SmoothFactor |
NekDouble | m_SFinit |
Array< OneD, Array< OneD, NekDouble > > | m_movingframes |
Array< OneD, Array< OneD, NekDouble > > | m_surfaceNormal |
Array< OneD, Array< OneD, NekDouble > > | m_ncdotMFFwd |
Array< OneD, Array< OneD, NekDouble > > | m_ncdotMFBwd |
Array< OneD, Array< OneD, NekDouble > > | m_nperpcdotMFFwd |
Array< OneD, Array< OneD, NekDouble > > | m_nperpcdotMFBwd |
Array< OneD, Array< OneD, NekDouble > > | m_DivMF |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_CurlMF |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_MFtraceFwd |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_MFtraceBwd |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_ntimesMFFwd |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_ntimesMFBwd |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_ntimes_ntimesMFFwd |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_ntimes_ntimesMFBwd |
Array< OneD, Array< OneD, NekDouble > > | m_ZimFwd |
Array< OneD, Array< OneD, NekDouble > > | m_ZimBwd |
Array< OneD, Array< OneD, NekDouble > > | m_YimFwd |
Array< OneD, Array< OneD, NekDouble > > | m_YimBwd |
Array< OneD, Array< OneD, NekDouble > > | m_epsvec |
Array< OneD, Array< OneD, NekDouble > > | m_muvec |
Array< OneD, Array< OneD, NekDouble > > | m_negepsvecminus1 |
Array< OneD, Array< OneD, NekDouble > > | m_negmuvecminus1 |
Array< OneD, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > > | m_dedxi_cdot_e |
SpatialDomains::GeomMMF | m_MMFdir |
Protected Attributes inherited from Nektar::SolverUtils::UnsteadySystem | |
LibUtilities::TimeIntegrationSchemeSharedPtr | m_intScheme |
Wrapper to the time integration scheme. More... | |
LibUtilities::TimeIntegrationSchemeOperators | m_ode |
The time integration scheme operators to use. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_previousSolution |
Storage for previous solution for steady-state check. More... | |
std::vector< int > | m_intVariables |
NekDouble | m_cflSafetyFactor |
CFL safety factor (comprise between 0 to 1). More... | |
NekDouble | m_CFLGrowth |
CFL growth rate. More... | |
NekDouble | m_CFLEnd |
Maximun cfl in cfl growth. More... | |
int | m_abortSteps |
Number of steps between checks for abort conditions. More... | |
bool | m_explicitDiffusion |
Indicates if explicit or implicit treatment of diffusion is used. More... | |
bool | m_explicitAdvection |
Indicates if explicit or implicit treatment of advection is used. More... | |
bool | m_explicitReaction |
Indicates if explicit or implicit treatment of reaction is used. More... | |
int | m_steadyStateSteps |
Check for steady state at step interval. More... | |
NekDouble | m_steadyStateTol |
Tolerance to which steady state should be evaluated at. More... | |
int | m_filtersInfosteps |
Number of time steps between outputting filters information. More... | |
std::vector< std::pair< std::string, FilterSharedPtr > > | m_filters |
bool | m_homoInitialFwd |
Flag to determine if simulation should start in homogeneous forward transformed state. More... | |
std::ofstream | m_errFile |
NekDouble | m_epsilon |
Diffusion coefficient. More... | |
Protected Attributes inherited from Nektar::SolverUtils::EquationSystem | |
LibUtilities::CommSharedPtr | m_comm |
Communicator. More... | |
bool | m_verbose |
LibUtilities::SessionReaderSharedPtr | m_session |
The session reader. More... | |
std::map< std::string, SolverUtils::SessionFunctionSharedPtr > | m_sessionFunctions |
Map of known SessionFunctions. More... | |
LibUtilities::FieldIOSharedPtr | m_fld |
Field input/output. More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
Array holding all dependent variables. More... | |
SpatialDomains::BoundaryConditionsSharedPtr | m_boundaryConditions |
Pointer to boundary conditions object. More... | |
SpatialDomains::MeshGraphSharedPtr | m_graph |
Pointer to graph defining mesh. More... | |
std::string | m_sessionName |
Name of the session. More... | |
NekDouble | m_time |
Current time of simulation. More... | |
int | m_initialStep |
Number of the step where the simulation should begin. More... | |
NekDouble | m_fintime |
Finish time of the simulation. More... | |
NekDouble | m_timestep |
Time step size. More... | |
NekDouble | m_lambda |
Lambda constant in real system if one required. More... | |
NekDouble | m_checktime |
Time between checkpoints. More... | |
NekDouble | m_lastCheckTime |
NekDouble | m_TimeIncrementFactor |
int | m_nchk |
Number of checkpoints written so far. More... | |
int | m_steps |
Number of steps to take. More... | |
int | m_checksteps |
Number of steps between checkpoints. More... | |
int | m_infosteps |
Number of time steps between outputting status information. More... | |
int | m_iterPIT = 0 |
Number of parallel-in-time time iteration. More... | |
int | m_windowPIT = 0 |
Index of windows for parallel-in-time time iteration. More... | |
int | m_spacedim |
Spatial dimension (>= expansion dim). More... | |
int | m_expdim |
Expansion dimension. More... | |
bool | m_singleMode |
Flag to determine if single homogeneous mode is used. More... | |
bool | m_halfMode |
Flag to determine if half homogeneous mode is used. More... | |
bool | m_multipleModes |
Flag to determine if use multiple homogenenous modes are used. More... | |
bool | m_useFFT |
Flag to determine if FFT is used for homogeneous transform. More... | |
bool | m_homogen_dealiasing |
Flag to determine if dealiasing is used for homogeneous simulations. More... | |
bool | m_specHP_dealiasing |
Flag to determine if dealisising is usde for the Spectral/hp element discretisation. More... | |
enum MultiRegions::ProjectionType | m_projectionType |
Type of projection; e.g continuous or discontinuous. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
Array holding trace normals for DG simulations in the forwards direction. More... | |
Array< OneD, bool > | m_checkIfSystemSingular |
Flag to indicate if the fields should be checked for singularity. More... | |
LibUtilities::FieldMetaDataMap | m_fieldMetaDataMap |
Map to identify relevant solver info to dump in output fields. More... | |
Array< OneD, NekDouble > | m_movingFrameData |
Moving reference frame status in the inertial frame X, Y, Z, Theta_x, Theta_y, Theta_z, U, V, W, Omega_x, Omega_y, Omega_z, A_x, A_y, A_z, DOmega_x, DOmega_y, DOmega_z, pivot_x, pivot_y, pivot_z. More... | |
std::vector< std::string > | m_strFrameData |
variable name in m_movingFrameData More... | |
int | m_NumQuadPointsError |
Number of Quadrature points used to work out the error. More... | |
enum HomogeneousType | m_HomogeneousType |
NekDouble | m_LhomX |
physical length in X direction (if homogeneous) More... | |
NekDouble | m_LhomY |
physical length in Y direction (if homogeneous) More... | |
NekDouble | m_LhomZ |
physical length in Z direction (if homogeneous) More... | |
int | m_npointsX |
number of points in X direction (if homogeneous) More... | |
int | m_npointsY |
number of points in Y direction (if homogeneous) More... | |
int | m_npointsZ |
number of points in Z direction (if homogeneous) More... | |
int | m_HomoDirec |
number of homogenous directions More... | |
Protected Attributes inherited from Nektar::SolverUtils::ALEHelper | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fieldsALE |
Array< OneD, Array< OneD, NekDouble > > | m_gridVelocity |
Array< OneD, Array< OneD, NekDouble > > | m_gridVelocityTrace |
std::vector< ALEBaseShPtr > | m_ALEs |
bool | m_ALESolver = false |
bool | m_ImplicitALESolver = false |
NekDouble | m_prevStageTime = 0.0 |
int | m_spaceDim |
Friends | |
class | MemoryManager< MMFMaxwell > |
Additional Inherited Members | |
Protected Types inherited from Nektar::SolverUtils::EquationSystem | |
enum | HomogeneousType { eHomogeneous1D , eHomogeneous2D , eHomogeneous3D , eNotHomogeneous } |
Parameter for homogeneous expansions. More... | |
Static Protected Attributes inherited from Nektar::SolverUtils::EquationSystem | |
static std::string | equationSystemTypeLookupIds [] |
static std::string | projectionTypeLookupIds [] |
Definition at line 73 of file MMFMaxwell.h.
|
override |
Destructor.
Unsteady linear advection equation destructor.
Definition at line 445 of file MMFMaxwell.cpp.
|
protected |
Session reader.
Definition at line 55 of file MMFMaxwell.cpp.
|
protected |
Definition at line 2859 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, m_coriolis, Nektar::SolverUtils::MMFSystem::m_epsvec, Nektar::SolverUtils::MMFSystem::m_muvec, Nektar::SolverUtils::MMFSystem::m_PolType, Nektar::SolverUtils::MMFSystem::m_shapedim, Vmath::Neg(), Vmath::Vadd(), and Vmath::Vmul().
Referenced by DoOdeRhs().
|
protected |
Definition at line 1171 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eELF2DSurface, Nektar::SolverUtils::eMaxwellSphere, Nektar::SolverUtils::eScatField2D, Nektar::SolverUtils::eTestMaxwell2DPEC, Nektar::SolverUtils::eTestMaxwell2DPECAVGFLUX, Nektar::SolverUtils::eTestMaxwell2DPMC, Nektar::SolverUtils::eTotField2D, Nektar::SolverUtils::MMFSystem::GetMaxwellFluxVector(), Nektar::SolverUtils::MMFSystem::m_CurlMF, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_shapedim, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, Vmath::Neg(), Vmath::Vadd(), Vmath::Vmul(), and Vmath::Vvtvm().
Referenced by DoOdeRhs().
|
protected |
Definition at line 2421 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, m_DispersiveCloak, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_PolType, m_SigmaPML, m_wp2, Vmath::Neg(), Vmath::Vadd(), Vmath::Vmul(), Vmath::Vsub(), and Vmath::Vvtvp().
Referenced by DoOdeRhs().
|
protected |
Definition at line 2678 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eTransMagnetic, Nektar::SolverUtils::EquationSystem::m_boundaryConditions, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_movingframes, Nektar::SolverUtils::MMFSystem::m_PolType, Nektar::SolverUtils::EquationSystem::m_sessionName, Nektar::SolverUtils::EquationSystem::m_spacedim, Vmath::Neg(), Vmath::Vmul(), Vmath::Vvtvm(), and Nektar::SolverUtils::EquationSystem::WriteFld().
Referenced by v_DoSolve().
|
protected |
Definition at line 2728 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::EquationSystem::m_boundaryConditions, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_sessionName, Nektar::SolverUtils::EquationSystem::m_spacedim, Vmath::Smul(), Vmath::Vmul(), Vmath::Vsqrt(), Vmath::Vvtvp(), Nektar::SolverUtils::EquationSystem::WriteFld(), and Vmath::Zero().
Referenced by v_DoSolve().
|
protected |
Definition at line 2590 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_movingframes, Nektar::SolverUtils::EquationSystem::m_sessionName, Nektar::SolverUtils::EquationSystem::m_spacedim, Vmath::Vmul(), Vmath::Vvtvp(), and Nektar::SolverUtils::EquationSystem::WriteFld().
Referenced by v_DoSolve(), and v_SetInitialConditions().
|
protected |
Definition at line 2558 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::MMFSystem::GetIncidentField(), Nektar::SolverUtils::EquationSystem::m_boundaryConditions, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_sessionName, Vmath::Vadd(), and Nektar::SolverUtils::EquationSystem::WriteFld().
Referenced by v_DoSolve().
|
protected |
Definition at line 2624 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::MMFSystem::GetIncidentField(), Nektar::SolverUtils::EquationSystem::m_boundaryConditions, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_movingframes, Nektar::SolverUtils::EquationSystem::m_sessionName, Nektar::SolverUtils::EquationSystem::m_spacedim, Vmath::Vadd(), Vmath::Vmul(), Vmath::Vvtvp(), and Nektar::SolverUtils::EquationSystem::WriteFld().
Referenced by v_DoSolve().
|
protected |
Definition at line 2182 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::EquationSystem::GetTotPoints(), Nektar::SolverUtils::EquationSystem::m_fields, and Vmath::Vvtvp().
Referenced by v_DoSolve().
|
protected |
Definition at line 2367 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::EquationSystem::GetNpoints(), m_Cloakraddelta, m_ElemtGroup0, m_ElemtGroup1, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_pi, and Vmath::Vsub().
Referenced by v_InitObject().
|
protected |
Definition at line 2295 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::EquationSystem::GetNpoints(), m_Cloakraddelta, m_DispersiveCloak, m_ElemtGroup1, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_Incfreq, Nektar::SolverUtils::MMFSystem::m_MMFfactors, Nektar::SolverUtils::MMFSystem::m_pi, m_wp2, and m_wp2Tol.
Referenced by v_InitObject().
|
protected |
Definition at line 2200 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eMaxwell1D, Nektar::SolverUtils::eScatField2D, Nektar::SolverUtils::eTestMaxwell2DPEC, Nektar::SolverUtils::eTestMaxwell2DPECAVGFLUX, Nektar::SolverUtils::eTestMaxwell2DPMC, Nektar::SolverUtils::eTotField2D, Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, m_ElemtGroup1, Nektar::SolverUtils::EquationSystem::m_fields, m_mu, Nektar::SolverUtils::MMFSystem::m_PolType, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, and m_varepsilon.
Referenced by v_InitObject().
Definition at line 2908 of file MMFMaxwell.cpp.
References Nektar::SpatialDomains::eTangentCircular, Nektar::SpatialDomains::eTangentIrregular, Nektar::SpatialDomains::eTangentNonconvex, Nektar::SolverUtils::EquationSystem::GetNpoints(), Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_MMFdir, Nektar::SolverUtils::MMFSystem::m_MMFfactors, tinysimd::sqrt(), Vmath::Svtvp(), Vmath::Vcopy(), and Vmath::Vsub().
Referenced by v_InitObject().
|
protected |
Definition at line 1981 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, Nektar::SolverUtils::MMFSystem::GetIncidentField(), Nektar::SolverUtils::EquationSystem::GetTraceTotPoints(), Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_ntimesMFFwd, Nektar::SolverUtils::MMFSystem::m_PolType, Vmath::Vadd(), and Vmath::Vvtvp().
Referenced by Printout_SurfaceCurrent().
|
inlinestatic |
Creates an instance of this class.
Definition at line 83 of file MMFMaxwell.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
protected |
Compute the projection.
Compute the projection for the linear advection equation.
inarray | Given fields. |
outarray | Calculated solution. |
time | Time. |
Definition at line 1320 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::EquationSystem::GetNpoints(), and Vmath::Vcopy().
Referenced by v_InitObject().
|
protected |
Compute the RHS.
Compute the right-hand side for the linear advection equation.
inarray | Given fields. |
outarray | Calculated solution. |
time | Time. |
Definition at line 889 of file MMFMaxwell.cpp.
References AddCoriolis(), Nektar::SolverUtils::MMFSystem::AdddedtMaxwell(), AddGreenDerivCompensate(), AddPML(), Nektar::SolverUtils::eMaxwell1D, Nektar::SolverUtils::eMaxwellSphere, Nektar::SolverUtils::eScatField2D, Nektar::SolverUtils::eTestMaxwell2DPEC, Nektar::SolverUtils::eTestMaxwell2DPECAVGFLUX, Nektar::SolverUtils::eTotField2D, Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, Nektar::SolverUtils::MMFSystem::GetIncidentField(), Nektar::SolverUtils::EquationSystem::GetNcoeffs(), Nektar::SolverUtils::EquationSystem::GetTotPoints(), m_AddPML, m_AddRotation, m_DispersiveCloak, m_ElemtGroup1, Nektar::SolverUtils::MMFSystem::m_epsvec, Nektar::SolverUtils::EquationSystem::m_fields, m_freq, Nektar::SolverUtils::MMFSystem::m_muvec, Nektar::SolverUtils::MMFSystem::m_negepsvecminus1, Nektar::SolverUtils::MMFSystem::m_negmuvecminus1, Nektar::SolverUtils::MMFSystem::m_PolType, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, m_wp2, TestMaxwell2DPEC(), TestMaxwellSphere(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vdiv(), Vmath::Vmul(), Vmath::Vsub(), Vmath::Vvtvp(), and WeakDGMaxwellDirDeriv().
Referenced by v_InitObject().
Definition at line 2828 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::MMFSystem::CartesianToSpherical(), Nektar::SolverUtils::EquationSystem::GetTotPoints(), Nektar::SolverUtils::EquationSystem::m_fields, and Nektar::UnitTests::z().
Referenced by v_InitObject().
|
protected |
Definition at line 2791 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::EquationSystem::m_fields, m_PSduration, Nektar::LibUtilities::rad(), tinysimd::sqrt(), and Nektar::UnitTests::z().
Referenced by v_DoSolve(), and v_SetInitialConditions().
|
protected |
Definition at line 2026 of file MMFMaxwell.cpp.
References m_AddPML, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_MMFfactors, m_PMLelement, m_PMLorder, m_RecPML, Nektar::SolverUtils::MMFSystem::m_shapedim, Nektar::LibUtilities::rad(), tinysimd::sqrt(), Vmath::Vmax(), Vmath::Vmin(), Vmath::Vsub(), and Nektar::UnitTests::z().
Referenced by v_InitObject().
Definition at line 3128 of file MMFMaxwell.cpp.
References tinysimd::sqrt().
|
protected |
Definition at line 1903 of file MMFMaxwell.cpp.
References ComputeSurfaceCurrent(), Nektar::SolverUtils::EquationSystem::GetTraceTotPoints(), m_boundaryforSF, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_MMFfactors, tinysimd::sqrt(), Vmath::Vcopy(), and Nektar::UnitTests::z().
Referenced by v_DoSolve().
|
protected |
Definition at line 1466 of file MMFMaxwell.cpp.
References FilterPython_Function::field, Nektar::SolverUtils::EquationSystem::m_fields, m_n1, m_n2, Nektar::SolverUtils::MMFSystem::m_pi, and tinysimd::sqrt().
Referenced by v_EvaluateExactSolution(), and v_SetInitialConditions().
|
protected |
Definition at line 1572 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, FilterPython_Function::field, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_movingframes, Nektar::SolverUtils::MMFSystem::m_pi, and tinysimd::sqrt().
Referenced by DoOdeRhs(), v_EvaluateExactSolution(), and v_SetInitialConditions().
|
protected |
Definition at line 1703 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, FilterPython_Function::field, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_movingframes, Nektar::SolverUtils::MMFSystem::m_pi, and tinysimd::sqrt().
Referenced by v_EvaluateExactSolution(), and v_SetInitialConditions().
|
protected |
Definition at line 1789 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::MMFSystem::CartesianToMovingframes(), Nektar::SolverUtils::MMFSystem::CartesianToSpherical(), FilterPython_Function::field, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_spacedim, Vmath::Smul(), and Nektar::UnitTests::z().
Referenced by DoOdeRhs(), v_EvaluateExactSolution(), and v_SetInitialConditions().
Solves an unsteady problem.
Initialises the time integration scheme (as specified in the session file), and perform the time integration.
Reimplemented from Nektar::SolverUtils::UnsteadySystem.
Definition at line 449 of file MMFMaxwell.cpp.
References ASSERTL0, Checkpoint_EDFluxOutput(), Checkpoint_EnergyOutput(), Nektar::SolverUtils::EquationSystem::Checkpoint_Output(), Checkpoint_PlotOutput(), Checkpoint_TotalFieldOutput(), Checkpoint_TotPlotOutput(), ComputeEnergyDensity(), ePlanarSource, ePointSource, Nektar::SolverUtils::eScatField2D, GaussianPulse(), Nektar::SolverUtils::MMFSystem::GetIncidentField(), Nektar::SolverUtils::EquationSystem::GetTotPoints(), Nektar::SolverUtils::EquationSystem::GetTraceNpoints(), Nektar::NekConstants::kNekZeroTol, Nektar::SolverUtils::EquationSystem::m_checksteps, Nektar::SolverUtils::EquationSystem::m_checktime, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::EquationSystem::m_fintime, m_Gaussianradius, Nektar::SolverUtils::EquationSystem::m_infosteps, Nektar::SolverUtils::UnsteadySystem::m_intScheme, Nektar::SolverUtils::UnsteadySystem::m_intVariables, Nektar::SolverUtils::UnsteadySystem::m_ode, m_PrintoutSurfaceCurrent, m_PSduration, m_Psx, m_Psy, m_Psz, Nektar::SolverUtils::EquationSystem::m_session, m_SourceType, m_SourceVector, Nektar::SolverUtils::EquationSystem::m_steps, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, m_TestPML, Nektar::SolverUtils::EquationSystem::m_time, Nektar::SolverUtils::EquationSystem::m_timestep, Printout_SurfaceCurrent(), Nektar::LibUtilities::rad(), Nektar::SolverUtils::MMFSystem::RootMeanSquare(), tinysimd::sqrt(), Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), Nektar::LibUtilities::Timer::TimePerTest(), Vmath::Vadd(), Vmath::Vamax(), Vmath::Vcopy(), Vmath::Vmul(), and Nektar::UnitTests::z().
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::EquationSystem.
Definition at line 1424 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::eMaxwell1D, Nektar::SolverUtils::eMaxwellSphere, Nektar::SolverUtils::eTestMaxwell2DPEC, Nektar::SolverUtils::eTestMaxwell2DPECAVGFLUX, Nektar::SolverUtils::eTestMaxwell2DPMC, FilterPython_Function::field, Nektar::SolverUtils::EquationSystem::m_fields, m_freq, Nektar::SolverUtils::MMFSystem::m_PolType, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, TestMaxwell1D(), TestMaxwell2DPEC(), TestMaxwell2DPMC(), and TestMaxwellSphere().
|
overrideprotectedvirtual |
Print Summary.
Reimplemented from Nektar::SolverUtils::MMFSystem.
Definition at line 3060 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::AddSummaryItem(), CloakTypeMap, Nektar::SolverUtils::IncTypeMap, m_AddPML, m_AddRotation, m_boundaryforSF, m_CloakNlayer, m_Cloakraddelta, m_CloakType, m_DispersiveCloak, m_ElemtGroup1, m_Gaussianradius, Nektar::SolverUtils::MMFSystem::m_IncType, m_mu, m_PMLelement, m_PMLmaxsigma, m_PMLorder, m_PMLstart, m_PMLthickness, Nektar::SolverUtils::MMFSystem::m_PolType, m_PSduration, m_Psx, m_Psy, m_Psz, m_RecPML, m_SourceType, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, m_varepsilon, Nektar::SolverUtils::PolTypeMap, SourceTypeMap, Nektar::SolverUtils::TestMaxwellTypeMap, and Nektar::SolverUtils::MMFSystem::v_GenerateSummary().
|
overridevirtual |
Initialise the object.
Initialisation object for the unsteady linear advection equation.
Reimplemented from Nektar::SolverUtils::UnsteadySystem.
Definition at line 64 of file MMFMaxwell.cpp.
References ASSERTL0, CloakTypeMap, Nektar::SolverUtils::MMFSystem::Computedemdxicdote(), ComputeMaterialMicroWaveCloak(), ComputeMaterialOpticalCloak(), ComputeMaterialVector(), Nektar::SolverUtils::MMFSystem::ComputeNtimesMF(), ComputeRadCloak(), Nektar::SolverUtils::MMFSystem::ComputeZimYim(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineOdeRhs(), Nektar::LibUtilities::TimeIntegrationSchemeOperators::DefineProjection(), Nektar::SolverUtils::MMFSystem::DeriveCrossProductMF(), DoOdeProjection(), DoOdeRhs(), eMicroWaveCloak, eOpticalCloak, eOpticalConstCloak, eOpticalDispersiveCloak, Nektar::SolverUtils::eTransElectric, Nektar::SolverUtils::eTransMagnetic, EvaluateCoriolis(), GenerateSigmaPML(), Nektar::SolverUtils::IncTypeMap, m_AddPML, m_AddRotation, m_boundaryforSF, m_CloakNlayer, m_Cloakraddelta, m_CloakType, m_coriolis, m_CrossProductMF, m_DispersiveCloak, m_ElemtGroup0, m_ElemtGroup1, Nektar::SolverUtils::MMFSystem::m_epsvec, Nektar::SolverUtils::UnsteadySystem::m_explicitAdvection, Nektar::SolverUtils::EquationSystem::m_fields, m_freq, m_Gaussianradius, Nektar::SolverUtils::MMFSystem::m_Incfreq, Nektar::SolverUtils::MMFSystem::m_IncType, m_mu, Nektar::SolverUtils::MMFSystem::m_muvec, m_n1, m_n2, m_n3, Nektar::SolverUtils::MMFSystem::m_negepsvecminus1, Nektar::SolverUtils::MMFSystem::m_negmuvecminus1, m_NoInc, Nektar::SolverUtils::UnsteadySystem::m_ode, m_PMLelement, m_PMLmaxsigma, m_PMLorder, m_PMLstart, m_PMLthickness, Nektar::SolverUtils::MMFSystem::m_PolType, m_PrintoutSurfaceCurrent, m_PSduration, m_Psx, m_Psy, m_Psz, m_RecPML, Nektar::SolverUtils::EquationSystem::m_session, m_SigmaPML, m_SourceType, Nektar::SolverUtils::EquationSystem::m_spacedim, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, m_TestPML, m_varepsilon, m_wp2, m_wp2Tol, Nektar::SolverUtils::MMFSystem::MMFInitObject(), Vmath::Neg(), Nektar::SolverUtils::PolTypeMap, Nektar::SolverUtils::MMFSystem::RootMeanSquare(), Vmath::Sadd(), SIZE_CloakType, Nektar::SolverUtils::SIZE_IncType, Nektar::SolverUtils::SIZE_PolType, SIZE_SourceType, Nektar::SolverUtils::SIZE_TestMaxwellType, Vmath::Smul(), SourceTypeMap, tinysimd::sqrt(), Nektar::SolverUtils::TestMaxwellTypeMap, Nektar::SolverUtils::UnsteadySystem::v_InitObject(), Vmath::Vmax(), and Vmath::Vmin().
|
overrideprotectedvirtual |
Set the physical fields based on a restart file, or a function describing the initial condition given in the session.
initialtime | Time at which to evaluate the function. |
dumpInitialConditions | Write the initial condition to file? |
Reimplemented from Nektar::SolverUtils::EquationSystem.
Definition at line 1337 of file MMFMaxwell.cpp.
References Checkpoint_PlotOutput(), Nektar::SolverUtils::eELF2DSurface, Nektar::SolverUtils::eMaxwell1D, Nektar::SolverUtils::eMaxwellSphere, Nektar::SolverUtils::eScatField2D, Nektar::SolverUtils::eTestMaxwell2DPEC, Nektar::SolverUtils::eTestMaxwell2DPECAVGFLUX, Nektar::SolverUtils::eTestMaxwell2DPMC, Nektar::SolverUtils::eTotField2D, GaussianPulse(), Nektar::SolverUtils::EquationSystem::GetTotPoints(), Nektar::SolverUtils::EquationSystem::m_fields, m_freq, m_Gaussianradius, Nektar::SolverUtils::MMFSystem::m_PolType, m_Psx, m_Psy, m_Psz, Nektar::SolverUtils::EquationSystem::m_sessionName, Nektar::SolverUtils::MMFSystem::m_TestMaxwellType, TestMaxwell1D(), TestMaxwell2DPEC(), TestMaxwell2DPMC(), TestMaxwellSphere(), and Nektar::SolverUtils::EquationSystem::WriteFld().
|
protected |
Calculate weak DG advection in the form \( \langle\phi, \hat{F}\cdot n\rangle - (\nabla \phi \cdot F) \).
InField | Fields. |
OutField | Storage for result. |
NumericalFluxIncludesNormal | Default: true. |
InFieldIsPhysSpace | Default: false. |
nvariables | Number of fields. |
Definition at line 1248 of file MMFMaxwell.cpp.
References Nektar::SolverUtils::MMFSystem::GetMaxwellFluxVector(), Nektar::SolverUtils::EquationSystem::GetNcoeffs(), Nektar::SolverUtils::EquationSystem::GetNpoints(), Nektar::SolverUtils::EquationSystem::GetTraceNpoints(), m_CrossProductMF, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::SolverUtils::MMFSystem::m_shapedim, Vmath::Neg(), Nektar::SolverUtils::MMFSystem::NumericalMaxwellFlux(), and Vmath::Vadd().
Referenced by DoOdeRhs().
|
friend |
Definition at line 65 of file MMFMaxwell.h.
|
static |
Name of class.
Definition at line 93 of file MMFMaxwell.h.
|
protected |
Definition at line 109 of file MMFMaxwell.h.
Referenced by DoOdeRhs(), GenerateSigmaPML(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 112 of file MMFMaxwell.h.
Referenced by DoOdeRhs(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 106 of file MMFMaxwell.h.
Referenced by Printout_SurfaceCurrent(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 114 of file MMFMaxwell.h.
|
protected |
Definition at line 115 of file MMFMaxwell.h.
Referenced by v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 116 of file MMFMaxwell.h.
Referenced by ComputeMaterialMicroWaveCloak(), ComputeMaterialOpticalCloak(), v_GenerateSummary(), and v_InitObject().
CloakType Nektar::MMFMaxwell::m_CloakType |
Definition at line 78 of file MMFMaxwell.h.
Referenced by v_GenerateSummary(), and v_InitObject().
Definition at line 144 of file MMFMaxwell.h.
Referenced by AddCoriolis(), and v_InitObject().
Definition at line 125 of file MMFMaxwell.h.
Referenced by v_InitObject(), and WeakDGMaxwellDirDeriv().
bool Nektar::MMFMaxwell::m_DispersiveCloak |
Definition at line 80 of file MMFMaxwell.h.
Referenced by AddPML(), ComputeMaterialOpticalCloak(), DoOdeRhs(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 104 of file MMFMaxwell.h.
Referenced by ComputeMaterialMicroWaveCloak(), and v_InitObject().
|
protected |
Definition at line 105 of file MMFMaxwell.h.
Referenced by ComputeMaterialMicroWaveCloak(), ComputeMaterialOpticalCloak(), ComputeMaterialVector(), DoOdeRhs(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 131 of file MMFMaxwell.h.
Referenced by DoOdeRhs(), v_EvaluateExactSolution(), v_InitObject(), and v_SetInitialConditions().
|
protected |
Definition at line 123 of file MMFMaxwell.h.
Referenced by v_DoSolve(), v_GenerateSummary(), v_InitObject(), and v_SetInitialConditions().
Definition at line 135 of file MMFMaxwell.h.
Referenced by ComputeMaterialVector(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 133 of file MMFMaxwell.h.
Referenced by TestMaxwell1D(), and v_InitObject().
|
protected |
Definition at line 133 of file MMFMaxwell.h.
Referenced by TestMaxwell1D(), and v_InitObject().
|
protected |
Definition at line 133 of file MMFMaxwell.h.
Referenced by v_InitObject().
|
protected |
Definition at line 142 of file MMFMaxwell.h.
Referenced by v_InitObject().
|
protected |
Definition at line 138 of file MMFMaxwell.h.
Referenced by GenerateSigmaPML(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 139 of file MMFMaxwell.h.
Referenced by v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 110 of file MMFMaxwell.h.
Referenced by GenerateSigmaPML(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 139 of file MMFMaxwell.h.
Referenced by v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 139 of file MMFMaxwell.h.
Referenced by v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 107 of file MMFMaxwell.h.
Referenced by v_DoSolve(), and v_InitObject().
|
protected |
Definition at line 123 of file MMFMaxwell.h.
Referenced by GaussianPulse(), v_DoSolve(), v_GenerateSummary(), and v_InitObject().
|
protected |
Definition at line 122 of file MMFMaxwell.h.
Referenced by v_DoSolve(), v_GenerateSummary(), v_InitObject(), and v_SetInitialConditions().
|
protected |
Definition at line 122 of file MMFMaxwell.h.
Referenced by v_DoSolve(), v_GenerateSummary(), v_InitObject(), and v_SetInitialConditions().
|
protected |
Definition at line 122 of file MMFMaxwell.h.
Referenced by v_DoSolve(), v_GenerateSummary(), v_InitObject(), and v_SetInitialConditions().
|
protected |
Definition at line 138 of file MMFMaxwell.h.
Referenced by GenerateSigmaPML(), v_GenerateSummary(), and v_InitObject().
Definition at line 140 of file MMFMaxwell.h.
Referenced by AddPML(), and v_InitObject().
SourceType Nektar::MMFMaxwell::m_SourceType |
Definition at line 79 of file MMFMaxwell.h.
Referenced by v_DoSolve(), v_GenerateSummary(), and v_InitObject().
Definition at line 121 of file MMFMaxwell.h.
Referenced by v_DoSolve().
|
protected |
Definition at line 137 of file MMFMaxwell.h.
Referenced by v_DoSolve(), and v_InitObject().
Definition at line 134 of file MMFMaxwell.h.
Referenced by ComputeMaterialVector(), v_GenerateSummary(), and v_InitObject().
Definition at line 119 of file MMFMaxwell.h.
Referenced by AddPML(), ComputeMaterialOpticalCloak(), DoOdeRhs(), and v_InitObject().
|
protected |
Definition at line 118 of file MMFMaxwell.h.
Referenced by ComputeMaterialOpticalCloak(), and v_InitObject().