PeriPyDIC
Public Member Functions | Public Attributes | List of all members
problem.pd.PD_problem Class Reference

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

Collaboration diagram for problem.pd.PD_problem:
Collaboration graph

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.
 

Detailed Description

Class to define the peridynamic problem, i.e.

applying boundaries conditions to the geomety and solve the problem

Constructor & Destructor Documentation

§ __init__()

def problem.pd.PD_problem.__init__ (   self,
  deck 
)

Constructor.

Parameters
deckThe input deck

Member Function Documentation

§ compute_b()

def problem.pd.PD_problem.compute_b (   self,
  deck 
)

Compute the external force density "b" applied on each node.

Parameters
deckThe input deck

§ compute_weighted_volume()

def problem.pd.PD_problem.compute_weighted_volume (   self,
  deck 
)

Compute the weighted volume for each node.

Parameters
deckThe input deck

§ internal_force()

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.

Parameters
deckThe input deck
ysolverInitial guess for Actual nodes' position
t_nId of the time step
Returns
Internal force density for each node

§ jacobian_matrix()

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.

Parameters
deckThe input deck
ysolverInitial guess for Actual nodes' position
t_nId of the time step
perturbation_factorMagnitude of the perturbation factor
Returns
Jacobian matrix

§ newton_step()

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.

Parameters
deckThe input deck
ysolverInitial guess for Actual nodes' position
t_nId of the time step
perturbation_factorMagnitude of the perturbation factor
residualResidual for each node resulting from a solving step
Returns
Displacement increment for each node

§ quasi_static_solver()

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.

Parameters
deckThe input deck
ysolverInitial guess for Actual nodes' position

§ residual_vector()

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.

Parameters
deckThe input deck
ysolverInitial guess for Actual nodes' position
t_nId of the time step
Returns
Residual for each node

§ shape_loading()

def problem.pd.PD_problem.shape_loading (   self,
  deck,
  t_n,
  con,
  i 
)

Provide the loading shape.

Parameters
deckThe input deck
t_nId of the time step
conType of loading, "Force" or "Displacement"
iId of Node "i"

§ strain_calculation()

def problem.pd.PD_problem.strain_calculation (   self,
  deck,
  id_Node_1,
  id_Node_2 
)

Provide the strain between 2 nodes.

Parameters
deckThe input deck
id_Node_1Id of the 1st node
id_Node_2Id of the 2nd node

§ update_ext_state_data()

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.

Parameters
mat_classData from the material class
t_nId of the time step

§ update_ext_state_visco_data()

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.

Parameters
mat_classData from the material class
t_nId of the time step

§ update_force_data()

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.

Parameters
mat_classData from the material class
t_nId of the time step

The documentation for this class was generated from the following file: