Atomic Modeling Language

Page 1 of 3 1, 2, 3  Next

Go down

Atomic Modeling Language Empty Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 8:40 am

AML - Atomic Modeling Language


The language of the nucleus. An expression of the microscopic world. Sculptures brought forth in all of their three dimensional greatness. Now you have that power at your disposal. What wonderful things will you create? Maybe you can unlock the mysteries of the elements.

AML is a language that allows you to create a nucleus, all the way down to the protons, neutrons and electrons. Yet it provides a simplicity that allows you to create structures with ease. While it is possible to define a proton stack by specifying every single proton, neutron and electron, you can also create a basic stack of the same size in 2 characters. This allows you to start with basic constructs until you have the main structure, making rapid changes easily.

There are 4 layers to the language. At the lowest level we have the building blocks of the elements: protons, neutrons and electrons. The lower-middle layer gives us proton stacks and neutron groups, which contain those particles. The next layer provides a way to link stacks together into a chain. Finally, the top layer allows us to join these together into a nucleus. Giving us various types of atoms.

Play with AML today at www.nevyns-lab.com/mathis/app/aml/aml.html!


Last edited by Nevyn on Fri Jan 04, 2019 9:02 am; edited 2 times in total
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 8:41 am

Particles


There are 3 types of particles and they are all defined in the same way. A type prefix, optionally followed by an integer between 1 and 6 inclusive. If a number is not specified, it will default to 1.

<type><1-6>

Example:
P = 1 proton
P3 = 3 protons
N2 = 2 neutrons
E = 1 electron
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 8:42 am

Particle Chains


We can link particles together into a chain in order to create proton stacks and neutron groups. There are limitations to how various particles relate to each other and you must be careful to get meaningful results.

In order to create a particle chain, you use the : operator to connect particles together. For example, if we wanted to create a proton stack with 2 neutrons between 2 protons, we connect them like this:

P:N2:P

The stack is arranged from bottom to top, so we start with a proton, then a level containing 2 neutrons, and a proton on top. Notice that we specified N2 to create a single layer of neutrons. If we used two distinct neutrons instead:

P:N:N:P

we would get a very different result. Each : operator creates a new level, so by separating the neutrons, 2 levels are created. Electrons are the same.

The proton does not work in the same way, though. A proton will always create a new level, even if declared with a number. Protons can only stack one way, but neutrons and electrons can be used in groups that arrange them into the plane orthogonal to the direction of the stack.

This does allow us to use some shortcuts when working with protons. Say we wanted to create 2 stacks like we created above. We could do it the long way:

P:N2:P:P:N2:P

or we could make it a little bit shorter by bring those middle protons, P:P, together into a P2 declaration:

P:N2:P2:N2:P

Later, we will see how to declare the same stack with only 2 characters.

This shorthand is more useful with odd-sized stacks, since we can group the protons without neutrons together:

P:N2:P3:N2:P

Electrons must be bound to a proton. At least one side of it must connect to a proton, but the other side may connect to any other particle, even another electron. It is possible to put electrons on the inside of a stack, even though this is generally not done. You will usually find them on the start and end of a stack declaration, such as this:

E:P:N2:P2:N2:P:E

but may find them inside on special occasions.
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 8:43 am

The Stack


It is really good to be able to declare a proton stack with such precision, but most of the time, we don't really need to be so expressive. So the basic stack can be used to quickly declare a stack containing a specified number of protons. You do this by using the S type prefix, followed by the number of protons in the stack. You will also get an even number of neutrons, arranged so that the stack is built from as many P:N2:P constructs as possible.

S2
S5
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 8:43 am

Nuclear Chains


Now that we can build a stack of particles, we can join them together by chaining a series of stacks. Each alternate stack is rotated 90° so that one emits into the pole of the other. The - operator is used between stacks to link them into a nuclear chain.

S6-S4-S2
S6-P:N2:P3:N2:P-S3
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 8:44 am

Atoms


We now have enough constructs to create an atom. All we need is to impose a little structure using the building blocks that we have. We start with the core of an atom. This is a single proton stack which can be declared using a basic stack or a constructed stack of particles. Around this core stack, we can arrange up to 6 nuclear chains, all pointing away from the core stack.

