|
| | IWG_Timestep (const IwgType aType, const ModelDimensionality aDimensionality, const IwgMode aMode=IwgMode::Iterative, const SymmetryMode aSymmetryMode=SymmetryMode::Unsymmetric, const DofMode aDofMode=DofMode::AllBlocksEqual, const SideSetDofLinkMode aSideSetDofLinkMode=SideSetDofLinkMode::FacetOnly) |
| | ~IWG_Timestep () override |
| void | set_timestepping_method (const EulerMethod aMethod, const bool aHaveStiffness=true) override |
| EulerMethod | method () const override |
| uint | order_active () const |
| uint | order_pending () const |
| void | compute_jacobian_and_rhs (Element *aElement, Matrix< real > &aJacobian, Vector< real > &aRHS) override |
| void | shift_fields () override |
| | called by main file to copy fields into last timestep eg.
|
| void | compute_bdf_coefficients () |
| | compute BDF coefficients (alpha, beta) for variable-step BDF and select the scheme for the upcoming step (startup ramp).
|
| const Vector< real > & | collect_qhist () |
| | The beta-weighted dof history of the scheme running this step:
|
| void | reset_fields () override |
| | called by main file to copy fields from last timestep eg.
|
| void | make_savepoint () |
| | save a deep copy of all dof fields, the step-size history and the step counter.
|
| void | restore_savepoint () |
| | restore the state stored by make_savepoint
|
| void | save_history_state (Vector< real > &aH, uint &aStepCount, real &aLastDeltaTime) const |
| | Export the multi-step integrator state for the memdump, so a warm restart can resume at full BDF order instead of re-anchoring the ramp at order 1 ( the restart cliff observed 2026-08-15: a BDF1 re-entry into an active state is a different tangent and detonated the Newton promotion ).
|
| void | history_field_labels (Cell< string > &aParents, Cell< string > &aHistory, const uint aDepth=0) const |
| | the dof labels ( aParents ) and their numbered history labels ( aHistory, label + "0".."order-1" ) — the fields shift_fields() rotates.
|
| bool | restore_history_state (const Vector< real > &aH, const uint aStepCount, const real aLastDeltaTime) |
| | Counterpart of save_history_state.
|
| TimestepMatrices * | matrices () override |
| | IWG (const IWG &)=delete |
| IWG & | operator= (const IWG &)=delete |
| | IWG (IWG &&)=delete |
| IWG & | operator= (IWG &&)=delete |
| | IWG (const IwgType aType, const ModelDimensionality aDimensionality, const IwgMode aMode=IwgMode::Iterative, const SymmetryMode aSymmetryMode=SymmetryMode::Unsymmetric, const DofMode aDofMode=DofMode::AllBlocksEqual, const SideSetDofLinkMode aSideSetDofLinkMode=SideSetDofLinkMode::FacetOnly) |
| virtual | ~IWG () |
| void | select_blocks (const Vector< id_t > &aBlockIDs) |
| | the blocks are selected over the IWG object.
|
| void | select_block (const id_t aBlockID) |
| void | select_sidesets (const Vector< id_t > &aSidesetIDs) |
| | the sidesets are selected over the IWG object.
|
| const Vector< id_t > & | selected_blocks () const |
| | returns the list of selected blocks
|
| const Vector< id_t > & | selected_sidesets () const |
| | returns the list of selected sidesets
|
| virtual void | compute_jacobian (Element *aElement, Matrix< real > &aJacobian) |
| virtual void | compute_convection (Element *aElement, Vector< real > &aConvection) |
| virtual void | compute_alpha_boundary_condition (Element *aElement, Matrix< real > &aJacobian, Vector< real > &aRHS) |
| virtual void | compute_rhs (Element *aElement, Vector< real > &aRHS) |
| virtual void | compute_rhs (Element *aElement, Matrix< real > &aRHS) |
| virtual void | link_to_group (Group *aGroup) |
| const Cell< string > & | dof_fields () const |
| | return the names of the potential fields
|
| const Cell< string > & | flux_fields () const |
| | return the names of the flux fields
|
| const Cell< string > & | tensor_fields () const |
| | special purpose if RHS is a matrix
|
| const Cell< string > & | other_fields () const |
| | return the names of the other fields
|
| const Cell< string > & | all_fields () const |
| | return the names of all fields
|
| const string & | field (const index_t aIndex) const |
| | return the names of a specific field
|
| index_t | number_of_fields () const |
| | return the number of connected fiends
|
| uint | number_of_dofs_per_node () const |
| | DEPRECATED!
|
| uint | number_of_dofs_per_node (const id_t aBlockID) const |
| uint | number_of_dofs_per_node_on_sideset (const id_t aSideSetID) const |
| uint | number_of_dofs_per_edge (const id_t aBlockID) const |
| uint | number_of_dofs_per_face (const id_t aBlockID) const |
| uint | number_of_dofs_per_cell (const id_t aBlockID) const |
| virtual uint | number_of_dofs_per_element (Block *aBlock) const |
| uint | number_of_nodes_per_element (SideSet *aSideSet) const |
| uint | number_of_edges_per_element (SideSet *aSideSet) const |
| uint | number_of_faces_per_element (SideSet *aSideSet) const |
| virtual uint | number_of_dofs_per_element (SideSet *aSideSet) const |
| uint | number_of_lambda_dofs (const id_t aSideSetID) const |
| const Vector< index_t > & | dofs_per_node (const id_t aBlockID) const |
| const Vector< index_t > & | dofs_per_edge (const id_t aBlockID) const |
| const Vector< index_t > & | dofs_per_face (const id_t aBlockID) const |
| const Vector< index_t > & | dofs_per_cell (const id_t aBlockID) const |
| const Vector< index_t > & | lambda_dofs (const id_t aSideSetID) const |
| const Vector< index_t > & | dofs_per_node_on_sideset (const id_t aSideSetID, const bool aSideSetOnly=false) const |
| const Vector< index_t > & | dofs_per_edge_on_sideset (const id_t aSideSetID, const bool aSideSetOnly=false) const |
| const Vector< index_t > & | dofs_per_face_on_sideset (const id_t aSideSetID, const bool aSideSetOnly=false) const |
| const Vector< index_t > & | dofs_per_cell_on_sideset (const id_t, const bool aSideSetOnly=false) const |
| const Vector< index_t > & | dof_entity_types () const |
| const Vector< index_t > & | default_dof_types () const |
| index_t | edge_multiplicity () const |
| | tells how many dofs sit on one edge
|
| index_t | face_multiplicity () const |
| | tells how many dofs sit on one face
|
| index_t | cell_multiplicity () const |
| | tells how many dofs sit on one cell
|
| index_t | edge_field_index (const index_t aDofType) const |
| index_t | face_field_index (const index_t aDofType) const |
| const Vector< index_t > & | dofs_per_sideset (const id_t aSidesetID) const |
| | intended to be used for interface dof creation
|
| uint | num_rhs_cols () const |
| IwgType | type () const |
| | return the type of this IWG
|
| ModelDimensionality | model_dimensionality () const |
| | return the dimensionality of this IWG
|
| void | set_interpolation_type (const InterpolationType aType) |
| | set the interpolation type of node elements
|
| InterpolationType | interpolation_type () const |
| | return the interpolation type of node elements
|
| IwgMode | mode () const |
| | return the calculation mode of this IWG
|
| real | omega () const |
| | get relaxation parameter
|
| void | set_omega (const real &aOmega) |
| | set the relaxation parameter
|
| void | set_penalty (const real aPsi, const uint aIndex=0) |
| | set the penalty parameter
|
| real | penalty (const uint aIndex) const |
| | get penalty parameter
|
| SymmetryMode | symmetry_mode () const |
| | flag telling if matrices are symmetric
|
| void | set_num_rhs_cols (const uint &aNumRhsCols) |
| | special function, must be called before init->jacobian() is called
|
| virtual void | set_wetted_sidesets (const Vector< id_t > &aSideSets) |
| const Vector< id_t > & | wetted_sidesets () const |
| real & | delta_time () |
| uint & | time_loop () |
| void | add_fields (const Cell< string > &aFieldLabels) |
| | add additional non-dof fields to mOtherFields and mAllFields; a label "alpha" also sets mHasConvection
|
| bool | has_convection () const |
| | tells if this field has an alpha boundary condition
|
| virtual void | compute_boundary_flux_matrix (Element *aElement, const uint aDirection, Matrix< real > &aJacobian) |
| | special function to compute the boundary flux in magnetics impose zero as weak BC
|
| const Matrix< real > & | N (const uint &aIntegrationPoint) |
| void | set_blocks (const Vector< id_t > &aBlockIDs, const Cell< DomainType > &aBlockTypes) |
| void | set_sidesets (const Vector< id_t > &aSideSetIDs, const Cell< DomainType > &aSideSetTypes) |
| DomainType | block_type (const id_t aID) const |
| DomainType | sideset_type (const id_t aID) const |
| GroupActivationMode | block_activation_mode (const DomainType aType) const |
| | returns the activation mode for a block based on its domain type
|
| GroupActivationMode | sideset_activation_mode (const DomainType aType) const |
| | returns the activation mode for a sideset based on its domain type
|
| virtual void | initialize () |
| virtual void | initialize (const IwgType aType) |
| bool | is_initialized () const |
| bool | enrich_sidesets () const |
| virtual int | check_mesh (Mesh *aMesh, const proc_t aMasterRank=0) |
| | This routine makes sure that the mesh fulfills the requirements.
|
| void | hide_fields_from_exodus (Mesh *aMesh) |
| | hides fields that are not to be saved to exodus
|
| virtual bool | has_edge_dofs () const |
| | flag telling if the IWG has edge dofs
|
| uint | lambda_multiplicity () const |
| | if this number is > 0, we have langrande dofs such as contact
|
| SideSetDofLinkMode | sideset_dof_link_mode () const |
| | return the dof linking mode for sideset
|
| void | set_algorithm (const SolverAlgorithm aAlgorithm) |
| | sets the mode for the solver algorithm
|
| SolverAlgorithm | algorithm () const |
| | returns the solver algorithm
|
| void | collect_node_data (Element *aElement, Cell< string > &aFieldLabels, Matrix< real > &aData) |
| void | collect_node_data (Element *aElement, const string &aFieldLabel) |
| void | collect_node_data (Element *aElement, const Cell< string > &aFieldLabels) |
| void | collect_node_data (Element *aElement, const string &aFieldLabel, Vector< real > &aData) |
| void | collect_node_data (Element *aElement, const string &aFieldLabel, Vector< real > &aData, uint &aOffset) |
| void | collect_edge_data (Element *aElement, const string &aEdgeFieldLabel, Vector< real > &aData) |
| void | collect_edge_data (Element *aElement, const string &aEdgeFieldLabel, const string &aFaceFieldLabel, Vector< real > &aData) |
| void | collect_lambda_data (Element *aElement, const string &aFieldLabel, real &aData) |
| uint | doftype (const string &aDofLabel) const |
| | return the type id of a dof
|
| void | unique_and_rearrange (Cell< string > &aDofs, const bool aMakeMap=false) |
| | makes sure that dof list is unique and also creares dofmap must be accessible by Mawell_FieldList as well
|
| bool | compute_jacobian_on_sideset () const |
| | called by dof manager
|
| bool | compute_jacobian_on_block () const |
| | called by dof manager
|
| void | print_dofs (Element *aElement, const bool aLocal=false) |
| | for debugging
|
| const string & | dof_label (const index_t aDofIndex) |
| | for debugging
|
| Calculator * | calc () |
| void | set_abstract_nodes (Cell< mesh::Node * > &aNodes) |
| void | set_orphaned_nodes (Cell< mesh::Node * > &aNodes) |
| Cell< mesh::Node * > & | abstract_nodes () |
| Cell< mesh::Node * > & | orphaned_nodes () |
| index_t | abstract_dof_type () const |
| virtual void | collect_abstract_node_dofs () |
| virtual void | create_custom_vectors_and_matrices (Calculator *aCalc) |
| uint | get_field_index (const uint aDofType) const |
| virtual void | custom_postprocess () |
| void | set_abstract_dof_type (const uint aDofType) |