|
PeriPyDIC
|
Class to define the peridynamic problem, i.e. More...

Public Member Functions | |
| def | __init__ (self, deck) |
| Constructor. More... | |
| def | compute_b (self, deck) |
| Compute the external force density "b" applied on each node. More... | |
| def | shape_loading (self, deck, t_n, con, i) |
| Provide the loading shape. More... | |
| def | compute_weighted_volume (self, deck) |
| Compute the weighted volume for each node. More... | |
| def | internal_force (self, deck, ysolver, t_n) |
| Provide the internal force density for each node for a given time step t_n. More... | |
| def | residual_vector (self, deck, ysolver, t_n) |
| Provide the residual for each node after a solving step for a given time step t_n. More... | |
| def | jacobian_matrix (self, deck, ysolver, t_n, perturbation_factor) |
| Provide the Jacobian (stiffness) matrix for a given time step t_n for the Newton's method. More... | |
| def | newton_step (self, deck, ysolver, t_n, perturbation_factor, residual) |
| Provide the displacement increment resultiong for the Newton's method, for each node for a given time step t_n. More... | |
| def | quasi_static_solver (self, deck, ysolver) |
| Solve the peridynamic problem at each time step using the Newton's method to obtain the actual nodes' position. More... | |
| def | update_force_data (self, mat_class, t_n) |
| Store the internal force density for each node at each time step. More... | |
| def | update_ext_state_data (self, mat_class, t_n) |
| Store the extension for each node between itself and its family. More... | |
| def | update_ext_state_visco_data (self, mat_class, t_n) |
| Store the viscous extension for each node between itself and its family. More... | |
| def | strain_calculation (self, deck, id_Node_1, id_Node_2) |
| Provide the strain between 2 nodes. More... | |
Public Attributes | |
| neighbors | |
| Family of each node. | |
| y | |
| Nodes' positions stored for each time step. | |
| force_int | |
| Global internal force density array storing the force density attached to each node for each time step. | |
| ext | |
| Extension array storing the extension at each node between the node and its family. | |
| b | |
| External force density "b" applied on each node. | |
| weighted_volume | |
| Weighted volume for each node. | |
| mat_class | |
| Data from the material class. | |
Class to define the peridynamic problem, i.e.
applying boundaries conditions to the geomety and solve the problem
| def problem.pd.PD_problem.__init__ | ( | self, | |
| deck | |||
| ) |
Constructor.
| deck | The input deck |
| def problem.pd.PD_problem.compute_b | ( | self, | |
| deck | |||
| ) |
Compute the external force density "b" applied on each node.
| deck | The input deck |
| def problem.pd.PD_problem.compute_weighted_volume | ( | self, | |
| deck | |||
| ) |
Compute the weighted volume for each node.
| deck | The input deck |
| def problem.pd.PD_problem.internal_force | ( | self, | |
| deck, | |||
| ysolver, | |||
| t_n | |||
| ) |
Provide the internal force density for each node for a given time step t_n.
| deck | The input deck |
| ysolver | Initial guess for Actual nodes' position |
| t_n | Id of the time step |
| def problem.pd.PD_problem.jacobian_matrix | ( | self, | |
| deck, | |||
| ysolver, | |||
| t_n, | |||
| perturbation_factor | |||
| ) |
Provide the Jacobian (stiffness) matrix for a given time step t_n for the Newton's method.
| deck | The input deck |
| ysolver | Initial guess for Actual nodes' position |
| t_n | Id of the time step |
| perturbation_factor | Magnitude of the perturbation factor |
| def problem.pd.PD_problem.newton_step | ( | self, | |
| deck, | |||
| ysolver, | |||
| t_n, | |||
| perturbation_factor, | |||
| residual | |||
| ) |
Provide the displacement increment resultiong for the Newton's method, for each node for a given time step t_n.
| deck | The input deck |
| ysolver | Initial guess for Actual nodes' position |
| t_n | Id of the time step |
| perturbation_factor | Magnitude of the perturbation factor |
| residual | Residual for each node resulting from a solving step |
| def problem.pd.PD_problem.quasi_static_solver | ( | self, | |
| deck, | |||
| ysolver | |||
| ) |
Solve the peridynamic problem at each time step using the Newton's method to obtain the actual nodes' position.
| deck | The input deck |
| ysolver | Initial guess for Actual nodes' position |
| def problem.pd.PD_problem.residual_vector | ( | self, | |
| deck, | |||
| ysolver, | |||
| t_n | |||
| ) |
Provide the residual for each node after a solving step for a given time step t_n.
| deck | The input deck |
| ysolver | Initial guess for Actual nodes' position |
| t_n | Id of the time step |
| def problem.pd.PD_problem.shape_loading | ( | self, | |
| deck, | |||
| t_n, | |||
| con, | |||
| i | |||
| ) |
Provide the loading shape.
| deck | The input deck |
| t_n | Id of the time step |
| con | Type of loading, "Force" or "Displacement" |
| i | Id of Node "i" |
| def problem.pd.PD_problem.strain_calculation | ( | self, | |
| deck, | |||
| id_Node_1, | |||
| id_Node_2 | |||
| ) |
Provide the strain between 2 nodes.
| deck | The input deck |
| id_Node_1 | Id of the 1st node |
| id_Node_2 | Id of the 2nd node |
| def problem.pd.PD_problem.update_ext_state_data | ( | self, | |
| mat_class, | |||
| t_n | |||
| ) |
Store the extension for each node between itself and its family.
| mat_class | Data from the material class |
| t_n | Id of the time step |
| def problem.pd.PD_problem.update_ext_state_visco_data | ( | self, | |
| mat_class, | |||
| t_n | |||
| ) |
Store the viscous extension for each node between itself and its family.
| mat_class | Data from the material class |
| t_n | Id of the time step |
| def problem.pd.PD_problem.update_force_data | ( | self, | |
| mat_class, | |||
| t_n | |||
| ) |
Store the internal force density for each node at each time step.
| mat_class | Data from the material class |
| t_n | Id of the time step |
1.8.12