![]() |
waves
Basic FE playground
|
Class used to specify in Python the different contact interfaces. More...
#include <wContact.h>
Public Member Functions | |
Contact (Problem &pbl, int no, std::string _Contact_name, Eigen::Vector3d _slave_normal, double dg=0.) | |
Contact constructor. More... | |
Contact (Problem &pbl, std::string const &name, std::string _Contact_name, Eigen::Vector3d _slave_normal, double dg=0.) | |
Contact constructor. More... | |
Contact (Problem &pbl, int no, std::string _Contact_name, Eigen::Vector3d _slave_normal, std::vector< double > _dg) | |
Contact constructor. More... | |
Contact (Problem &pbl, std::string const &name, std::string _Contact_name, Eigen::Vector3d _slave_normal, std::vector< double > _dg) | |
Contact constructor. More... | |
void | setMaster (katoptron::Problem &pbl, int no, Eigen::Vector3d _master_normal) |
Set the master surface. More... | |
void | setMaster (katoptron::Problem &pbl, std::string const &name, Eigen::Vector3d _master_normal) |
Set the master surface. More... | |
void | setSlaveBoundary (std::string const &file_name, std::string const &name) |
Set slave boundary (optional) More... | |
void | setMasterBoundary (std::string const &file_name, std::string const &name) |
Set master boundary (optional) More... | |
void | setSlaveDirichlet (std::string const &file_name, std::string const &name) |
Set slave Dirichlet boundary (optional) More... | |
void | setMasterDirichlet (std::string const &file_name, std::string const &name) |
Set master Dirichlet boundary (optional) More... | |
void | setInitialyClosed () |
Activate all the Lagrange multipliers associated to the current contact interface. More... | |
void | setInitialyOpen () |
Inactivate all the Lagrange multipliers associated to the current contact interface. More... | |
void | setNoUpdate () |
Specify to the active set strategy that this interface should not be updated. More... | |
void | setUpdate () |
Specify to the active set strategy that this interface should be updated if required. More... | |
void | setMeshTying () |
Replace this contact interface by a mesh tying interface. More... | |
void | setSticking () |
Specify that this interface is sticking. More... | |
void | setNoSticking () |
Specify that this interface is not sticking (default). More... | |
void | setStandardShapeFunctions () |
Specify that the discretization of the Lagrange multipliers use standard shape functions (default). More... | |
void | setDualShapeFunctions () |
Specify that the discretization of the Lagrange multipliers use dual shape functions. More... | |
void | setSignoriniContact () |
Specify that this interface is a Signorini contact. More... | |
void | setTwoBodyContact () |
Specify that this interface is a not Signorini contact (default). More... | |
void | setInitiallyClosedNodes (std::vector< double > _initially_closed_nodes) |
Specify a list of slave nodes where the Lagrange multipliers should be initially closed. More... | |
void | setScale (double a) |
Specify the scale. More... | |
virtual void | write (std::ostream &out) const |
Display information. More... | |
Public Attributes | |
std::string | Contact_name |
std::vector< tbox::Element * > | slave_elems |
std::vector< tbox::Element * > | master_elems |
std::vector< int > | slave_boundary_nodes |
std::vector< int > | master_boundary_nodes |
std::vector< int > | slave_dirichlet_nodes |
std::vector< int > | master_dirichlet_nodes |
std::vector< int > | initially_closed_nodes = {} |
bool | initial_closed = true |
bool | standard_shape_functions = true |
bool | is_Signorini = false |
bool | no_Update = false |
bool | sticking = false |
bool | mesh_tying = false |
int | nb_Lagrange_multipliers = 1 |
Eigen::Vector3d | slave_normal |
Eigen::Vector3d | master_normal |
double | dg |
double | scale = 1. |
std::vector< double > | dg_vector |
Class used to specify in Python the different contact interfaces.
Contact::Contact | ( | katoptron::Problem & | pbl, |
int | no, | ||
std::string | _Contact_name, | ||
Eigen::Vector3d | _slave_normal, | ||
double | _dg = 0. |
||
) |
Contact::Contact | ( | katoptron::Problem & | pbl, |
std::string const & | name, | ||
std::string | _Contact_name, | ||
Eigen::Vector3d | _slave_normal, | ||
double | _dg = 0. |
||
) |
Contact::Contact | ( | katoptron::Problem & | pbl, |
int | no, | ||
std::string | _Contact_name, | ||
Eigen::Vector3d | _slave_normal, | ||
std::vector< double > | _dg | ||
) |
Contact constructor.
Arguments:
Contact::Contact | ( | katoptron::Problem & | pbl, |
std::string const & | name, | ||
std::string | _Contact_name, | ||
Eigen::Vector3d | _slave_normal, | ||
std::vector< double > | _dg | ||
) |
Contact constructor.
Arguments:
void Contact::setDualShapeFunctions | ( | ) |
Specify that the discretization of the Lagrange multipliers use dual shape functions.
void Contact::setInitiallyClosedNodes | ( | std::vector< double > | _initially_closed_nodes | ) |
Specify a list of slave nodes where the Lagrange multipliers should be initially closed.
void Contact::setInitialyClosed | ( | ) |
Activate all the Lagrange multipliers associated to the current contact interface.
void Contact::setInitialyOpen | ( | ) |
Inactivate all the Lagrange multipliers associated to the current contact interface.
void Contact::setMaster | ( | katoptron::Problem & | pbl, |
int | no, | ||
Eigen::Vector3d | _master_normal | ||
) |
Set the master surface.
Arguments:
void Contact::setMaster | ( | katoptron::Problem & | pbl, |
std::string const & | name, | ||
Eigen::Vector3d | _master_normal | ||
) |
Set the master surface.
Arguments:
void Contact::setMasterBoundary | ( | std::string const & | file_name, |
std::string const & | name | ||
) |
Set master boundary (optional)
Arguments:
void Contact::setMasterDirichlet | ( | std::string const & | file_name, |
std::string const & | name | ||
) |
void Contact::setMeshTying | ( | ) |
Replace this contact interface by a mesh tying interface.
void Contact::setNoSticking | ( | ) |
Specify that this interface is not sticking (default).
void Contact::setNoUpdate | ( | ) |
Specify to the active set strategy that this interface should not be updated.
void Contact::setScale | ( | double | a | ) |
Specify the scale.
void Contact::setSignoriniContact | ( | ) |
Specify that this interface is a Signorini contact.
void Contact::setSlaveBoundary | ( | std::string const & | file_name, |
std::string const & | name | ||
) |
Set slave boundary (optional)
Arguments:
void Contact::setSlaveDirichlet | ( | std::string const & | file_name, |
std::string const & | name | ||
) |
void Contact::setStandardShapeFunctions | ( | ) |
Specify that the discretization of the Lagrange multipliers use standard shape functions (default).
void Contact::setSticking | ( | ) |
Specify that this interface is sticking.
void Contact::setTwoBodyContact | ( | ) |
Specify that this interface is a not Signorini contact (default).
void Contact::setUpdate | ( | ) |
Specify to the active set strategy that this interface should be updated if required.
|
virtual |
Display information.
std::string katoptron::Contact::Contact_name |
double katoptron::Contact::dg |
std::vector<double> katoptron::Contact::dg_vector |
bool katoptron::Contact::initial_closed = true |
std::vector<int> katoptron::Contact::initially_closed_nodes = {} |
bool katoptron::Contact::is_Signorini = false |
std::vector<int> katoptron::Contact::master_boundary_nodes |
std::vector<int> katoptron::Contact::master_dirichlet_nodes |
std::vector<tbox::Element *> katoptron::Contact::master_elems |
Eigen::Vector3d katoptron::Contact::master_normal |
bool katoptron::Contact::mesh_tying = false |
int katoptron::Contact::nb_Lagrange_multipliers = 1 |
bool katoptron::Contact::no_Update = false |
double katoptron::Contact::scale = 1. |
std::vector<int> katoptron::Contact::slave_boundary_nodes |
std::vector<int> katoptron::Contact::slave_dirichlet_nodes |
std::vector<tbox::Element *> katoptron::Contact::slave_elems |
Eigen::Vector3d katoptron::Contact::slave_normal |
bool katoptron::Contact::standard_shape_functions = true |
bool katoptron::Contact::sticking = false |