The first 2 chains can be put onto the top and bottom of the core. This arranges the chains such that they emit into the core. We call these the axial level.

The next 4 chains can be placed around the core and are called the carousel level. The first stack in a carousel chain is receiving charge from the core of the atom.

To declare an atom, we start with the core stack:

S4

then we add in pillars and caps:

S4 <Axial S4-S4, S4-S4>

this introduces the level operators, < and >. A level must specify its type as the first token inside of the openning token. The above AML expression uses the full Axial keyword, but just A is enough. Similarly, you can create carousel chains by using the Carousel or C keywords.

S4 <Axial S4-S4, S4-S4> <Carousel S4, S4, S4, S4>

There are 3 more level types that can be used that allow you to specify the dimension on which 1 or 2 nuclear chains can be placed. Use X, Y, or Z

S4 <Y S4-S4, S4-S4> <X S4, S4> <Z S4, S4>

Each atomic level, Axial and Carousel or X, Y and Z, has a comma separated list of nuclear chains. All of them can accept 2 chains, but the Carousel level can accept 4. The order of the nuclear chains is positive then negative. For the Carousel level, it is +X, -X, +Z, -Z, and is equivalent to <X +, -> <Z +, ->. So the Axial or Y levels can set the North and South positions, while the Carousel can set the East, West, Front and Back positions. The X level sets the East and West while the Z level sets the Front and Back.


Last edited by Nevyn on Fri Jan 04, 2019 7:32 pm; edited 2 times in total (Reason for editing : Added a description of nuclear chain ordering within a level declaration)
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 8:48 am

Getting Attached


Some elements need to place some stacks that are bonded to the pillar stacks, which are the first stacks in each chain of the axial level. These can be placed after the stack that they are bonded to using the attachment operators [ and ].

S4 <Axial S4[P]-S4-S1, S4[P]-S4-S2> <Carousel S4-S2, S4-S2, S4-S1, S4-S1>

Each attachment can contain 1 or 2 stacks with the first one placed in the positive X in the north and negative X in the south. The second stack is placed on the other side, so negative X in the north and postive X in the south. If you don't want a stack in the first position but do in the second, then use the null operator _ in the first position.

S4 <Axial S4[_,P]-S4-S1, S4[_,P]-S4-S2> <Carousel S4-S2, S4-S2, S4-S1, S4-S1>
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by LongtimeAirman on Fri Jan 04, 2019 2:27 pm

.
Atomic Modeling Language Aml_si10
Wow Nevyn, you’ve created a simple to use and understand atomic code.

Putting on my critical cap, there I was following along nicely, totally engrossed - and you stopped. Where’s the Congratulations! You’ve created atomic number 47 - Silver, aka Ag. Please consider adding a help page containing these same instructions; and a link back to your lab. Meanwhile, back at the Lab, where is the Atomic Modeling Language (aml) linked? A little added confusion, this app is not the same as the Atomic Model Editor – which displays the specific elements the User selects. It’s getting difficult telling the apps apart. Please consider some renaming or explaining a bit of the bigger picture, directing the reader to the Atomic Viewer or Molecular Bonding Language next.

https://www.nevyns-lab.com/

Good Stuff Nevyn.
.

LongtimeAirman
Admin

Posts : 1240
Join date : 2014-08-10

View user profile

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 7:20 pm

Thanks, Airman, I'm pretty happy with how it came out. I based it on the MBL code and just cut out and reshaped it for this new purpose. So it came together quite quickly. I plan on adding a specification and guide, just like MBL has. There is no link on my home page because it isn't officially released yet. I like to see what you guys think before I do that. There is also some more work to do on the larger elements, like Uranium, that contain multiple nuclei. I have the language parts defined, but haven't written it into the parser or visualizer.

AML has no connection to Atomic Model Editor (also called Atomic Viewer, or AV), even though MBL does use code from AV to render the atoms. This is a completely new rendering engine, but I have used the same styles such as colors and textures, so things do look a lot alike. There are some small differences though, mostly in the placement of particles in a stack.

I'm still amazed at how much you can do with AML in such a small amount of text. Take a look at Silver:

S4<A S4[P]-S4-S1,S4[P]-S4-S2><C S4-S2,S4-S2,S4-S1,S4-S1>

In its smallest expression, we only need 56 characters to define it. That's a pretty big nucleus. The equivalent AV model uses about 2350 characters over 127 lines. That's a 42:1 compression ratio. Gold would probably be about the same length. And it is just so easy to manipulate. I love it!
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 7:48 pm

I made a slight update to handle neutrons better. If there are multiple neutrons in a single level, such as N2, then they will work as they did before and not take up much space between the bounding protons. However, if there is only a single neutron, then it will take up as much space as a proton would. It is also placed at the center like a proton.
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by LongtimeAirman on Fri Jan 04, 2019 9:34 pm

.
Atomic Modeling Language Amlsil10
Oops, correction. This, rather than the previous image, is the current default output for Silver's AML.

I changed the view while I was looking it over before finally taking its image. That's unfortunate in that I rather like the current default image - looking directly at Ag from either its X or Z directions.
.

LongtimeAirman
Admin

Posts : 1240
Join date : 2014-08-10

View user profile

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Fri Jan 04, 2019 10:00 pm

Multi-Nuclei Atoms


The largest of atoms are not really atoms, and could be thought of as molecules. However, they are on the periodic table, so we continue to call them atoms. Therefore, AML must support them. Since the nuclear structure is so different from the rest of the elements, we must treat them as a special entity. This introduces a fifth level to our language.

What we need to do is define multiple atoms and bond them together. So we do just that, separating each atom with the nuclei operator ~.

S4<Y S4-S4-S1,S4-S4-S2> ~ S6<Y S6-S4-S1,S6-S4-S2>

But that didn't really do what we wanted now, did it? Sure, we have 2 nuclei in the same atom, but they aren't exactly bonded. They also don't bond in the right places. We want the 2 single proton hook stacks to come together. We could accomplish that by changing one of the nuclei declarations to swap the single and double hook stacks around. Wouldn't it be a lot better if we could just flip one of those nuclei over?

S4<Y S4-S4-S1,S4-S4-S2> ~ !S6<Y S6-S4-S1,S6-S4-S2>

We use the flip operator ! before the nuclei that we want to rotate by 180&deg;. This allows us to keep the same nuclei definition used in any situation, and just flip it over when we want to.

However, we still don't really have the structure that we want. Now we have the correct hook stacks bonding, except that, well, they aren't bonding. To solve this, we could alter both of the nuclei and take a single proton hook stack from one and put it into the other as a double proton stack. That would work and look fine, but there is a better way.

What we can do, is take the single hook stacks from both nuclei, put them together into a double stack and make it a new nuclei that sits between the others.

S4<Y S4-S4,S4-S4-S2> ~ P2 ~ !S6<Y S6-S4,S6-S4-S2>

What have we done? That ruined everything! The middle stack is not in the correct position to bond with the other nuclei, and we can't flip it. What can we do? Easy, we just use the rotate operator ^ before the atom that we want to rotate by 90&deg;

S4<Y S4-S4,S4-S4-S2> ~ ^P2 ~ !S6<Y S6-S4,S6-S4-S2>

Voila! We have a beautiful, multi-nuclei atom. The good thing about splitting this into 3 nuclei, is that we can easily manipulate the bonding nucleus. Say we wanted to put neutrons on either side of that nucleus, then we just add them logically:

S4<Y S4-S4,S4-S4-S2> ~ ^N:P2:N ~ !S6<Y S6-S4,S6-S4-S2>

If we want to be more precise than that, which we might for purposes of calculating data from these expressions, then we could add those neutrons to the axial level like this:

S4<Y S4-S4,S4-S4-S2> ~ ^P2 <A N,N> ~ !S6<Y S6-S4,S6-S4-S2>

How cool is that?
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by LongtimeAirman on Sat Jan 05, 2019 12:08 am

.
Very cool, very efficient, easy to use and understand. Atomic Viewer shows the elements, all well and good; but in my opinion, this particular application - Atomic Modeling Language (AML) - provides an excellent - the best yet - means of learning charged field atomic structures.

Start at the center stack and build in six directions: up and down the axial; and out the +/-X and +/-Z for the carousal. Almost as simple as counting from the center nucleus.  The flip and rotate options extend functionality. You already have the makings of an atomic structures tutorial above. I expect you to show us how to build angled bonds or molecular rings at any moment.   

Those multi-nucleus elements are rather long, obviously you'll need to rotate the view of the Y axis by 90 degrees as Miles and you have done in displaying these longer elements in the interactive papers.

Consider adding a proton counter somewhere.  
.

LongtimeAirman
Admin

Posts : 1240
Join date : 2014-08-10

View user profile

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Sat Jan 05, 2019 1:29 am

Oooohhh, a panel showing calculated statistics! I like it. I wasn't even thinking in that direction.

The atoms are generally oriented N to S, so I was thinking about how to change the rendering area into a more vertical orientation. It doesn't work well with the controls though. I may have to rethink how they are presented.

A way to orient the whole atom along the main dimensions may work though. I actually removed that from the code base as it came from MBL. I didn't want to have to deal with those direction issues again. I can do it a different way this time though. I don't have the same problems that I did with MBL.

I just added motion to the electrons and neutrons. They spin around the stack axis. This sets the ground work for the emission shaders. They'll be easy to add in now.
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Sat Jan 05, 2019 1:51 am

Multiplication


You can use multiplication groups to expand a given section, but you must be careful what you are multiplying. You can only use the multiplication mechanism within a particle chain or a nuclear chain. The multiplication group can not start in one and end in the other. It must be completely contained within either type of chain. However, the multiplication group may start in a nuclear chain and contain a complete particle chain, as long as it ends in the nuclear chain.

A multiplication group starts with a ( and ends with a ) followed by a positive integer.

Multiplication occurs at the token level. You are multiplying the exact characters that are inside of the group. Therefore, you must make sure that it contains the necessary linking operators : or -.

Multiplying with a Particle Chain


Let's take a standard proton stack containing 2 neutrons between 2 protons.

P:N2:P

If we wanted to use 3 of these to create a 6 proton stack, we could use a multiplication group like this:

(P:N2:P)3

If we wanted to add electrons to both poles, we just add them outside of the multiplication group:

E:(P:N2:P)3:E

Multiplying a Nuclear Chain


We can do the same things with a nuclear chain.

S4 <A (S4-)3>

S4 <A (P:N2:P-)2-S2>

Notice that we have to put a - inside of the multiplication group so that everything makes sense once it is expanded. You may have to do the same with the particle chains and the : operator, but they seem to be more resilient. The nuclear chains are not and require those linking tokens. Strictly speaking the link token after the multiplication group is not required, bit it doesn't hurt if used and makes it more readable.

We can actually nest a particle multiplication inside of a nuclear chain multiplication group.

S4 <A ((P:N2:P)2-)2-S2>
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Jared Magneson on Sat Jan 05, 2019 3:24 am

This is soooo awesome, Nevyn! Clean and simple, too. I'm diggin' it. It's amazing how rapidly you put things together once you get going! Well at least it is, from my perspective. I stumble along and hit roadblocks right and left in my software, and you guys just power around them by writing your own stuff. It's rather impressive, but even moreso because of the topic we're all working on. I feel like this is a LOT of progress!

Gonna play with it awhile and see how it goes! And yeah, you should definitely plop this onto your site once you get time and can compile the help. It's great.

Jared Magneson

Posts : 514
Join date : 2016-10-11

View user profile

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Sat Jan 05, 2019 9:03 am

Element Information


To show information about the currently generated atom, you can press the Information button

Atomic Modeling Language Aml-in11

which will present a dialog box containing various bits of info about the atom such as name, symbol, particle counts, etc.

Atomic Modeling Language Aml-in10
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Sat Jan 05, 2019 8:12 pm

Element Type


I have added a new field to the Element Information panel that attempts to guess what type of atom you have created. It sets it to Noble, Conductive or Magnetic. If it can't figure it out, it sets it to Unknown. This probably needs more work, but it seems to work well at the moment.

The type is determined by looking at the arrangement of protons and stacks. A conductive element has a difference in the axial hook stacks. A magnetic element has a balance, but must also have a carousel level. A noble element does not have hook stacks and must be balanced all round.
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Sun Jan 06, 2019 7:47 am

