FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
mmaterial Module Reference

This module summarizes all information of material properties. More...

Data Types

type  tmaterial
 Structure to manage all material related data. More...
 
type  tshellmat
 

Functions/Subroutines

subroutine initmaterial (material)
 Initializer. More...
 
subroutine finalizematerial (material)
 Finalizer. More...
 
subroutine initializematls (nm)
 Initializer. More...
 
subroutine finalizematls ()
 Finalizer. More...
 
subroutine modifymatl (n, m, v)
 Set value of variable(m) of material n to v. More...
 
subroutine printmaterial (nfile, material)
 Print out the material properties. More...
 
integer function fetchdigit (npos, cnum)
 Fetch material type. More...
 
subroutine setdigit (npos, ival, mtype)
 Modify material type. More...
 
integer function getelastictype (mtype)
 Get elastic type. More...
 
integer function getyieldfunction (mtype)
 Get type of yield function. More...
 
integer function gethardentype (mtype)
 Get type of hardening. More...
 
logical function iskinematicharden (mtype)
 If it is a kinematic hardening material? More...
 
logical function iselastic (mtype)
 If it is an elastic material? More...
 
logical function iselastoplastic (mtype)
 If it is an elastoplastic material? More...
 
logical function ishyperelastic (mtype)
 If it is a hyperelastic material? More...
 
logical function isviscoelastic (mtype)
 If it is an viscoelastic material? More...
 
subroutine ep2e (mtype)
 Set material type of elastoplastic to elastic. More...
 
integer function getconnectortype (mtype)
 Get type of connector. More...
 
integer function getnumofspring_dparam (material)
 Get number of spring_d parameters. More...
 
integer function getnumofspring_aparam (material)
 Get number of spring_a parameters. More...
 
integer function getnumofdashpot_dparam (material)
 Get number of dashpot_d parameters. More...
 
integer function getnumofdashpot_aparam (material)
 Get number of dashpot_a parameters. More...
 

Variables

integer(kind=kint), parameter infinitesimal = 0
 
integer(kind=kint), parameter totallag = 1
 
integer(kind=kint), parameter updatelag = 2
 
integer(kind=kint), parameter usermaterial = 100000
 
integer(kind=kint), parameter elastic = 110000
 
integer(kind=kint), parameter mn_orthoelastic = 111000
 
integer(kind=kint), parameter userelastic = 112000
 
integer(kind=kint), parameter eplastic = 120000
 
integer(kind=kint), parameter neohooke = 130000
 
integer(kind=kint), parameter mooneyrivlin = 131000
 
integer(kind=kint), parameter arrudaboyce = 132000
 
integer(kind=kint), parameter userhyperelastic = 133000
 
integer(kind=kint), parameter mooneyrivlin_aniso = 134000
 
integer(kind=kint), parameter viscoelastic = 140000
 
integer(kind=kint), parameter norton = 150000
 
integer(kind=kint), parameter incomp_newtonian = 160000
 
integer(kind=kint), parameter connector = 170000
 
integer(kind=kint), parameter d3 = -1
 
integer(kind=kint), parameter planestress = 1
 
integer(kind=kint), parameter planestrain = 0
 
integer(kind=kint), parameter axissymetric = 2
 
integer(kind=kint), parameter shell = 3
 
integer(kind=kint), parameter m_youngs = 1
 
integer(kind=kint), parameter m_poisson = 2
 
integer(kind=kint), parameter m_density = 3
 
integer(kind=kint), parameter m_thick = 4
 
integer(kind=kint), parameter m_plconst1 = 5
 
integer(kind=kint), parameter m_plconst2 = 6
 
integer(kind=kint), parameter m_plconst3 = 7
 
integer(kind=kint), parameter m_plconst4 = 8
 
integer(kind=kint), parameter m_plconst5 = 9
 
integer(kind=kint), parameter m_kinehard = 10
 
integer(kind=kint), parameter m_exapnsion = 20
 
integer(kind=kint), parameter m_alpha_over_mu = 21
 
integer(kind=kint), parameter m_beam_radius = 22
 
integer(kind=kint), parameter m_beam_angle1 = 23
 
integer(kind=kint), parameter m_beam_angle2 = 24
 
integer(kind=kint), parameter m_beam_angle3 = 25
 
integer(kind=kint), parameter m_beam_angle4 = 26
 
integer(kind=kint), parameter m_beam_angle5 = 27
 
integer(kind=kint), parameter m_beam_angle6 = 28
 
integer(kind=kint), parameter m_viscocity = 29
 
integer(kind=kint), parameter m_plconst6 = 30
 
integer(kind=kint), parameter m_plconst7 = 31
 
integer(kind=kint), parameter m_plconst8 = 32
 
integer(kind=kint), parameter m_plconst9 = 33
 
integer(kind=kint), parameter m_plconst10 = 34
 
integer(kind=kint), parameter m_damping_rm = 35
 
integer(kind=kint), parameter m_damping_rk = 36
 
integer(kind=kint), parameter m_spring_dof = 0
 
integer(kind=kint), parameter m_spring_axial = 1
 
integer(kind=kint), parameter m_dashpot_dof = 2
 
integer(kind=kint), parameter m_dashpot_axial = 3
 
integer(kind=kint), parameter m_spring_d_ndoffset = 0
 
integer(kind=kint), parameter m_spring_a_ndoffset = 72
 
integer(kind=kint), parameter m_dashpot_d_ndoffset = 73
 
integer(kind=kint), parameter m_dashpot_a_ndoffset = 145
 
character(len=dict_key_length) mc_isoelastic = 'ISOELASTIC'
 
character(len=dict_key_length) mc_orthoelastic = 'ORTHOELASTIC'
 
character(len=dict_key_length) mc_yield = 'YIELD'
 
character(len=dict_key_length) mc_themoexp = 'THEMOEXP'
 
character(len=dict_key_length) mc_orthoexp = 'ORTHOEXP'
 
character(len=dict_key_length) mc_viscoelastic = 'VISCOELASTIC'
 
character(len=dict_key_length) mc_norton = 'NORTON'
 
character(len=dict_key_length) mc_incomp_newtonian = 'INCOMP_FLUID'
 
character(len=dict_key_length) mc_spring = 'SPRING'
 
character(len=dict_key_length) mc_dashpot = 'DASHPOT'
 
type(tmaterial), dimension(:), allocatable materials
 

Detailed Description

This module summarizes all information of material properties.

Function/Subroutine Documentation

◆ ep2e()

subroutine mmaterial::ep2e ( integer, intent(inout)  mtype)

Set material type of elastoplastic to elastic.

Definition at line 388 of file material.f90.

Here is the call graph for this function:

◆ fetchdigit()

integer function mmaterial::fetchdigit ( integer, intent(in)  npos,
integer, intent(in)  cnum 
)

Fetch material type.

Definition at line 259 of file material.f90.

Here is the caller graph for this function:

◆ finalizematerial()

subroutine mmaterial::finalizematerial ( type( tmaterial ), intent(inout)  material)

Finalizer.

Definition at line 201 of file material.f90.

Here is the caller graph for this function:

◆ finalizematls()

subroutine mmaterial::finalizematls

Finalizer.

Definition at line 219 of file material.f90.

Here is the call graph for this function:

◆ getconnectortype()

integer function mmaterial::getconnectortype ( integer, intent(in)  mtype)

Get type of connector.

Definition at line 395 of file material.f90.

Here is the call graph for this function:

◆ getelastictype()

integer function mmaterial::getelastictype ( integer, intent(in)  mtype)

Get elastic type.

Definition at line 307 of file material.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gethardentype()

integer function mmaterial::gethardentype ( integer, intent(in)  mtype)

Get type of hardening.

Definition at line 331 of file material.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getnumofdashpot_aparam()

integer function mmaterial::getnumofdashpot_aparam ( type( tmaterial ), intent(in)  material)

Get number of dashpot_a parameters.

Definition at line 425 of file material.f90.

◆ getnumofdashpot_dparam()

integer function mmaterial::getnumofdashpot_dparam ( type( tmaterial ), intent(in)  material)

Get number of dashpot_d parameters.

Definition at line 419 of file material.f90.

◆ getnumofspring_aparam()

integer function mmaterial::getnumofspring_aparam ( type( tmaterial ), intent(in)  material)

Get number of spring_a parameters.

Definition at line 413 of file material.f90.

◆ getnumofspring_dparam()

integer function mmaterial::getnumofspring_dparam ( type( tmaterial ), intent(in)  material)

Get number of spring_d parameters.

Definition at line 407 of file material.f90.

◆ getyieldfunction()

integer function mmaterial::getyieldfunction ( integer, intent(in)  mtype)

Get type of yield function.

Definition at line 319 of file material.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initializematls()

subroutine mmaterial::initializematls ( integer, intent(in)  nm)

Initializer.

Definition at line 208 of file material.f90.

Here is the call graph for this function:

◆ initmaterial()

subroutine mmaterial::initmaterial ( type( tmaterial ), intent(inout)  material)

Initializer.

Definition at line 188 of file material.f90.

Here is the caller graph for this function:

◆ iselastic()

logical function mmaterial::iselastic ( integer, intent(in)  mtype)

If it is an elastic material?

Definition at line 352 of file material.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iselastoplastic()

logical function mmaterial::iselastoplastic ( integer, intent(in)  mtype)

If it is an elastoplastic material?

Definition at line 361 of file material.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ishyperelastic()

logical function mmaterial::ishyperelastic ( integer, intent(in)  mtype)

If it is a hyperelastic material?

Definition at line 370 of file material.f90.

Here is the call graph for this function:

◆ iskinematicharden()

logical function mmaterial::iskinematicharden ( integer, intent(in)  mtype)

If it is a kinematic hardening material?

Definition at line 343 of file material.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isviscoelastic()

logical function mmaterial::isviscoelastic ( integer, intent(in)  mtype)

If it is an viscoelastic material?

Definition at line 379 of file material.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ modifymatl()

subroutine mmaterial::modifymatl ( integer, intent(in)  n,
integer, intent(in)  m,
real(kind=kreal), intent(in)  v 
)

Set value of variable(m) of material n to v.

Definition at line 230 of file material.f90.

◆ printmaterial()

subroutine mmaterial::printmaterial ( integer, intent(in)  nfile,
type( tmaterial ), intent(in)  material 
)

Print out the material properties.

Definition at line 240 of file material.f90.

Here is the call graph for this function:

◆ setdigit()

subroutine mmaterial::setdigit ( integer, intent(in)  npos,
integer, intent(in)  ival,
integer, intent(inout)  mtype 
)

Modify material type.

Definition at line 277 of file material.f90.

Here is the caller graph for this function:

Variable Documentation

◆ arrudaboyce

integer(kind=kint), parameter mmaterial::arrudaboyce = 132000

Definition at line 73 of file material.f90.

◆ axissymetric

integer(kind=kint), parameter mmaterial::axissymetric = 2

Definition at line 87 of file material.f90.

◆ connector

integer(kind=kint), parameter mmaterial::connector = 170000

Definition at line 81 of file material.f90.

◆ d3

integer(kind=kint), parameter mmaterial::d3 = -1

Definition at line 84 of file material.f90.

◆ elastic

integer(kind=kint), parameter mmaterial::elastic = 110000

Definition at line 65 of file material.f90.

◆ eplastic

integer(kind=kint), parameter mmaterial::eplastic = 120000

Definition at line 69 of file material.f90.

◆ incomp_newtonian

integer(kind=kint), parameter mmaterial::incomp_newtonian = 160000

Definition at line 80 of file material.f90.

◆ infinitesimal

integer(kind=kint), parameter mmaterial::infinitesimal = 0

Definition at line 13 of file material.f90.

◆ m_alpha_over_mu

integer(kind=kint), parameter mmaterial::m_alpha_over_mu = 21

Definition at line 107 of file material.f90.

◆ m_beam_angle1

integer(kind=kint), parameter mmaterial::m_beam_angle1 = 23

Definition at line 110 of file material.f90.

◆ m_beam_angle2

integer(kind=kint), parameter mmaterial::m_beam_angle2 = 24

Definition at line 111 of file material.f90.

◆ m_beam_angle3

integer(kind=kint), parameter mmaterial::m_beam_angle3 = 25

Definition at line 112 of file material.f90.

◆ m_beam_angle4

integer(kind=kint), parameter mmaterial::m_beam_angle4 = 26

Definition at line 113 of file material.f90.

◆ m_beam_angle5

integer(kind=kint), parameter mmaterial::m_beam_angle5 = 27

Definition at line 114 of file material.f90.

◆ m_beam_angle6

integer(kind=kint), parameter mmaterial::m_beam_angle6 = 28

Definition at line 115 of file material.f90.

◆ m_beam_radius

integer(kind=kint), parameter mmaterial::m_beam_radius = 22

Definition at line 109 of file material.f90.

◆ m_damping_rk

integer(kind=kint), parameter mmaterial::m_damping_rk = 36

Definition at line 127 of file material.f90.

◆ m_damping_rm

integer(kind=kint), parameter mmaterial::m_damping_rm = 35

Definition at line 126 of file material.f90.

◆ m_dashpot_a_ndoffset

integer(kind=kint), parameter mmaterial::m_dashpot_a_ndoffset = 145

Definition at line 137 of file material.f90.

◆ m_dashpot_axial

integer(kind=kint), parameter mmaterial::m_dashpot_axial = 3

Definition at line 132 of file material.f90.

◆ m_dashpot_d_ndoffset

integer(kind=kint), parameter mmaterial::m_dashpot_d_ndoffset = 73

Definition at line 136 of file material.f90.

◆ m_dashpot_dof

integer(kind=kint), parameter mmaterial::m_dashpot_dof = 2

Definition at line 131 of file material.f90.

◆ m_density

integer(kind=kint), parameter mmaterial::m_density = 3

Definition at line 94 of file material.f90.

◆ m_exapnsion

integer(kind=kint), parameter mmaterial::m_exapnsion = 20

Definition at line 105 of file material.f90.

◆ m_kinehard

integer(kind=kint), parameter mmaterial::m_kinehard = 10

Definition at line 103 of file material.f90.

◆ m_plconst1

integer(kind=kint), parameter mmaterial::m_plconst1 = 5

Definition at line 98 of file material.f90.

◆ m_plconst10

integer(kind=kint), parameter mmaterial::m_plconst10 = 34

Definition at line 124 of file material.f90.

◆ m_plconst2

integer(kind=kint), parameter mmaterial::m_plconst2 = 6

Definition at line 99 of file material.f90.

◆ m_plconst3

integer(kind=kint), parameter mmaterial::m_plconst3 = 7

Definition at line 100 of file material.f90.

◆ m_plconst4

integer(kind=kint), parameter mmaterial::m_plconst4 = 8

Definition at line 101 of file material.f90.

◆ m_plconst5

integer(kind=kint), parameter mmaterial::m_plconst5 = 9

Definition at line 102 of file material.f90.

◆ m_plconst6

integer(kind=kint), parameter mmaterial::m_plconst6 = 30

Definition at line 120 of file material.f90.

◆ m_plconst7

integer(kind=kint), parameter mmaterial::m_plconst7 = 31

Definition at line 121 of file material.f90.

◆ m_plconst8

integer(kind=kint), parameter mmaterial::m_plconst8 = 32

Definition at line 122 of file material.f90.

◆ m_plconst9

integer(kind=kint), parameter mmaterial::m_plconst9 = 33

Definition at line 123 of file material.f90.

◆ m_poisson

integer(kind=kint), parameter mmaterial::m_poisson = 2

Definition at line 93 of file material.f90.

◆ m_spring_a_ndoffset

integer(kind=kint), parameter mmaterial::m_spring_a_ndoffset = 72

Definition at line 135 of file material.f90.

◆ m_spring_axial

integer(kind=kint), parameter mmaterial::m_spring_axial = 1

Definition at line 130 of file material.f90.

◆ m_spring_d_ndoffset

integer(kind=kint), parameter mmaterial::m_spring_d_ndoffset = 0

Definition at line 134 of file material.f90.

◆ m_spring_dof

integer(kind=kint), parameter mmaterial::m_spring_dof = 0

Definition at line 129 of file material.f90.

◆ m_thick

integer(kind=kint), parameter mmaterial::m_thick = 4

Definition at line 95 of file material.f90.

◆ m_viscocity

integer(kind=kint), parameter mmaterial::m_viscocity = 29

Definition at line 117 of file material.f90.

◆ m_youngs

integer(kind=kint), parameter mmaterial::m_youngs = 1

Definition at line 92 of file material.f90.

◆ materials

type(tmaterial), dimension(:), allocatable mmaterial::materials

Definition at line 182 of file material.f90.

◆ mc_dashpot

character(len=dict_key_length) mmaterial::mc_dashpot = 'DASHPOT'

Definition at line 149 of file material.f90.

◆ mc_incomp_newtonian

character(len=dict_key_length) mmaterial::mc_incomp_newtonian = 'INCOMP_FLUID'

Definition at line 147 of file material.f90.

◆ mc_isoelastic

character(len=dict_key_length) mmaterial::mc_isoelastic = 'ISOELASTIC'

Definition at line 140 of file material.f90.

◆ mc_norton

character(len=dict_key_length) mmaterial::mc_norton = 'NORTON'

Definition at line 146 of file material.f90.

◆ mc_orthoelastic

character(len=dict_key_length) mmaterial::mc_orthoelastic = 'ORTHOELASTIC'

Definition at line 141 of file material.f90.

◆ mc_orthoexp

character(len=dict_key_length) mmaterial::mc_orthoexp = 'ORTHOEXP'

Definition at line 144 of file material.f90.

◆ mc_spring

character(len=dict_key_length) mmaterial::mc_spring = 'SPRING'

Definition at line 148 of file material.f90.

◆ mc_themoexp

character(len=dict_key_length) mmaterial::mc_themoexp = 'THEMOEXP'

Definition at line 143 of file material.f90.

◆ mc_viscoelastic

character(len=dict_key_length) mmaterial::mc_viscoelastic = 'VISCOELASTIC'

Definition at line 145 of file material.f90.

◆ mc_yield

character(len=dict_key_length) mmaterial::mc_yield = 'YIELD'

Definition at line 142 of file material.f90.

◆ mn_orthoelastic

integer(kind=kint), parameter mmaterial::mn_orthoelastic = 111000

Definition at line 66 of file material.f90.

◆ mooneyrivlin

integer(kind=kint), parameter mmaterial::mooneyrivlin = 131000

Definition at line 72 of file material.f90.

◆ mooneyrivlin_aniso

integer(kind=kint), parameter mmaterial::mooneyrivlin_aniso = 134000

Definition at line 75 of file material.f90.

◆ neohooke

integer(kind=kint), parameter mmaterial::neohooke = 130000

Definition at line 71 of file material.f90.

◆ norton

integer(kind=kint), parameter mmaterial::norton = 150000

Definition at line 78 of file material.f90.

◆ planestrain

integer(kind=kint), parameter mmaterial::planestrain = 0

Definition at line 86 of file material.f90.

◆ planestress

integer(kind=kint), parameter mmaterial::planestress = 1

Definition at line 85 of file material.f90.

◆ shell

integer(kind=kint), parameter mmaterial::shell = 3

Definition at line 88 of file material.f90.

◆ totallag

integer(kind=kint), parameter mmaterial::totallag = 1

Definition at line 14 of file material.f90.

◆ updatelag

integer(kind=kint), parameter mmaterial::updatelag = 2

Definition at line 15 of file material.f90.

◆ userelastic

integer(kind=kint), parameter mmaterial::userelastic = 112000

Definition at line 67 of file material.f90.

◆ userhyperelastic

integer(kind=kint), parameter mmaterial::userhyperelastic = 133000

Definition at line 74 of file material.f90.

◆ usermaterial

integer(kind=kint), parameter mmaterial::usermaterial = 100000

Definition at line 63 of file material.f90.

◆ viscoelastic

integer(kind=kint), parameter mmaterial::viscoelastic = 140000

Definition at line 77 of file material.f90.