#include <stdio.h>
Go to the source code of this file.
Functions | |
int | pdr_plast_flow_select_el_coeff_vect (int Problem_id, int *Coeff_vect_ind) |
double * | pdr_plast_flow_select_el_coeff (int Problem_id, double **Mval, double **Axx, double **Axy, double **Axz, double **Ayx, double **Ayy, double **Ayz, double **Azx, double **Azy, double **Azz, double **Bx, double **By, double **Bz, double **Tx, double **Ty, double **Tz, double **Cval, double **Lval, double **Qx, double **Qy, double **Qz, double **Sval) |
int | pdr_plast_flow_el_coeff (int Problem_id, int Elem, int Mat_num, double Hsize, int Pdeg, double *X_loc, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Xcoor, double *Uk_val, double *Uk_x, double *Uk_y, double *Uk_z, double *Un_val, double *Un_x, double *Un_y, double *Un_z, double *Mval, double *Axx, double *Axy, double *Axz, double *Ayx, double *Ayy, double *Ayz, double *Azx, double *Azy, double *Azz, double *Bx, double *By, double *Bz, double *Tx, double *Ty, double *Tz, double *Cval, double *Lval, double *Qx, double *Qy, double *Qz, double *Sval, double Tk, double *Dynamic_viscosity, double Density, double Reference_density, double Reference_velocity, double Delta_t, double Implicitness_coeff, double Body_force_x, double Body_force_y, double Body_force_z) |
int | pdr_plast_flow_comp_el_stiff_mat (int Problem_id, int El_id, int Comp_sm, int Pdeg_in, int *Nrdofs_loc, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
int | pdr_plast_flow_comp_fa_stiff_mat (int Problem_id, int Fa_id, int Comp_sm, int Pdeg_in, int *Nrdofs_loc, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
int | pdr_plast_flow_compute_CFL (int Problem_id, double *CFL_min_p, double *CFL_max_p, double *CFL_ave_p) |
int | pdr_plast_flow_get_velocity_at_point (int Problem_id, int El_id, double *X_loc, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Velocity, double *DVel_dx, double *DVel_dy, double *DVel_dz) |
int | pdr_plast_flow_get_stress_at_point (int Problem_id, int El_id, double *X_loc, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Stress, double *DStress_dx, double *DStress_dy, double *DStress_dz) |
int | pdr_plast_flow_get_strain_rate_at_point (int Problem_id, int El_id, double *X_loc, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *StrainR, double *DStrainR_dx, double *DStrainR_dy, double *DStrainR_dz) |
int | pdr_plast_flow_give_me_temperature_at_point (int Problem_id, int El_id, double *X_loc, double *Base_phi, double *Base_dphix, double *Base_dphiy, double *Base_dphiz, double *Temp, double *DTemp_dx, double *DTemp_dy, double *DTemp_dz) |
int pdr_plast_flow_comp_el_stiff_mat | ( | int | Problem_id, | |
int | El_id, | |||
int | Comp_sm, | |||
int | Pdeg_in, | |||
int * | Nrdofs_loc, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
----------------------------------------------------------- pdr_plast_flow_comp_el_stiff_mat - to construct UNCONSTRAINED stiffness matrix and load vector for an element ------------------------------------------------------------
!! coarse element dofs should be supplied by calling routine !!!
!! coarse element dofs should be supplied by calling routine !!!
!! coarse element dofs should be supplied by calling routine !!!
----------------------------------------------------------------------!
--------------------- LOOP OVER GAUSS POINTS -------------------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
-------------------- MATERIAL DATA AT GAUSS POINT ----------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE BOUSINESSQUE FORCE AT GAUSS POINT -------------!
----------------------------------------------------------------------!
!! coarse element dofs should be supplied by calling routine !!!
int pdr_plast_flow_comp_fa_stiff_mat | ( | int | Problem_id, | |
int | Fa_id, | |||
int | Comp_sm, | |||
int | Pdeg_in, | |||
int * | Nrdofs_loc, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
----------------------------------------------------------- pdr_plast_flow_comp_fa_stiff_mat - to construct UNCONSTRAINED stiffness matrix and load vector for a face ------------------------------------------------------------
!! need some trick for coarse solve with different Pdeg !!!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
------------------ FLOW BOUNDARY CONDITIONS -----------------------!
-------------------------------------------------------------------!
-------------------------------------------------------------------!
-------------------------- STRESS PINS --------------------------!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
-------------------------- VELOCITY PINS --------------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
--------------------------- BC_PLAST_FLOW_SYMM ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
--------------------------- BC_PLAST_FLOW_FREE_SLIP ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
------------------------------------------------------------------!
-------------------------- BC_PLAST_FLOW_VEL -----------------------!
------------------------ BC_PLAST_FLOW_NOSLIP ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
----------------------- BC_PLAST_FLOW_TRACTION -----------------------!
----------------------------------------------------------------------!
------------ CALCULATE EQUIVALENT VISCOSITY AT GAUSS POINT -----------!
----------------------------------------------------------------------!
-------------------------------------------------------------------!
-------------------------- FRICTION ------------------------------!
!! need some trick for coarse solve with different Pdeg !!!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
------------------ FLOW BOUNDARY CONDITIONS -----------------------!
-------------------------------------------------------------------!
-------------------------------------------------------------------!
-------------------------- STRESS PINS --------------------------!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
-------------------------- VELOCITY PINS --------------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
--------------------------- BC_PLAST_FLOW_SYMM ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
------------------------------------------------------------------!
-------------------------- BC_PLAST_FLOW_VEL -----------------------!
------------------------ BC_PLAST_FLOW_NOSLIP ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
----------------------- BC_PLAST_FLOW_TRACTION -----------------------!
-------------------------------------------------------------------!
-------------------------- FRICTION ------------------------------!
!! need some trick for coarse solve with different Pdeg !!!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
------------------ FLOW BOUNDARY CONDITIONS -----------------------!
-------------------------------------------------------------------!
-------------------------------------------------------------------!
-------------------------- STRESS PINS --------------------------!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
-------------------------- VELOCITY PINS --------------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
--------------------------- BC_PLAST_FLOW_SYMM ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
--------------------------- BC_PLAST_FLOW_FREE_SLIP ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
------------------------------------------------------------------!
-------------------------- BC_PLAST_FLOW_VEL -----------------------!
------------------------ BC_PLAST_FLOW_NOSLIP ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
----------------------- BC_PLAST_FLOW_TRACTION -----------------------!
----------------------------------------------------------------------!
------------ CALCULATE EQUIVALENT VISCOSITY AT GAUSS POINT -----------!
----------------------------------------------------------------------!
-------------------------------------------------------------------!
-------------------------- FRICTION ------------------------------!
!! need some trick for coarse solve with different Pdeg !!!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
------------------ FLOW BOUNDARY CONDITIONS -----------------------!
-------------------------------------------------------------------!
-------------------------------------------------------------------!
-------------------------- STRESS PINS --------------------------!
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
-------------------------- VELOCITY PINS --------------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
--------------------------- BC_PLAST_FLOW_SYMM ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
--------------------------- BC_PLAST_FLOW_FREE_SLIP ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
------------------------------------------------------------------!
-------------------------- BC_PLAST_FLOW_VEL -----------------------!
------------------------ BC_PLAST_FLOW_NOSLIP ----------------------!
DIAGNOSTICS - uncomment !
DIAGNOSTICS - uncomment !
-------------------------------------------------------------------!
----------------------- BC_PLAST_FLOW_TRACTION -----------------------!
----------------------------------------------------------------------!
------------ CALCULATE EQUIVALENT VISCOSITY AT GAUSS POINT -----------!
----------------------------------------------------------------------!
-------------------------------------------------------------------!
-------------------------- FRICTION ------------------------------!
int pdr_plast_flow_compute_CFL | ( | int | Problem_id, | |
double * | CFL_min_p, | |||
double * | CFL_max_p, | |||
double * | CFL_ave_p | |||
) |
----------------------------------------------------------- pdr_plast_flow_compute_CFL - to compute global CFL numbers (for a subdomain) ------------------------------------------------------------
int pdr_plast_flow_el_coeff | ( | int | Problem_id, | |
int | Elem, | |||
int | Mat_num, | |||
double | Hsize, | |||
int | Pdeg, | |||
double * | X_loc, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Xcoor, | |||
double * | Uk_val, | |||
double * | Uk_x, | |||
double * | Uk_y, | |||
double * | Uk_z, | |||
double * | Un_val, | |||
double * | Un_x, | |||
double * | Un_y, | |||
double * | Un_z, | |||
double * | Mval, | |||
double * | Axx, | |||
double * | Axy, | |||
double * | Axz, | |||
double * | Ayx, | |||
double * | Ayy, | |||
double * | Ayz, | |||
double * | Azx, | |||
double * | Azy, | |||
double * | Azz, | |||
double * | Bx, | |||
double * | By, | |||
double * | Bz, | |||
double * | Tx, | |||
double * | Ty, | |||
double * | Tz, | |||
double * | Cval, | |||
double * | Lval, | |||
double * | Qx, | |||
double * | Qy, | |||
double * | Qz, | |||
double * | Sval, | |||
double | Tk, | |||
double * | Dynamic_viscosity, | |||
double | Density, | |||
double | Reference_density, | |||
double | Reference_velocity, | |||
double | Delta_t, | |||
double | Implicitness_coeff, | |||
double | Body_force_x, | |||
double | Body_force_y, | |||
double | Body_force_z | |||
) |
-------------------------------------------------------- pdr_plast_flow_el_coeff - to return coefficients for element integrals ----------------------------------------------------------
----------------------------------------------------------------------!
------------ CALCULATE EQUIVALENT VISCOSITY AT GAUSS POINT -----------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE ELEM. "SIZE" (h_k) AT GAUSS POINT----------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
--------- CALCULATE STABILIZATION COEFFS FRANCA/FREY -- ----------- --!
----------------------------------------------------------------------!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
----------------------------------------------------------------------!
---------- CALCULATE STABILIZATION COEFFS TEZDUYAR ---------------- --!
----------------------------------------------------------------------!
!!!!!!!!!!!! Tezduyar, Hughes version: tau_pres based on h_size and u_ref
!!!!!!!!!!!! HANSBO version !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
----------------------------------------------------------------------!
---------- CALCULATE STABILIZATION COEFFS ------------------------- --!
----------------------------------------------------------------------!
!!!!!!!!!!!! yet another Tazduyar version !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
----------------------------------------------------------------------!
---------- CALCULATE STABILIZATION COEFFS ------------------------- --!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
SPLITTING OF TERMS INTO LHS AND RHS FOR ALPHA TIME INTEGRATION SCHEME !
----------------------------------------------------------------------!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
----------------------------------------------------------------------!
------ CALCULATE MATRICES OF WEAK FORM COEFFICIENTS FOR LHS ----------!
----------------------------------------------------------------------!
!! ---- EACH matrix has to have proper dimension so that the corrersponding --- !!!
!! ---- term in the weak formulation has the final dimension [kg/(m*s^3)] ----- !!!
!!!!!!!!!!!! Tezduyar, Hughes version: +1.0
!!!!!!!!!!!! Tezduyar, Hughes version: +1.0*(tau_pres/Delta_t)
!!!!!!!!!!!! Franca and Frey version: -1.0 * tau / Density
!!!!!!!!!!!! Tezduyar, Hughes version: +1.0*tau_pres/Density
----------------------------------------------------------------------!
------ CALCULATE TIME DERIVATIVE AND STABILIZATION TERMS FOR RHS -----!
----------------------------------------------------------------------!
!!!!!!!!!!!! Tezduyar, Hughes version: +1.0*tau_pres/Delta_t
----------------------------------------------------------------------!
---------------- CALCULATE BODY FORCES TERMS FOR RHS -----------------!
----------------------------------------------------------------------!
!!!!!!!!!!!! Franca and Frey version: -1.0 * tau * Body_force_x / Density
!!!!!!!!!!!! Tezduyar, Hughes version: +1.0*tau_pres * Body_force_x/Density
----------------------------------------------------------------------!
--- SPLIT TERMS INTO LHS AND RHS FOR ALPHA TIME INTEGRATION SCHEME ---!
----------------------------------------------------------------------!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
----------------------------------------------------------------------!
------------ CALCULATE EQUIVALENT VISCOSITY AT GAUSS POINT -----------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
SPLITTING OF TERMS INTO LHS AND RHS FOR ALPHA TIME INTEGRATION SCHEME !
----------------------------------------------------------------------!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
----------------------------------------------------------------------!
------ CALCULATE MATRICES OF WEAK FORM COEFFICIENTS FOR LHS ----------!
----------------------------------------------------------------------!
!! ---- EACH matrix has to have proper dimension so that the corrersponding --- !!!
!! ---- term in the weak formulation has the final dimension [kg/(m*s^3)] ----- !!!
----------------------------------------------------------------------!
------ CALCULATE TIME DERIVATIVE AND STABILIZATION TERMS FOR RHS -----!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
---------------- CALCULATE BODY FORCES TERMS FOR RHS -----------------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
------------ CALCULATE EQUIVALENT VISCOSITY AT GAUSS POINT -----------!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
SPLITTING OF TERMS INTO LHS AND RHS FOR ALPHA TIME INTEGRATION SCHEME !
----------------------------------------------------------------------!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
----------------------------------------------------------------------!
------ CALCULATE MATRICES OF WEAK FORM COEFFICIENTS FOR LHS ----------!
----------------------------------------------------------------------!
!! ---- EACH matrix has to have proper dimension so that the corrersponding --- !!!
!! ---- term in the weak formulation has the final dimension [kg/(m*s^3)] ----- !!!
----------------------------------------------------------------------!
------ CALCULATE TIME DERIVATIVE AND STABILIZATION TERMS FOR RHS -----!
----------------------------------------------------------------------!
----------------------------------------------------------------------!
---------------- CALCULATE BODY FORCES TERMS FOR RHS -----------------!
----------------------------------------------------------------------!
int pdr_plast_flow_get_strain_rate_at_point | ( | int | Problem_id, | |
int | El_id, | |||
double * | X_loc, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | StrainR, | |||
double * | DStrainR_dx, | |||
double * | DStrainR_dy, | |||
double * | DStrainR_dz | |||
) |
----------------------------------------------------------- pdr_plast_flow_get_strain_rate_at_point - to provide the strain rate tensor and its gradient at a particular point given its local coordinates within an element MODULE PROVIDES IMPLEMENTATION FOR ALL OTHER MODULES (in pds_plast_flow_weakform.c) ------------------------------------------------------------
int pdr_plast_flow_get_stress_at_point | ( | int | Problem_id, | |
int | El_id, | |||
double * | X_loc, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Stress, | |||
double * | DStress_dx, | |||
double * | DStress_dy, | |||
double * | DStress_dz | |||
) |
----------------------------------------------------------- pdr_plast_flow_get_stress_at_point - to provide the stress tensor and its gradient at a particular point given its local coordinates within an element MODULE PROVIDES IMPLEMENTATION FOR ALL OTHER MODULES (in pds_plast_flow_weakform.c) ------------------------------------------------------------
int pdr_plast_flow_get_velocity_at_point | ( | int | Problem_id, | |
int | El_id, | |||
double * | X_loc, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Velocity, | |||
double * | DVel_dx, | |||
double * | DVel_dy, | |||
double * | DVel_dz | |||
) |
----------------------------------------------------------- pdr_plast_flow_get_velocity_at_point - to provide the velocity and its gradient at a particular point given its local coordinates within an element MODULE PROVIDES IMPLEMENTATION FOR ALL OTHER MODULES (in pds_plast_flow_weakform.c) ------------------------------------------------------------
int pdr_plast_flow_give_me_temperature_at_point | ( | int | Problem_id, | |
int | El_id, | |||
double * | X_loc, | |||
double * | Base_phi, | |||
double * | Base_dphix, | |||
double * | Base_dphiy, | |||
double * | Base_dphiz, | |||
double * | Temp, | |||
double * | DTemp_dx, | |||
double * | DTemp_dy, | |||
double * | DTemp_dz | |||
) |
----------------------------------------------------------- pdr_plast_flow_give_me_temperature_at_point - to provide the temperature and its gradient at a particular point given its local coordinates within an element PLAST_FLOW MODULE ASKS FOR IMPLEMENTATION - it has to be provided by procedures defined in ls_intf directory of the problem module that uses plast_flow as submodule HERE: plast_flow gives itself trivial solution ------------------------------------------------------------
double* pdr_plast_flow_select_el_coeff | ( | int | Problem_id, | |
double ** | Mval, | |||
double ** | Axx, | |||
double ** | Axy, | |||
double ** | Axz, | |||
double ** | Ayx, | |||
double ** | Ayy, | |||
double ** | Ayz, | |||
double ** | Azx, | |||
double ** | Azy, | |||
double ** | Azz, | |||
double ** | Bx, | |||
double ** | By, | |||
double ** | Bz, | |||
double ** | Tx, | |||
double ** | Ty, | |||
double ** | Tz, | |||
double ** | Cval, | |||
double ** | Lval, | |||
double ** | Qx, | |||
double ** | Qy, | |||
double ** | Qz, | |||
double ** | Sval | |||
) |
!!!!! OLD OBSOLETE VERSION !!!!!! ----------------------------------------------------------- pdr_plast_flow_select_el_coeff - to select coefficients returned to approximation routines for element integrals ------------------------------------------------------------
!!!!! OLD OBSOLETE VERSION !!!!!!
int pdr_plast_flow_select_el_coeff_vect | ( | int | Problem_id, | |
int * | Coeff_vect_ind | |||
) |
----------------------------------------------------------- pdr_plast_flow_select_el_coeff_vect - to select coefficients returned to approximation routines for element integrals ------------------------------------------------------------