My suite of charge shaders have been added to AML, and I even created a new one that represents the output of a charge channel. Basically the opposite of the intake shader.

Charge moves in defined directions through the nucleus. The axial level is an input and the carousel is an output.

There is a new settings dialog that you can access with the options button (...). Some of these will be reconfigured soon, as they have changed a bit recently and some of them are redundant. They allow you to turn the charge shaders on/off.
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by LongtimeAirman on Sun Jan 06, 2019 7:59 pm

.
Atomic Modeling Language N1thru10
Single layer neutron configurations N1 thru N7.

Great progress. As if you don't already know, I'm here to help. I said a tutorial would be a good thing, knowing that that would require additional work, so I made these two images for convenient reference. Feel free to request any changes, additional images or taskings.

Atomic Modeling Language P1thru10
Proton stacks - each proton is a layer - P1 thru P7.
.

LongtimeAirman
Admin

Posts : 1240
Join date : 2014-08-10

View user profile

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Sun Jan 06, 2019 8:15 pm

And you just found a bug. They shouldn't go to 7. Only 1-6.
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by LongtimeAirman on Sun Jan 06, 2019 9:49 pm

.
Atomic Modeling Language N1thrn10
Correction. Single layer neutron configurations N1 thru N6.

Pardon my clumsiness, I was imagining a single chart with the entire AML defined; with pictures.
.

LongtimeAirman
Admin

Posts : 1240
Join date : 2014-08-10

View user profile

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Sun Jan 06, 2019 10:44 pm

I think it will need a few charts. The neutron groups is a good one. Simple stacks, like you have already done. Then the standard stacks, S1 - S6. Unfortunately you can't generate a single chain of stacks. You must specify a core stack for the atom and then you can put chains on to that. Some of my links above don't actually work because of that. I think at some point you could do it, but then once I started to deal with atoms, it disappeared. Maybe I could have some special character that tells the parser to treat it as a stack, rather than an atom. while you don't need it for actually building elements, it is quite helpful for these types of tutorials and charts. I guess you could generate them with the core, and then crop the core out in an image editor. That might work, but I didn't become a software developer to do things the hard way!

I would turn off all charge shaders for any images that are not specifically there to show charge. Keeps it cleaner and easier to understand.

Another good image would contain 2 2-proton stacks next to each other. The first one does not have neutrons (P:P) but the second one does (P:N2:P). This will show the size differences. I will probably have a section dedicated to building a stack, particle by particle.


Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by LongtimeAirman on Mon Jan 07, 2019 1:38 am

.
Atomic Modeling Language P1thru11
P1 thru P7 without through charge.

Atomic Modeling Language P2andp11
Showing the vertical size difference between ( P:P ) and ( P:N2:P ).

Simple stacks, like you have already done. Then the standard stacks, S1 - S6.
What's the difference between and what I've done - P1 thru P7 above - and "the standard stacks"?
.

LongtimeAirman
Admin

Posts : 1240
Join date : 2014-08-10

View user profile

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Nevyn on Mon Jan 07, 2019 3:45 am

So I finally got a chance to look into that stack size bug, and found that it is already correctly limiting the default stacks (S1 to S6), but it does not limit a declared stack (P:P) and I am not sure if it should. After all, it is what the user asked for. I might just leave it as-is. You can already build invalid structures in other ways. I don't think the language needs to impose all of the constraints of the theory, only provide the freedom to express that theory correctly.

A standard stack is declared with the S prefix, S1 to S6, and is built using as many P:N2:P blocks as possible. The stacks you have created do not have any neutrons in them, and that is good, I want them that way for the initial parts of the tute, but the next part wants those neutrons in there.

Remove P7 from the stack image. We only ever need 1 to 6 of any particle.
Nevyn
Nevyn
Admin

Posts : 1612
Join date : 2014-09-11

View user profile http://www.nevyns-lab.com

Back to top Go down

Atomic Modeling Language Empty Re: Atomic Modeling Language

Post by Sponsored content


Sponsored content


Back to top Go down

Page 1 of 3 1, 2, 3  Next

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum