This media is not supported in your browser
VIEW IN TELEGRAM
لحظه بازكردن فواره هاي پارك پترهوف در سنت پترزبورگ، خليج فنلاند، ۲۳ مرداد ۱۳۹۸ رأس ساعت ١١
بلوک زبان برنامه نویسی TCL مختص تعریف رفتار مصالح، جهت مقایسه تخصصی با اینترپرتر زبان #C (پست بعدی):🌷
# Define materials for nonlinear columns
# --------------------------------------
# CONCRETE
# Core concrete (confined)
# tag f'c epsc0 f'cu epscu
uniaxialMaterial Concrete01 1 -5.0 -0.005 -3.5 -0.02
# Cover concrete (unconfined)
set fc 4.0
uniaxialMaterial Concrete01 2 -$fc -0.002 0.0 -0.006
# STEEL
# Reinforcing steel
# tag fy E b
uniaxialMaterial Steel01 3 60 30000 0.02
# Column width
set h 18.0
# Source in a procedure for generating an RC fiber section
source RCsection.tcl
# Column torsional stiffness
set GJ 1.0e10;
# Call the procedure to generate the column section
# id h b cover core cover steel nBars barArea nfCoreY nfCoreZ nfCoverY nfCoverZ GJ
RCsection 1 $h $h 2.5 1 2 3 3 0.79 8 8 10 10 $GJ
# Concrete elastic stiffness
set E [expr 57000.0*sqrt($fc*1000)/1000];
# Linear elastic torsion for the column
# uniaxialMaterial Elastic 10 $GJ
# Attach torsion to the RC column section
# tag uniTag uniCode secTag
# section Aggregator 2 10 T -section 1
# Define materials for nonlinear columns
# --------------------------------------
# CONCRETE
# Core concrete (confined)
# tag f'c epsc0 f'cu epscu
uniaxialMaterial Concrete01 1 -5.0 -0.005 -3.5 -0.02
# Cover concrete (unconfined)
set fc 4.0
uniaxialMaterial Concrete01 2 -$fc -0.002 0.0 -0.006
# STEEL
# Reinforcing steel
# tag fy E b
uniaxialMaterial Steel01 3 60 30000 0.02
# Column width
set h 18.0
# Source in a procedure for generating an RC fiber section
source RCsection.tcl
# Column torsional stiffness
set GJ 1.0e10;
# Call the procedure to generate the column section
# id h b cover core cover steel nBars barArea nfCoreY nfCoreZ nfCoverY nfCoverZ GJ
RCsection 1 $h $h 2.5 1 2 3 3 0.79 8 8 10 10 $GJ
# Concrete elastic stiffness
set E [expr 57000.0*sqrt($fc*1000)/1000];
# Linear elastic torsion for the column
# uniaxialMaterial Elastic 10 $GJ
# Attach torsion to the RC column section
# tag uniTag uniCode secTag
# section Aggregator 2 10 T -section 1
بلوک زبان برنامه نویسی #C مختص رفتار مصالح و تعریف مقاطع، جهت مقایسه با اینترپرتر زبان TCL (شش پست قبل):🌷
//# Define materials for nonlinear columns
//# --------------------------------------
//# CONCRETE
//# Core concrete (confined)
//# tag f'c epsc0 f'cu epscu
//uniaxialMaterial Concrete01 1 - 5.0 - 0.005 - 3.5 - 0.02
var mat1 = new OpenSees.Materials.Uniaxials.Concrete01Wrapper(1, -5.0, -0.005, -3.5, -0.02);
//# Cover concrete (unconfined)
var fc = 4.0;
var mat2 = new OpenSees.Materials.Uniaxials.Concrete01Wrapper(2, -fc, -0.002, 0, -0.006);
//# STEEL
//# Reinforcing steel
//# tag fy E b
//uniaxialMaterial Steel01 3 60 30000 0.02
var mat3 = new OpenSees.Materials.Uniaxials.Steel01Wrapper(3, 60, 30000, 0.02);
var colh = 18.0;
var colb = 18.0;
//# Concrete elastic stiffness
//set E[expr 57000.0 * sqrt($fc * 1000) / 1000];
var Ec = 57000.0 * Math.Sqrt(fc * 1000) / 1000;
var GJ = 1.0e10;
var GJMat = new OpenSees.Materials.Uniaxials.ElasticMaterialWrapper(10, GJ, 0);
OpenSees.Materials.Sections.SectionForceDeformationWrapper colSection = null;
if (!elastic)
{
colSection = CreateRCSection(1, colh, colb, 2.5,
new KeyValuePair<int, Materials.Uniaxials.UniaxialMaterialWrapper>(1, mat1),
new KeyValuePair<int, Materials.Uniaxials.UniaxialMaterialWrapper>(2, mat2),
new KeyValuePair<int, Materials.Uniaxials.UniaxialMaterialWrapper>(3, mat3),
3, 0.79, 8, 8, 10, 10, GJMat);
}
else
{
colSection = new OpenSees.Materials.Sections.ElasticSection3dWrapper(4, Ec, colb * colh, 1 / 12.0 * colb * Math.Pow(colh, 3), 1 / 12.0 * colh * Math.Pow(colb, 3), GJ, 1);
}
//# Define materials for nonlinear columns
//# --------------------------------------
//# CONCRETE
//# Core concrete (confined)
//# tag f'c epsc0 f'cu epscu
//uniaxialMaterial Concrete01 1 - 5.0 - 0.005 - 3.5 - 0.02
var mat1 = new OpenSees.Materials.Uniaxials.Concrete01Wrapper(1, -5.0, -0.005, -3.5, -0.02);
//# Cover concrete (unconfined)
var fc = 4.0;
var mat2 = new OpenSees.Materials.Uniaxials.Concrete01Wrapper(2, -fc, -0.002, 0, -0.006);
//# STEEL
//# Reinforcing steel
//# tag fy E b
//uniaxialMaterial Steel01 3 60 30000 0.02
var mat3 = new OpenSees.Materials.Uniaxials.Steel01Wrapper(3, 60, 30000, 0.02);
var colh = 18.0;
var colb = 18.0;
//# Concrete elastic stiffness
//set E[expr 57000.0 * sqrt($fc * 1000) / 1000];
var Ec = 57000.0 * Math.Sqrt(fc * 1000) / 1000;
var GJ = 1.0e10;
var GJMat = new OpenSees.Materials.Uniaxials.ElasticMaterialWrapper(10, GJ, 0);
OpenSees.Materials.Sections.SectionForceDeformationWrapper colSection = null;
if (!elastic)
{
colSection = CreateRCSection(1, colh, colb, 2.5,
new KeyValuePair<int, Materials.Uniaxials.UniaxialMaterialWrapper>(1, mat1),
new KeyValuePair<int, Materials.Uniaxials.UniaxialMaterialWrapper>(2, mat2),
new KeyValuePair<int, Materials.Uniaxials.UniaxialMaterialWrapper>(3, mat3),
3, 0.79, 8, 8, 10, 10, GJMat);
}
else
{
colSection = new OpenSees.Materials.Sections.ElasticSection3dWrapper(4, Ec, colb * colh, 1 / 12.0 * colb * Math.Pow(colh, 3), 1 / 12.0 * colh * Math.Pow(colb, 3), GJ, 1);
}
بلوک های زبان برنامه نویسی TCL مختص تعریف مقاطع و المان های غیرخطی، جهت مقایسه با اینترپرتر زبان #C (پست بعدی):🌷
set colSec 1
# Define column elements
#set PDelta "ON"
set PDelta "OFF"
# Geometric transformation for columns
if {$PDelta == "ON"} {
# tag vecxz
geomTransf LinearWithPDelta 1 1 0 0
} else {
geomTransf Linear 1 1 0 0
}
# Number of column integration points (sections)
set np 4
# Create the nonlinear column elements
# tag ndI ndJ nPts secID transf
element nonlinearBeamColumn 1 1 5 $np $colSec 1
element nonlinearBeamColumn 2 2 6 $np $colSec 1
element nonlinearBeamColumn 3 3 7 $np $colSec 1
element nonlinearBeamColumn 4 4 8 $np $colSec 1
element nonlinearBeamColumn 5 5 10 $np $colSec 1
element nonlinearBeamColumn 6 6 11 $np $colSec 1
element nonlinearBeamColumn 7 7 12 $np $colSec 1
element nonlinearBeamColumn 8 8 13 $np $colSec 1
element nonlinearBeamColumn 9 10 15 $np $colSec 1
element nonlinearBeamColumn 10 11 16 $np $colSec 1
element nonlinearBeamColumn 11 12 17 $np $colSec 1
element nonlinearBeamColumn 12 13 18 $np $colSec 1
# Define beam elements
# Define material properties for elastic beams
# Using beam depth of 24 and width of 18
# --------------------------------------------
set Abeam [expr 18*24];
# "Cracked" second moments of area
set Ibeamzz [expr 0.5*1.0/12*18*pow(24,3)];
set Ibeamyy [expr 0.5*1.0/12*24*pow(18,3)];
# Define elastic section for beams
# tag E A Iz Iy G J
section Elastic 3 $E $Abeam $Ibeamzz $Ibeamyy $GJ 1.0
set beamSec 3
# Geometric transformation for beams
# tag vecxz
geomTransf Linear 2 1 1 0
# Number of beam integration points (sections)
set np 3
# Create the beam elements
# tag ndI ndJ nPts secID transf
element nonlinearBeamColumn 13 5 6 $np $beamSec 2
element nonlinearBeamColumn 14 6 7 $np $beamSec 2
element nonlinearBeamColumn 15 7 8 $np $beamSec 2
element nonlinearBeamColumn 16 8 5 $np $beamSec 2
element nonlinearBeamColumn 17 10 11 $np $beamSec 2
element nonlinearBeamColumn 18 11 12 $np $beamSec 2
element nonlinearBeamColumn 19 12 13 $np $beamSec 2
element nonlinearBeamColumn 20 13 10 $np $beamSec 2
element nonlinearBeamColumn 21 15 16 $np $beamSec 2
element nonlinearBeamColumn 22 16 17 $np $beamSec 2
element nonlinearBeamColumn 23 17 18 $np $beamSec 2
element nonlinearBeamColumn 24 18 15 $np $beamSec 2
set colSec 1
# Define column elements
#set PDelta "ON"
set PDelta "OFF"
# Geometric transformation for columns
if {$PDelta == "ON"} {
# tag vecxz
geomTransf LinearWithPDelta 1 1 0 0
} else {
geomTransf Linear 1 1 0 0
}
# Number of column integration points (sections)
set np 4
# Create the nonlinear column elements
# tag ndI ndJ nPts secID transf
element nonlinearBeamColumn 1 1 5 $np $colSec 1
element nonlinearBeamColumn 2 2 6 $np $colSec 1
element nonlinearBeamColumn 3 3 7 $np $colSec 1
element nonlinearBeamColumn 4 4 8 $np $colSec 1
element nonlinearBeamColumn 5 5 10 $np $colSec 1
element nonlinearBeamColumn 6 6 11 $np $colSec 1
element nonlinearBeamColumn 7 7 12 $np $colSec 1
element nonlinearBeamColumn 8 8 13 $np $colSec 1
element nonlinearBeamColumn 9 10 15 $np $colSec 1
element nonlinearBeamColumn 10 11 16 $np $colSec 1
element nonlinearBeamColumn 11 12 17 $np $colSec 1
element nonlinearBeamColumn 12 13 18 $np $colSec 1
# Define beam elements
# Define material properties for elastic beams
# Using beam depth of 24 and width of 18
# --------------------------------------------
set Abeam [expr 18*24];
# "Cracked" second moments of area
set Ibeamzz [expr 0.5*1.0/12*18*pow(24,3)];
set Ibeamyy [expr 0.5*1.0/12*24*pow(18,3)];
# Define elastic section for beams
# tag E A Iz Iy G J
section Elastic 3 $E $Abeam $Ibeamzz $Ibeamyy $GJ 1.0
set beamSec 3
# Geometric transformation for beams
# tag vecxz
geomTransf Linear 2 1 1 0
# Number of beam integration points (sections)
set np 3
# Create the beam elements
# tag ndI ndJ nPts secID transf
element nonlinearBeamColumn 13 5 6 $np $beamSec 2
element nonlinearBeamColumn 14 6 7 $np $beamSec 2
element nonlinearBeamColumn 15 7 8 $np $beamSec 2
element nonlinearBeamColumn 16 8 5 $np $beamSec 2
element nonlinearBeamColumn 17 10 11 $np $beamSec 2
element nonlinearBeamColumn 18 11 12 $np $beamSec 2
element nonlinearBeamColumn 19 12 13 $np $beamSec 2
element nonlinearBeamColumn 20 13 10 $np $beamSec 2
element nonlinearBeamColumn 21 15 16 $np $beamSec 2
element nonlinearBeamColumn 22 16 17 $np $beamSec 2
element nonlinearBeamColumn 23 17 18 $np $beamSec 2
element nonlinearBeamColumn 24 18 15 $np $beamSec 2
بلوک های زبان برنامه نویسی #C مختص تعریف المان های غیرخطی، جهت مقایسه با اینترپرتر زبان TCL (دو پست قبل):🌷
//#define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
//set ColTransfTag 1; # associate a tag to column transformation
//set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
//set ColTransfType Linear; # options, Linear PDelta Corotational
//geomTransf $ColTransfType $ColTransfTag; # only columns can have PDelta effects (gravity effects)
//geomTransf Linear $BeamTransfTag;
var pdelta = false;
Elements.CrdTransfs.CrdTransfWrapper colTransf = null;
if (!pdelta)
colTransf = new Elements.CrdTransfs.LinearCrdTransf3dWrapper(new VectorWrapper(new double[] { 1, 0, 0 }));
else
colTransf = new Elements.CrdTransfs.PDeltaCrdTransf3dWrapper(new VectorWrapper(new double[] { 1, 0, 0 }));
//# Number of column integration points (sections)
//set np 4
//# Create the nonlinear column elements
//# tag ndI ndJ nPts secID transf
//element nonlinearBeamColumn 1 1 5 $np $colSec 1
//element nonlinearBeamColumn 2 2 6 $np $colSec 1
//element nonlinearBeamColumn 3 3 7 $np $colSec 1
//element nonlinearBeamColumn 4 4 8 $np $colSec 1
//element nonlinearBeamColumn 5 5 10 $np $colSec 1
//element nonlinearBeamColumn 6 6 11 $np $colSec 1
//element nonlinearBeamColumn 7 7 12 $np $colSec 1
//element nonlinearBeamColumn 8 8 13 $np $colSec 1
//element nonlinearBeamColumn 9 10 15 $np $colSec 1
//element nonlinearBeamColumn 10 11 16 $np $colSec 1
//element nonlinearBeamColumn 11 12 17 $np $colSec 1
//element nonlinearBeamColumn 12 13 18 $np $colSec 1
var np = 4;
var integrationRule = new Elements.BeamIntegrations.BeamIntegrationWrapper(Elements.BeamIntegrations.BeamIntegrationType.Lobatto);
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(1, 1, 5, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(2, 2, 6, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(3, 3, 7, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(4, 4, 8, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(5, 5, 10, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(6, 6, 11, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(7, 7, 12, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(8, 8, 13, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(9, 10, 15, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(10, 11, 16, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(11, 12, 17, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(12, 13, 18, np, colSection, integrationRule, colTransf));
//# Define beam elements
//# --------------------
var Abeam = 18 * 24;
var Ibeamzz = 0.5 * 1.0 / 12 * 18.0 * Math.Pow(24, 3);
var Ibeamyy = 0.5 * 1.0 / 12 * 24.0 * Math.Pow(18, 3);
//# Define elastic section for beams
//# tag E A Iz Iy G J
//section Elastic 3 $E $Abeam $Ibeamzz $Ibeamyy $GJ 1.0
var beamSection = new OpenSees.Materials.Sections.ElasticSection3dWrapper(3, Ec, Abeam, Ibeamzz, Ibeamyy, GJ, 1);
//# Geometric transformation for beams
//# tag vecxz
//geomTransf Linear 2 1 1 0
Elements.CrdTransfs.LinearCrdTransf3dWrapper beamTransf = new Elements.CrdTransfs.LinearCrdTransf3dWrapper(new VectorWrapper(new double[] { 1, 1, 0 }));
var beam_np = 5;
//#define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
//set ColTransfTag 1; # associate a tag to column transformation
//set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
//set ColTransfType Linear; # options, Linear PDelta Corotational
//geomTransf $ColTransfType $ColTransfTag; # only columns can have PDelta effects (gravity effects)
//geomTransf Linear $BeamTransfTag;
var pdelta = false;
Elements.CrdTransfs.CrdTransfWrapper colTransf = null;
if (!pdelta)
colTransf = new Elements.CrdTransfs.LinearCrdTransf3dWrapper(new VectorWrapper(new double[] { 1, 0, 0 }));
else
colTransf = new Elements.CrdTransfs.PDeltaCrdTransf3dWrapper(new VectorWrapper(new double[] { 1, 0, 0 }));
//# Number of column integration points (sections)
//set np 4
//# Create the nonlinear column elements
//# tag ndI ndJ nPts secID transf
//element nonlinearBeamColumn 1 1 5 $np $colSec 1
//element nonlinearBeamColumn 2 2 6 $np $colSec 1
//element nonlinearBeamColumn 3 3 7 $np $colSec 1
//element nonlinearBeamColumn 4 4 8 $np $colSec 1
//element nonlinearBeamColumn 5 5 10 $np $colSec 1
//element nonlinearBeamColumn 6 6 11 $np $colSec 1
//element nonlinearBeamColumn 7 7 12 $np $colSec 1
//element nonlinearBeamColumn 8 8 13 $np $colSec 1
//element nonlinearBeamColumn 9 10 15 $np $colSec 1
//element nonlinearBeamColumn 10 11 16 $np $colSec 1
//element nonlinearBeamColumn 11 12 17 $np $colSec 1
//element nonlinearBeamColumn 12 13 18 $np $colSec 1
var np = 4;
var integrationRule = new Elements.BeamIntegrations.BeamIntegrationWrapper(Elements.BeamIntegrations.BeamIntegrationType.Lobatto);
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(1, 1, 5, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(2, 2, 6, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(3, 3, 7, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(4, 4, 8, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(5, 5, 10, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(6, 6, 11, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(7, 7, 12, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(8, 8, 13, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(9, 10, 15, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(10, 11, 16, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(11, 12, 17, np, colSection, integrationRule, colTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(12, 13, 18, np, colSection, integrationRule, colTransf));
//# Define beam elements
//# --------------------
var Abeam = 18 * 24;
var Ibeamzz = 0.5 * 1.0 / 12 * 18.0 * Math.Pow(24, 3);
var Ibeamyy = 0.5 * 1.0 / 12 * 24.0 * Math.Pow(18, 3);
//# Define elastic section for beams
//# tag E A Iz Iy G J
//section Elastic 3 $E $Abeam $Ibeamzz $Ibeamyy $GJ 1.0
var beamSection = new OpenSees.Materials.Sections.ElasticSection3dWrapper(3, Ec, Abeam, Ibeamzz, Ibeamyy, GJ, 1);
//# Geometric transformation for beams
//# tag vecxz
//geomTransf Linear 2 1 1 0
Elements.CrdTransfs.LinearCrdTransf3dWrapper beamTransf = new Elements.CrdTransfs.LinearCrdTransf3dWrapper(new VectorWrapper(new double[] { 1, 1, 0 }));
var beam_np = 5;
//# Create the beam elements
//# tag ndI ndJ nPts secID transf
//element nonlinearBeamColumn 13 5 6 $np $beamSec 2
//element nonlinearBeamColumn 14 6 7 $np $beamSec 2
//element nonlinearBeamColumn 15 7 8 $np $beamSec 2
//element nonlinearBeamColumn 16 8 5 $np $beamSec 2
//element nonlinearBeamColumn 17 10 11 $np $beamSec 2
//element nonlinearBeamColumn 18 11 12 $np $beamSec 2
//element nonlinearBeamColumn 19 12 13 $np $beamSec 2
//element nonlinearBeamColumn 20 13 10 $np $beamSec 2
//element nonlinearBeamColumn 21 15 16 $np $beamSec 2
//element nonlinearBeamColumn 22 16 17 $np $beamSec 2
//element nonlinearBeamColumn 23 17 18 $np $beamSec 2
//element nonlinearBeamColumn 24 18 15 $np $beamSec 2
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(13, 5, 6, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(14, 6, 7, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(15, 7, 8, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(16, 8, 5, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(17, 10, 11, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(18, 11, 12, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(19, 12, 13, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(20, 13, 10, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(21, 15, 16, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(22, 16, 17, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(23, 17, 18, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(24, 18, 15, beam_np, beamSection, integrationRule, beamTransf));
//# tag ndI ndJ nPts secID transf
//element nonlinearBeamColumn 13 5 6 $np $beamSec 2
//element nonlinearBeamColumn 14 6 7 $np $beamSec 2
//element nonlinearBeamColumn 15 7 8 $np $beamSec 2
//element nonlinearBeamColumn 16 8 5 $np $beamSec 2
//element nonlinearBeamColumn 17 10 11 $np $beamSec 2
//element nonlinearBeamColumn 18 11 12 $np $beamSec 2
//element nonlinearBeamColumn 19 12 13 $np $beamSec 2
//element nonlinearBeamColumn 20 13 10 $np $beamSec 2
//element nonlinearBeamColumn 21 15 16 $np $beamSec 2
//element nonlinearBeamColumn 22 16 17 $np $beamSec 2
//element nonlinearBeamColumn 23 17 18 $np $beamSec 2
//element nonlinearBeamColumn 24 18 15 $np $beamSec 2
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(13, 5, 6, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(14, 6, 7, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(15, 7, 8, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(16, 8, 5, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(17, 10, 11, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(18, 11, 12, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(19, 12, 13, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(20, 13, 10, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(21, 15, 16, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(22, 16, 17, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(23, 17, 18, beam_np, beamSection, integrationRule, beamTransf));
theDomain.AddElement(new Elements.ForceBeamColumn3dWrapper(24, 18, 15, beam_np, beamSection, integrationRule, beamTransf));
umfpack2_x64.zip
704.5 KB
نکته بسیار مهم و کاربردی:
دانشجویان و پژوهشگران عزیز❤جهت انجام تحلیل های مدل های خیلی سنگین و پیچیده، می توانند از سیستم حل معادلات خارجی UmfPack2 استفاده نمایند. این اپلیکیشن با پسوند dll.، سرعت حل معادلات را ۷۰ برابر افزایش می دهد و نسخه ویندوز ۶۴ بیتی آن جهت دانلود در کانال قرار گرفت.
system umfpack2
دانشجویان و پژوهشگران عزیز❤جهت انجام تحلیل های مدل های خیلی سنگین و پیچیده، می توانند از سیستم حل معادلات خارجی UmfPack2 استفاده نمایند. این اپلیکیشن با پسوند dll.، سرعت حل معادلات را ۷۰ برابر افزایش می دهد و نسخه ویندوز ۶۴ بیتی آن جهت دانلود در کانال قرار گرفت.
system umfpack2
Opensees Community
umfpack2_x64.zip
نکته تکمیلی پیرامون نحوه استفاده از سیستم حل معادلات خارجی UmfPack2 (درخواستی ۷۲ نفر از عزیزان کانال):
فایل dll. بایستی در فولدر کدنویسی مربوطه باشد و UmfPack2 نیز از طریق کامند ذیل در کد اصلی سورس شود:
loadPackage umfpack2 ; # load the dll with the new commands
فایل dll. بایستی در فولدر کدنویسی مربوطه باشد و UmfPack2 نیز از طریق کامند ذیل در کد اصلی سورس شود:
loadPackage umfpack2 ; # load the dll with the new commands
Media is too big
VIEW IN TELEGRAM
هشدار که عالم به مویی بند است!🌷
سفر با ترن زندگی فراز و نشیبهای زیادی دارد،
انسان گاهی در میانهی این راه، سخت دلش میگیرد و از رفتن باز میماند!
گردنهای که هیچ، انتظارش را نداشتیم!
شاید در این لحظات، باید یادمان نرود و به یاد آوریم که زندگی، نمیتواند همیشه همان مسیر مستقیم و روشن و بی پیچ و خم باشد!
شاید باید بدانیم که بدون این پیچ و خمها؛ زندگی، اصلا زندگی نیست!
و شاید بهتر باشد تا به جای دلگیر شدن از این پیچ و خمهای پر از مه، عبور از آنها را بیاموزیم و بکوشیم تا راه خود را گم نکنیم!
سفر با ترن زندگی فراز و نشیبهای زیادی دارد،
انسان گاهی در میانهی این راه، سخت دلش میگیرد و از رفتن باز میماند!
گردنهای که هیچ، انتظارش را نداشتیم!
شاید در این لحظات، باید یادمان نرود و به یاد آوریم که زندگی، نمیتواند همیشه همان مسیر مستقیم و روشن و بی پیچ و خم باشد!
شاید باید بدانیم که بدون این پیچ و خمها؛ زندگی، اصلا زندگی نیست!
و شاید بهتر باشد تا به جای دلگیر شدن از این پیچ و خمهای پر از مه، عبور از آنها را بیاموزیم و بکوشیم تا راه خود را گم نکنیم!
فایلهای DLL، کلوچههای خوشمزهای برای برنامه نویسان حرفهای!🌷
فرمت فایل DLL مربوط به کتابخانههایی است که شامل توابع، کدها و دادههایی هستند که میتوانند به صورت همزمان توسط چندین برنامه مورد استفاده قرار بگیرند. فایل DLL یک فرمت استاندارد برای ویندوز مایکروسافت بوده و مخفف عبارت Dynamic-Link Library است. فایلهای lib و ocx و drv هم تقریبا مشابه DLL هستند. یک فایل DLL شامل توابع، کدها، منابع (تصویر، آیکون و ...) و دادههایی است که برای برنامه نویسان امکان لینک کردن و استفاده از توابع خیلی پیشرفته در کدنویسی هایشان را میسر میکند. یکی از خواص مهم فایلهای کتابخانهای DLL آن است که در یک زمان چندین برنامه میتوانند از آنها استفاده کنند درحالی که کدهایش در یک مکان ثابت قرار داشته و نیازی به گرفتن فضای بیشتر برای هر برنامه نیست. بگذارید برایتان مثالی بزنم: یک کتابخانه عمومی را فرض کنید که پر از کتابهای آشپزی و در هر یک از این کتابهای آشپزی یک دستور پخت خاصی برای قورمه سبزی نوشته شده است. افراد به کتابخانه سر زده و از آن کتابها استفاده میکنند و در نهایت چندین خورشت با طعمهایی متفاوت به دست خواهند آمد. فایلهای DLL نیز این چنین هستند؛ یعنی پر از توابع مختلف با کاربردهای متفاوتی هستند که هر یک کار خاصی را انجام میدهند و تمامی برنامهها میتوانند از آنها استفاده کنند. برنامه نویس در ابتدای برنامه تعریف میکند که با استفاده از تابع LoadLibrary خود ویندوز، کتابخانه مورد نظر را در برنامه بارگذاری کند. به همین دلیل است که اگر فایل dll مورد نظر وجود نداشته باشد، در همان ابتدا برنامه با خطا مواجه خواهد شد. وی با استفاده از تابع GetProcAddress ویندوز، فانکشن یا تابع مورد نظر خود را از فایل DLL بارگذاری کرده و یا با تابع LoadResource ویندوز، یک منبع (مثلا کدنویسی OpenSees) را از فایل DLL بارگذاری میکند. برنامه آن تابع را اجرا نموده یا از منابع فایل استفاده میکند. در نهایت با استفاده از تابع FreeLibrary ویندوز، پس از آن که کارش تمام شد، فایل DLL را Unload میکند.
توابع DLL تنها با استفاده از برنامهها و فایلهای EXE میتوانند اجرا شوند و در آنها میتوان از توابع نام برده ویندوز (LoadLibrary و ...) استفاده کرد. بنابراین نمیتوان به صورت مستقیم و بدون هیچ چیزی از توابع و منابع فایل DLL استفاده نمود. اما ویندوز برای این مشکل راه کاری را در نظر گرفته و آن ساخت یک برنامه برای اجرای این تابعها است. اسم این برنامه در ویندوز
RUNDLL.EXE یا RUNDLL32.EXE
است. این برنامه از تابع گفته شده در ویندوز به عنوان یک ورودی استفاده کرده و تابع فایل DLL که قابلیت اجرا شدن بدون مشکل را داشته باشد، فراخوانی میکند. نحوه استفاده از این ابزار به این صورت است:
Rundll32.exe <DLLName>,<Function> <Optional Arguments>
این دستور را میتوان در دیالوگ Run یا خط فرمان CMD نیز اجرا کرد. به نحوی که به جای <DLLName> آدرس کامل فایل DLL و یا اگر در پوشه سیستم بود، فقط نام آن نوشته شود. همچنین بایستی به جای <Function> تابع دلخواه و بجای <Optional Arguments> هم پارامترهای دلخواه برای تابع انتخاب شده را وارد نمود.
برای مثال، تابع OpenAs_RunDLL در کتابخانه shell32.dll باعث اجرا شدن دیالوگ Open With میشود. برای اجرای این دیالوگ در مسیر دلخواه فایل از دستور زیر استفاده میکنیم:
rundll32.exe shell32.dll,OpenAs_RunDLL C:\Users\Afshina\Desktop\afshina.html
فرمت فایل DLL مربوط به کتابخانههایی است که شامل توابع، کدها و دادههایی هستند که میتوانند به صورت همزمان توسط چندین برنامه مورد استفاده قرار بگیرند. فایل DLL یک فرمت استاندارد برای ویندوز مایکروسافت بوده و مخفف عبارت Dynamic-Link Library است. فایلهای lib و ocx و drv هم تقریبا مشابه DLL هستند. یک فایل DLL شامل توابع، کدها، منابع (تصویر، آیکون و ...) و دادههایی است که برای برنامه نویسان امکان لینک کردن و استفاده از توابع خیلی پیشرفته در کدنویسی هایشان را میسر میکند. یکی از خواص مهم فایلهای کتابخانهای DLL آن است که در یک زمان چندین برنامه میتوانند از آنها استفاده کنند درحالی که کدهایش در یک مکان ثابت قرار داشته و نیازی به گرفتن فضای بیشتر برای هر برنامه نیست. بگذارید برایتان مثالی بزنم: یک کتابخانه عمومی را فرض کنید که پر از کتابهای آشپزی و در هر یک از این کتابهای آشپزی یک دستور پخت خاصی برای قورمه سبزی نوشته شده است. افراد به کتابخانه سر زده و از آن کتابها استفاده میکنند و در نهایت چندین خورشت با طعمهایی متفاوت به دست خواهند آمد. فایلهای DLL نیز این چنین هستند؛ یعنی پر از توابع مختلف با کاربردهای متفاوتی هستند که هر یک کار خاصی را انجام میدهند و تمامی برنامهها میتوانند از آنها استفاده کنند. برنامه نویس در ابتدای برنامه تعریف میکند که با استفاده از تابع LoadLibrary خود ویندوز، کتابخانه مورد نظر را در برنامه بارگذاری کند. به همین دلیل است که اگر فایل dll مورد نظر وجود نداشته باشد، در همان ابتدا برنامه با خطا مواجه خواهد شد. وی با استفاده از تابع GetProcAddress ویندوز، فانکشن یا تابع مورد نظر خود را از فایل DLL بارگذاری کرده و یا با تابع LoadResource ویندوز، یک منبع (مثلا کدنویسی OpenSees) را از فایل DLL بارگذاری میکند. برنامه آن تابع را اجرا نموده یا از منابع فایل استفاده میکند. در نهایت با استفاده از تابع FreeLibrary ویندوز، پس از آن که کارش تمام شد، فایل DLL را Unload میکند.
توابع DLL تنها با استفاده از برنامهها و فایلهای EXE میتوانند اجرا شوند و در آنها میتوان از توابع نام برده ویندوز (LoadLibrary و ...) استفاده کرد. بنابراین نمیتوان به صورت مستقیم و بدون هیچ چیزی از توابع و منابع فایل DLL استفاده نمود. اما ویندوز برای این مشکل راه کاری را در نظر گرفته و آن ساخت یک برنامه برای اجرای این تابعها است. اسم این برنامه در ویندوز
RUNDLL.EXE یا RUNDLL32.EXE
است. این برنامه از تابع گفته شده در ویندوز به عنوان یک ورودی استفاده کرده و تابع فایل DLL که قابلیت اجرا شدن بدون مشکل را داشته باشد، فراخوانی میکند. نحوه استفاده از این ابزار به این صورت است:
Rundll32.exe <DLLName>,<Function> <Optional Arguments>
این دستور را میتوان در دیالوگ Run یا خط فرمان CMD نیز اجرا کرد. به نحوی که به جای <DLLName> آدرس کامل فایل DLL و یا اگر در پوشه سیستم بود، فقط نام آن نوشته شود. همچنین بایستی به جای <Function> تابع دلخواه و بجای <Optional Arguments> هم پارامترهای دلخواه برای تابع انتخاب شده را وارد نمود.
برای مثال، تابع OpenAs_RunDLL در کتابخانه shell32.dll باعث اجرا شدن دیالوگ Open With میشود. برای اجرای این دیالوگ در مسیر دلخواه فایل از دستور زیر استفاده میکنیم:
rundll32.exe shell32.dll,OpenAs_RunDLL C:\Users\Afshina\Desktop\afshina.html
umfpack2_x86.zip
223.9 KB
درخواستی عزیزان کانال❤️:
سیستم حل معادلات خارجی UmfPack2 مختص نسخه ویندوز 32 بیتی
system umfpack2
کرک این dll تا سال ۲۰۲۴ فعال می باشد🌷
سیستم حل معادلات خارجی UmfPack2 مختص نسخه ویندوز 32 بیتی
system umfpack2
کرک این dll تا سال ۲۰۲۴ فعال می باشد🌷