Documentation ¶
Overview ¶
package ana implements analytical solutions
package ana implements analytical solutions
package ana implements analytical solutions
Index ¶
- func PolarStresses(x, y, sx, sy, sxy float64) (r, sr, st, srt float64)
- type CteStressPstrain
- func (o CteStressPstrain) CheckDispl(tst *testing.T, t float64, u, x []float64, tol float64)
- func (o CteStressPstrain) CheckStress(tst *testing.T, t float64, σ, x []float64, tol float64)
- func (o *CteStressPstrain) Init(prms fun.Prms)
- func (o CteStressPstrain) Solution(t float64) (σx, σy, σz, εx, εy float64)
- type PressCylin
- func (o PressCylin) CalcPressDisp(np int) (P, Ub []float64)
- func (o PressCylin) CalcStresses(Pvals []float64, nr int) (R []float64, Sr, St [][]float64)
- func (o *PressCylin) Calc_c(P float64) float64
- func (o PressCylin) ElastOuterU(P float64) (ub float64)
- func (o *PressCylin) Init(prms fun.Prms)
- func (o PressCylin) Plastic(c float64) (P, ub float64)
- func (o PressCylin) Stresses(c, r float64) (sr, st float64)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PolarStresses ¶
PolarStresses computes stress components w.r.t polar system from given Cartesian components
Types ¶
type CteStressPstrain ¶
type CteStressPstrain struct { E float64 // Young's modulus // contains filtered or unexported fields }
CteStressPstrain computes the constant-stress solution to a simple linear elastic plane-strain problem
qnV ↓↓↓↓↓↓↓↓↓↓↓↓↓ ▷ o-----------o ← ▷ | | ← ▷ | E | ← qnH ly ▷ | ν | ← ▷ | | ← ▷ o-----------o ← △ △ △ △ △ lx
func (CteStressPstrain) CheckDispl ¶
CheckDispl checks displacements
func (CteStressPstrain) CheckStress ¶
CheckStress check stresses
func (*CteStressPstrain) Init ¶
func (o *CteStressPstrain) Init(prms fun.Prms)
Init initialises this structure
func (CteStressPstrain) Solution ¶
func (o CteStressPstrain) Solution(t float64) (σx, σy, σz, εx, εy float64)
Solution computes solution
type PressCylin ¶
type PressCylin struct { E float64 // Young's modulus Y float64 // TODO P0 float64 // Pressure at the elastic/plastic transition (TODO: check this) Plim float64 // limiting pressure // auxiliary P_fx float64 // P value to be passed to fx function // contains filtered or unexported fields }
PressCylin implements the constant-stress solution to a simple linear elastic plane-strain problem -- Hill's solution
, - - , , ' ' , , , , .-'''-. , , / ↖ ↑ ↗ \ , , | ← P → | , , \ ↙ ↓ ↘ / , , `-...-' , , , , , ' ' - , , '
func (PressCylin) CalcPressDisp ¶
func (o PressCylin) CalcPressDisp(np int) (P, Ub []float64)
CalcLoadDisp returns the internal pressure and outer displacements for plotting the load-displacement graph
func (PressCylin) CalcStresses ¶
func (o PressCylin) CalcStresses(Pvals []float64, nr int) (R []float64, Sr, St [][]float64)
func (*PressCylin) Calc_c ¶
func (o *PressCylin) Calc_c(P float64) float64
Calc_c computes the elastic/plastic transition zone TODO: check what's 'c' exactly
func (PressCylin) ElastOuterU ¶
func (o PressCylin) ElastOuterU(P float64) (ub float64)
ElastOuterU computes the elastic solution for the radial displacement at the outer surface
func (PressCylin) Plastic ¶
func (o PressCylin) Plastic(c float64) (P, ub float64)
Plastic computes the pressure corresponding to c and the radial displacment at the outer surface
func (PressCylin) Stresses ¶
func (o PressCylin) Stresses(c, r float64) (sr, st float64)
Stresses compute the radial and tangential stresses